當前位置:
首頁 > 新聞 > 滲透技巧——利用tscon實現未授權登錄遠程桌面

滲透技巧——利用tscon實現未授權登錄遠程桌面

0x00 前言

Windows系統下,tscon可被用來切換遠程桌面的會話。正常情況下,切換會話時需要提供登錄密碼,但通過特殊的利用方法能夠繞過驗證,不輸入密碼實現未授權登錄。

這會造成什麼影響呢?這個方法能用在哪種條件下呢?結合利用方法又該如何防禦呢?本文將要一一介紹

註:

本文使用tscon未授權登錄的思路借鑒於如下鏈接:

https://medium.com/@networksecurity/rdp-hijacking-how-to-hijack-rds-and-remoteapp-sessions-transparently-to-move-through-an-da2a1e73a5f6

0x01 簡介

本文將要介紹以下內容:

·tscon的正常用法

·利用tscon實現未授權登錄遠程桌面的方法

·應用實例

·防禦建議

0x02 tscon的正常用法

對於開啟遠程桌面服務的Windows系統,當有多個用戶登錄該系統時,會產生多個會話,如下圖

測試系統: Server2012 R2

用戶Administrator為本地登錄

用戶b為通過遠程桌面服務(RDP)連接3389埠遠程登錄

接下來,如果用戶Administrator想要切換至用戶b的遠程桌面,可通過右鍵-Connect進行連接,接著輸入密碼即可

如下圖

tscon是命令行下使用的工具,可實現相同的功能

首先獲取用戶對應的sessionid,執行如下命令:

query user

輸出如下圖

用戶b對應的sessionid為2

通過tscon切換至用戶b的桌面,命令如下:

tscon 2 /PASSWORD:test123!

0x03 利用tscon實現未授權登錄遠程桌面的方法

在System許可權執行同樣的命令,就能夠繞過輸入密碼的過程,直接切換

從Admin許可權切換到System許可權的方法在之前的文章《滲透技巧——從Admin許可權切換到System許可權》有過詳細介紹,常用方法有如下三種:

·通過創建服務獲得System許可權

·利用MSIExec獲得System許可權

·利用token複製獲得System許可權

選取其中的一種,獲得system許可權,接著輸入如下命令:

tscon 2

成功登錄

0x04 應用實例一

對於Server2012 R2系統,默認情況下,通過mimikatz無法導出明文口令,測試環境下,通過某些方法獲得了伺服器的一個用戶名密碼,可以通過遠程桌面進行登錄

登錄後發現後台存在另一用戶

由於未導出明文口令,通過常規方法無法切換至另一用戶的桌面

這裡就可以藉助上文提到的方法,先提權至System許可權,再切換過去

特別的地方:

當用戶通過遠程桌面登錄後,直接點擊關閉斷開連接,如下圖

此時該會話並沒有結束,後台顯示Disconnected,如下圖

此時,仍能在system許可權下通過tscon實現未授權連接

0x05 應用實例二

利用輔助工具管理器後門(放大鏡後門原理相同,進程為sethc.exe)繞過系統登錄界面

進程: utilman.exe

登錄界面可通過點擊圖標對其調用,如下圖

調用輔助工具管理器的快捷鍵: Win+U

通過註冊表劫持實現後門,修改註冊表的命令如下:

REG ADD "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionsutilman.exe" /t REG_SZ /v Debugger /d "C:windowssystem32cmd.exe" /f

在登錄界面啟動輔助工具管理器,彈出cmd.exe,許可權為system,如下圖

通過tscon可直接切換至目標用戶的桌面

補充:

在登錄界面狀態下,降權方法受限,SelectMyParent和Invoke-TokenManipulation.ps1均報錯

使用incognito能夠成功降權,但是操作仍受限,如下圖

註:

SelectMyParent、Invoke-TokenManipulation.ps1和incognito的使用說明可參考文章《滲透技巧-Token竊取與利用》

無法對目標用戶桌面進行截屏,截屏的powershell代碼可參考:

https://gallery.technet.microsoft.com/scriptcenter/eeff544a-f690-4f6b-a586-11eea6fc5eb8

受限的原因:

登錄界面下,雖然是system許可權,但是此時的進程均是winlogon的子進程

如下圖

繞過思路:

利用WMI做中轉,通過WMI啟動進程,默認父進程為svchost.exe->WmiPrvSE.exe

命令如下:

wmic process call create commandline = "powershell -ep bypass -f c: estsystem4.ps1"

system4.ps1的內容來自於Invoke-TokenManipulation.ps1,以用戶win-eq8jfsr081d的許可權執行腳本,具體參數為:

Invoke-TokenManipulation -CreateProcess "c: est ask.bat" -Username "in-eq8jfsr081d"

task.bat的功能為輸出環境變數到task.txt中,具體參數為:

set >>c: est ask.txt

執行如下圖

查看task.txt的內容,判斷環境變數,成功降權,如下圖

通過這種方式,可以分別降權至High和Medium許可權,如下圖

0x06 防禦建議

建議用戶使用註銷用戶的方式斷開遠程桌面,註銷後,無法通過tscon獲得桌面會話

監控系統用戶的登錄日誌,攻擊者需要先遠程登錄系統後才能做進一步利用:未授權切換桌面會話

對於Windows系統,雖然新版本(包括server 2012等)無法在遠程登錄界面中調用放大鏡和輔助工具管理器,但需要注意攻擊者如果獲得了系統的物理訪問許可權,能夠利用放大鏡和輔助工具管理器後門實現未授權登錄

0x07 小結

本文介紹了利用tscon實現未授權登錄遠程桌面的方法,站在攻擊者的角度,分析利用思路,最後站在防禦的角度,結合攻擊方法,給出防禦建議。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

TAG:嘶吼RoarTalk |