標籤:

如何悄無聲息的對RDP和遠程會話進行劫持?

Alexander Korznikov演示在沒有登錄伺服器的情況下使用Sticky Keys和tscon訪問管理員RDP會話:

RDP會話連接的簡要背景

如果你之前使用過遠程桌面連接或者遠程終端服務,那麼你一定知道只有擁有賬戶密碼才能進行登錄。那麼,你知道不用密碼也可以進行登錄嗎?繼續往下看吧。

在你的任務管理器查看機器上面的用戶,然後嘗試用tsadmin.msc,或者在終端使用tscon.exe登錄。如果你不輸入密碼他會顯示錯誤。

嘗試無憑證劫持會話的技巧

下面就是這些技巧了。從2011年Benjamin Delpy和這周五Alexander Korznikov發布的文章中,我們了解到當你在SYSTEM許可權下使用tscon.exe的話,你可以不用使用密碼連接任意一台機器。他不會顯示任何提示,直接連接到用戶的桌面。我相信這是微軟實現會話的方式,並且這種方式已經工作好多年了。

現在,你也許會想:「如果我現在是系統許可權,我就可以做任何事情了」

對的,舉個例子,你可以讀取到伺服器內存,並且得到用戶的密碼。當然,這和使用tscon.exe登錄用戶界面相比這是一個漫長的過程。得到系統許可權不是關鍵,

關鍵的是如何將攻擊做的快而且動靜小。攻擊者感興趣的是利用這個技術可以幹什麼,而不是開一個沒有用的玩笑。所以,這是一個很棒的技術。

強大功能

1. 它可以登錄到離線的機器。如果機器是在3天之內註銷的,儘管它現在是離線狀態,我們也可以進行登錄。

2. 它可以解鎖會話。如果一個用戶暫時離開他的計算機並且對他的機器,你可以使用這個漏洞進行解鎖登錄。

3. 他同樣適用於終端。所以,你可以劫持RDP,同樣可以劫持終端。

4. 你可以連接任何一台機器,所以舉個例子,如果他是一個幫助台,你可以進行劫持登錄,不過如果它是一個域管,那同樣也可以進行登錄。因為可以登錄離線的機器,這就成為一個簡單到令人難以置信漫遊內網的方法。

5. 你可以通過很多種方法進行提權,比如使用win32k SYSTEM exploits。很明顯,任何進行提權的方法在這都可以使用的。

6. 這種攻擊方法沒有額外的工具。沒有在磁碟寫入任何東西,沒有繞過任何殺毒軟體。

7. 除非你知道正在攻擊你,否則你不會有任何察覺。

8. 這種攻擊方法可以遠程工作。即使您未登錄到該伺服器,也可以在遠程計算機上接管會話。

提權

如果你現在已經是administrator,你可以通過啟動一個新服務進行提權:

實質上它是很容易,只需使用quser命令獲取你想要劫持的會話ID和自己的SESSIONNAME。然後運行tscon進行會話ID劫持。你自己的會話將被替換為被劫持的會話。默認情況下,服務將作為SYSTEM運行。

如果你是在攻擊目標,最後一定要刪除服務。

這是在windows server 2012 R2做得一個實驗:

其他方法:

1. 可以使用計劃任務獲取SYSTEM並運行命令。只要設置立即執行計劃命令,並且作為具有交互特權的SYSTEM運行。

2. 使用任何可以使用的方法,比如粘滯鍵提權,有的時候甚至不用登錄。

3. 其他exp。

內網漫遊

大多數組織通過其內部網路允許遠程桌面,Windows管理工作的方式就是如此。此外,RemoteApp使用RDP。因此,這是一個很好的方式來漫遊內網,你可以作為其他用戶出現在組織日誌中,而不是自己。

為無憑證登錄設置後門

遠程桌面連接密碼爆破是一個很棘手的問題。任何人只要設置一個RDP登錄蜜罐,幾秒過後就會被發現,並且出現很多登錄失敗的記錄。只要他們發現埠開啟,接下來就是成千上萬的暴力破解。

更糟糕的是,當我開啟RDP蜜罐,當他們登錄之後,他們會使用下面的方法創建後門。

根據調查,在線超200個機器使用這些方法被設置後門。這就說明,你現在不需要任何信息就可以對他們進行會話劫持,甚至不需要嘗試進行登錄。

這很糟糕,考慮到shodan顯示有數百萬RDP設備在線,並且雲伺服器數量還在持續增加,我想,這一定會產生很大的問題.

設置後門方法1-粘滯鍵

這裡的概念很簡單 – Windows支持一個名為粘滯鍵的功能,它是一個內置於操作系統中的可訪問性功能,可以通過控制台或者遠程桌面上登錄。

如果你設置了Sethc.exe(粘滯鍵)去生成一個cmd.exe,那麼如果你登錄不進去這個系統你就可以使用這個後門來獲取系統許可權。你可以通過將sethc.exe替換為cmd.exe,這種方法需要重啟,並且需要進行交互。或者使用下面命令設置註冊表:

REG ADD "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe" /t REG_SZ /v Debugger /d 「C:windowssystem32cmd.exe」 /fn

哈哈~這台機器已經被我們種下了後門,只需要進行遠程登錄,在登錄界面敲擊幾下F5就可以進行登錄。

設置後門方法2-Utilman

這種方法實際上和上面方法一樣,只是後門換成了utilman.exe。在登錄頁面,按下windows+U鍵,你就可以得到一個SYSTEM許可權的終端。

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

發現存在後門的主機

一個很好的工具,只需要輸入 IP範圍,他就可以找到已經存在後門的主機,工具地址:

github.com/ztgrace/stic

通過在線掃描,發現大量的RDP主機已經被種植了後門。

mimikatz模塊

項目地址:

github.com/gentilkiwi/m

攻擊方法如圖:

防禦方法

1. 操作系統——使用Windows Server 2016。尤其是微軟在2016版本的伺服器上面對遠程桌面連接做的改進使這種攻擊很難成功。我猜想微軟已經通過發現之前的問題,知道了這一領域是非常容易被攻擊。

2. 組策略——我強烈建議您立即或在用戶斷開連接後儘快使用組策略註銷斷開連接的會話。這在IT領域並不是很流行,但是風險確實是存在的。在真實環境中攻擊者完全可以通過一個內置的命令劫持或多或少的主機。我同樣也會將閑置的用戶注釋掉。

3. 不要在外網暴露你的RDS/RDP服務——如果你現在正在這樣做,我強烈建議你實現多因素身份驗證。您可以使用Microsoft RD Gateway或Azure多重身份驗證伺服器等功能來獲得非常低成本的多因素身份驗證。如果你正在把RPD服務暴露在外網,並且發現有人創建了一個本地用戶,或者你的域用戶非常容易被猜到,那麼你的系統很快就會被攻擊下來。相信我,我曾經見過慘痛的這種案例。

取證

令人驚訝的是會話劫持很難被發現。有一個事件日誌(Microsoft——Windows終端服務——本地會話管理器/操作)記錄會話連接,但它似乎沒有區分正常用戶連接和正在使用的tscon.exe

,我已經通過查看每一個事件日誌,不能看到任何錶明正在受到攻擊。這實際上是一個主要問題,我建議微軟添加某種事件日誌記錄這種攻擊。

我建議您使用可以記錄這種攻擊的工具,就像:Microsoft OMS, Windows Event Forwarding, Splunk 等等。

舉個例子,服務創建和定時任務產生都需要被日誌記錄。並且,你還需要查找到Mimikatz的依賴程序。

FAQ

1.

Q:這不是一個新漏洞。

A:java和宏都不是新的,不過他們會被利用。飛在雷達下的飛機不代表是沒有用的。

2.

Q:如果你有了系統許可權,那麼你就能控制整個系統。

A:正確。你可以鍵入一個命令,並獲得用戶的解鎖的桌面,即使他們一周前去度假,並且攻擊沒有日誌記錄嗎?現在你可以。

本文參考來源於medium,如若轉載,請註明來源於嘶吼: 如何悄無聲息的對RDP和遠程會話進行劫持? 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

您是Docs.com用戶嗎?注意你的密碼可能已經泄露了
如何看待蘋果公開信:反對美國政府「給 iPhone 安裝後門」的命令?
C/S架構下密碼加密的作用?
華盟暨神州祥升安全聯盟峰會 圓滿閉幕!

TAG:信息安全 |