標籤:

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

0x00 前言

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

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

註:

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

medium.com/@networksecu

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代碼可參考:

gallery.technet.microsoft.com

受限的原因:

登錄界面下,雖然是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實現未授權登錄遠程桌面的方法,站在攻擊者的角度,分析利用思路,最後站在防禦的角度,結合攻擊方法,給出防禦建議。

本文為 3gstudent 原創稿件, 授權嘶吼獨家發布,如若轉載,請聯繫嘶吼編輯: 4hou.com/penetration/10 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

越過CPS,再看IoT安全
商業銀行使用外資廠商生產的伺服器是否能危及到金融安全?
實用密碼學工具——KDF
如何看待「邊防護邊敲詐,網安專家變黑客」事件?違法所得66個比特幣,判3年,罰5000,判決是否合理?
內含POC | 又一個漏洞可以遠程控制你的電腦!

TAG:信息安全 |