內(nèi)網(wǎng)滲透,利用 RDP 協(xié)議搭建 Socks5 代理隧道
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
前言如今,在很多組織機(jī)構(gòu)內(nèi)部,針對(duì) DMZ 或隔離網(wǎng)絡(luò)區(qū)域內(nèi)的計(jì)算機(jī)設(shè)備,為了限制其它接入端口風(fēng)險(xiǎn),通常只允許這些設(shè)備開啟 3389 端口,使用遠(yuǎn)程桌面來進(jìn)行管理維護(hù)。那么我們能不能利用這個(gè) 3389 端口的 RDP 服務(wù)建立起一條通向內(nèi)網(wǎng)的代理隧道呢?當(dāng)然可以,下面就引出我們今天的主角 —— SocksOverRDP。 SocksOverRDP?項(xiàng)目地址:https://github.com/nccgroup/SocksOverRDP SocksOverRDP 可以將 SOCKS 代理的功能添加到遠(yuǎn)程桌面服務(wù),它使用動(dòng)態(tài)虛擬通道,使我們能夠通過開放的 RDP 連接進(jìn)行通信,而無需在防火墻上打開新的套接字、連接或端口。此工具在 RDP 協(xié)議的基礎(chǔ)上實(shí)現(xiàn)了 SOCKS 代理功能,就像 SSH 的 該工具可以分為兩個(gè)部分: ![]() ?第一部分是一個(gè) 以下是該工具的運(yùn)作原理:
大致原理是,當(dāng) SocksOverRDP-Plugin.dll 在 RDP 客戶端上被正確注冊(cè)后,每次啟動(dòng)遠(yuǎn)程桌面時(shí)都會(huì)由 mstsc 加載。接著,當(dāng) SocksOverRDP-Server.exe 被上傳到 RDP 服務(wù)端上傳并執(zhí)行后 ,SocksOverRDP-Server.exe 會(huì)在動(dòng)態(tài)虛擬通道上回連 SocksOverRDP-Plugin.dll,這是遠(yuǎn)程桌面協(xié)議的一個(gè)功能。虛擬通道設(shè)置完成后,SOCKS 代理將在 RDP 客戶端計(jì)算機(jī)上啟動(dòng),默認(rèn)為 127.0.0.1:1080。此服務(wù)可用作任何瀏覽器或工具的 SOCKS5 代理。并且服務(wù)器上的程序不需要服務(wù)器端的任何特殊特權(quán),還允許低特權(quán)用戶打開虛擬通道并通過連接進(jìn)行代理。 通過 SocksOverRDP 搭建 SOCKS5 代理測(cè)試環(huán)境如下: ![]() 右側(cè)為一個(gè)內(nèi)網(wǎng)環(huán)境,其中 Windows Server 2012 是一個(gè) Web 服務(wù)器,有兩個(gè)網(wǎng)卡,分別連通內(nèi)外網(wǎng)。假設(shè)此時(shí)攻擊者已經(jīng)通過滲透手段拿下了這臺(tái) Web 服務(wù)器,需要設(shè)置代理進(jìn)入內(nèi)網(wǎng)繼續(xù)對(duì)內(nèi)網(wǎng)進(jìn)行橫向滲透。但是由于防火墻的規(guī)則等原因,只允許 TCP/UDP 3389 端口可以進(jìn)行通信,所以我們只能嘗試?yán)糜?RDP 協(xié)議來建立通訊隧道。 攻擊端在攻擊機(jī)上需要安裝注冊(cè) SocksOverRDP-Plugin.dll。首先我們將 SocksOverRDP-Plugin.dll 放置到攻擊機(jī)的任何目錄中,但是為了方便我們可以將其放置到 然后使用以下命令對(duì) SocksOverRDP-Plugin.dll 進(jìn)行安裝注冊(cè):
![]() 如上圖所示,注冊(cè)成功。但是由于 SocksOverRDP 建立的 SOCKS5 代理是默認(rèn)監(jiān)聽在 127.0.0.1:1080 上的,所以只能從攻擊機(jī)本地使用,為了讓攻擊者的 Kali 也能使用搭建在攻擊機(jī) Windows 10 上的 SOCKS5 代理,我們需要修改其注冊(cè)表,將 IP 從 127.0.0.1 改為 0.0.0.0。注冊(cè)表的位置為:
![]() 然后啟動(dòng)遠(yuǎn)程桌面客戶端 mstsc.exe 連接目標(biāo) Web 服務(wù)器 Windows Server 2012: ![]() 如上圖所示,彈出了一個(gè)提示說 SocksOverRDP 成功啟動(dòng),當(dāng)服務(wù)端的可執(zhí)行文件運(yùn)行后即可在攻擊機(jī)的 1080 端口上啟動(dòng) SOCKS5 代理服務(wù)。 服務(wù)端遠(yuǎn)程桌面連接成功后,將服務(wù)端組件 SocksOverRDP-Server.exe 上傳到 Windows Server 2012 上: ![]() 直接運(yùn)行 SocksOverRDP-Server.exe 即可: ![]() 此時(shí)便成功搭建了一個(gè) SOCKS5 代理隧道,查看攻擊機(jī) Windows 10 的端口連接狀態(tài)發(fā)現(xiàn)已經(jīng)建立連接: ![]() 然后在攻擊機(jī) Kali 上配置好 proxychains: ![]() 此時(shí)便可以通過代理訪問到內(nèi)網(wǎng)的主機(jī) DC 了。如下所示,成功打開了 DC 的遠(yuǎn)程桌面:
![]() 探測(cè)內(nèi)網(wǎng)主機(jī) DC 的端口開放情況:
![]() 先該主機(jī)開啟了 445 端口,我們可以直接用 smbexec.py 連接:
![]() 如上圖所示,成功拿下內(nèi)網(wǎng)主機(jī) DC。 文中若有不當(dāng)之處,還請(qǐng)各位大佬師傅們多多點(diǎn)評(píng)。
閱讀原文:原文鏈接 該文章在 2025/7/14 18:49:07 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |