攻擊者眼中的遠程桌面

1。 介紹

沒有遠端存取系統的公司在幾個月前緊急部署了遠端存取系統。 並非所有管理員都為這種「熱度」做好了準備,這導致了安全漏洞:服務配置不正確,甚至安裝了具有先前發現的漏洞的過時版本的軟體。 對某些人來說,這些遺漏已經自食其果,有些人則更幸運,但每個人都應該得出結論。 對遠距工作的忠誠度呈指數級增長,越來越多的公司正在持續接受遠距工作作為可接受的形式。

因此,提供遠端存取的選項有很多:各種 VPN、RDS 和 VNC、TeamViewer 等。 根據建立企業網路和其中設備的具體情況,管理員有很多選擇。 VPN 解決方案仍然是最受歡迎的,但是,許多小公司選擇 RDS(遠端桌面服務),它們部署起來更簡單、更快。

在本文中,我們將更深入討論 RDS 安全性。 讓我們對已知漏洞進行簡要概述,並考慮對基於 Active Directory 的網路基礎設施發動攻擊的幾種場景。 我們希望我們的文章能幫助人們解決錯誤並提高安全性。

2.近期RDS/RDP漏洞

任何軟體都包含可能被攻擊者利用的錯誤和漏洞,RDS 也不例外。 Microsoft 最近經常報告新漏洞,因此我們決定對它們進行簡要概述:

此漏洞使連接到受感染伺服器的用戶面臨風險。 攻擊者可以獲得對使用者設備的控制權或在系統中獲得立足點以進行永久遠端存取。

這組漏洞允許未經身份驗證的攻擊者使用特製請求在執行 RDS 的伺服器上遠端執行任意程式碼。 它們也可用於建立蠕蟲病毒,即獨立感染網路上鄰近裝置的惡意軟體。 因此,這些漏洞可能會危害整個公司的網絡,只有及時更新才能挽救它們。

遠端存取軟體越來越受到研究人員和攻擊者的關注,因此我們可能很快就會聽到更多類似的漏洞。

好消息是,並非所有漏洞都可以公開利用。 壞消息是,對於具有專業知識的攻擊者來說,根據描述或使用補丁差異等技術編寫漏洞利用程式並不困難(我們的同事在 文章)。 因此,我們建議您定期更新軟體並監控已發現漏洞的新訊息的出現。

3. 攻擊

我們繼續本文的第二部分,我們將展示對基於 Active Directory 的網路基礎設施的攻擊是如何開始的。

所描述的方法適用於以下攻擊者模型:擁有使用者帳戶並有權存取遠端桌面網關 - 終端伺服器(通常可以從外部網路存取)的攻擊者。 透過使用這些方法,攻擊者將能夠繼續對基礎設施進行攻擊並鞏固其在網路上的存在。

每個特定情況下的網路配置可能有所不同,但所描述的技術是相當通用的。

離開受限環境和增加特權的範例

攻擊者在存取遠端桌面閘道時,可能會遇到某種受限環境。 當您連接到終端伺服器時,會在其上啟動應用程式:一個用於透過遠端桌面協定連接內部資源、資源管理器、辦公室軟體包或任何其他軟體的視窗。

攻擊者的目標是取得執行指令的權限,也就是啟動 cmd 或 powershell。 幾種經典的 Windows 沙箱逃逸技術可以幫助解決此問題。 讓我們進一步考慮它們。

選項1。 攻擊者可以存取遠端桌面閘道內的遠端桌面連線視窗:

攻擊者眼中的遠程桌面

“顯示選項”選單開啟。 顯示用於操作連線設定檔的選項:

攻擊者眼中的遠程桌面

在此視窗中,您可以透過點擊任何「開啟」或「儲存」按鈕輕鬆存取資源管理器:

攻擊者眼中的遠程桌面

資源管理器開啟。 它的“地址欄”可以啟動允許的可執行文件,並列出文件系統。 當系統磁碟機被隱藏且無法直接存取時,這對攻擊者來說非常有用:

攻擊者眼中的遠程桌面

示範影片

例如,當使用 Microsoft Office 套件中的 Excel 作為遠端軟體時,可以重現類似的場景。

示範影片

此外,不要忘記此辦公室套件中使用的巨集。 我們的同事在這方面研究了宏觀安全問題 文章.

選項2。 使用與先前版本相同的輸入,攻擊者在同一帳戶下啟動多個到遠端桌面的連線。 當您重新連線時,第一個將關閉,螢幕上將出現一個帶有錯誤通知的視窗。 該視窗中的說明按鈕將呼叫伺服器上的Internet Explorer,之後攻擊者就可以轉到Explorer。

示範影片

選項3。 如果配置了啟動可執行檔的限制,攻擊者可能會遇到群組原則禁止管理員執行cmd.exe的情況。

有一種方法可以解決此問題,即在遠端桌面上執行包含 cmd.exe /K <command> 等內容的 bat 檔案。 啟動cmd時出錯,執行bat檔案成功的範例如下圖所示。

攻擊者眼中的遠程桌面

選項4。 使用基於可執行檔名稱的黑名單來禁止啟動應用程式並不是萬能的;它們可以被規避。

考慮以下場景:我們停用了對命令列的訪問,並阻止使用群組原則啟動 Internet Explorer 和 PowerShell。 攻擊者試圖呼救,但沒有回應。 嘗試透過模式視窗的上下文選單啟動 powershell,按下 Shift 鍵呼叫 - 一則訊息表示管理員禁止啟動。 嘗試透過網址列啟動 powershell - 再次沒有回應。 如何繞過限制?

將C:WindowsSystem32WindowsPowerShellv1.0資料夾中的powershell.exe複製到使用者資料夾中,將名稱變更為powershell.exe以外的其他名稱即可,然後將出現啟動選項。

預設情況下,連接遠端桌面時,提供對客戶端本機磁碟的訪問,攻擊者可以從本機磁碟複製 powershell.exe 並重命名後運行。

示範影片

我們只提供了幾種繞過限制的方法;您可以想出更多方案,但它們都有一個共同點:存取 Windows 資源管理器。 有許多應用程式使用標準的 Windows 檔案操作工具,當放置在有限的環境中時,可以使用類似的技術。

4. 建議和結論

正如我們所看到的,即使在有限的環境中也存在著攻擊發展的空間。 但是,您可能會讓攻擊者的日子變得更加困難。 我們提供的一般性建議對於我們考慮的選項和其他情況都很有用。

  • 使用群組原則將程式啟動限制為黑/白名單。
    然而,在大多數情況下,仍然可以運行程式碼。 我們建議您熟悉該項目 洛巴斯,了解在系統上操作檔案和執行程式碼的未記錄方法。
    我們建議結合這兩種類型的限制:例如,您可以允許啟動 Microsoft 簽名的可執行文件,但限制 cmd.exe 的啟動。
  • 停用 Internet Explorer 設定標籤(可在登錄中本機完成)。
  • 透過 regedit 停用 Windows 內建幫助。
  • 如果這種限制對使用者來說並不重要,則會停用掛載本機磁碟以進行遠端連線的功能。
  • 限制對遠端電腦本機磁碟機的訪問,僅允許存取使用者資料夾。

我們希望您覺得本文至少很有趣,並且最多可以幫助您公司的遠距工作更加安全。

來源: www.habr.com

添加評論