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