在本文中,我將深入研究一個更複雜的鎖定係統的多階段無檔案攻擊場景。 但後來我遇到了一種極其簡單的無程式碼攻擊——不需要 Word 或 Excel 巨集! 這更有效地證明了我在這一系列文章中最初的假設:打破任何組織的外圍根本不是一項艱鉅的任務。
我將描述的第一個攻擊利用了 Microsoft Word 漏洞,該漏洞基於 過時的 動態資料交換協議 (DDE)。 她已經是 固定的。 第二個漏洞利用了 Microsoft COM 和物件傳輸功能中更常見的漏洞。
即使您確實安裝了此補丁,MS Office 中還存在其他安全漏洞,允許駭客執行與我們對 Word 所做的非常相似的操作。 在下一個場景中我們將學習 使用 Excel 作為網路釣魚攻擊的誘餌,無需編寫任何程式碼。
為了理解這種情況,讓我們記住 Microsoft 元件物件模型,或簡稱 COM(組件物件模型).
COM 自 1990 世紀 XNUMX 年代以來就已出現,被定義為基於 RPC 遠端過程調用的「語言中立、物件導向的元件模型」。 要大致了解 COM 術語,請閱讀 這個帖子 在 StackOverflow 上。
基本上,您可以將 COM 應用程式視為 Excel 或 Word 可執行文件,或其他正在執行的二進位檔案。
事實證明,COM應用程式也可以運行 設想 — JavaScript 或 VBScript。 從技術上講,它被稱為 小腳本。 您可能已經在 Windows 中看到過檔案的 .sct 副檔名 - 這是 scriptlet 的官方副檔名。 本質上,它們是封裝在 XML 包裝器中的腳本程式碼:
<?XML version="1.0"?>
<scriptlet>
<registration
description="test"
progid="test"
version="1.00"
classid="{BBBB4444-0000-0000-0000-0000FAADACDC}"
remotable="true">
</registration>
<script language="JScript">
<![CDATA[
var r = new ActiveXObject("WScript.Shell").Run("cmd /k powershell -c Write-Host You have been scripted!");
]]>
</script>
</scriptlet>
駭客和滲透測試人員發現 Windows 中有單獨的實用程式和應用程式接受 COM 對象,因此也接受 scriptlet。
我可以將 scriptlet 傳遞給用 VBS 編寫的 Windows 實用程式(稱為 pubprn)。 它位於C:Windowssystem32Printing_Admin_Scripts的深處。 順便說一下,還有其他 Windows 實用程式接受物件作為參數。 我們先來看這個例子。