Microsoft Office之DDE攻擊
Microsoft Office可以說是使用最廣泛的辦公軟體。然而就是因為這樣,也使它成為了黑客的主要攻擊目標之一,例如在網路安全對抗賽中紅隊會用它來竊取域哈希,甚至執行任意代碼。
從以往的攻擊手法上看,在Microsoft Office中執行任意代碼往往是通過宏來實現的。那麼,有沒有其它方法可以實現任意代碼執行呢?答案是肯定的。SensePost就發現了一種利用DDE(動態數據交換)協議,來執行任意代碼的方法。辦公產品內有許多可通過DDE接收代碼並執行的地方,本文我將為大家演示一些這類攻擊的常用手法。此外,關於本文的payload可以結合DDE Payloads作為參考。
Word
在Microsoft Word中,最簡單的方法是插入一個欄位代碼,如SensePost文中所述,並在formula中嵌入payload。
在括弧內添加以下payload內容,將會在下次打開文件時彈出一個對話框。如果用戶選擇「Yes」選項,則payload將被執行。
或者,我們也可以像Paul Ritchie在其博客中描述的那樣,使用宏將payload插入欄位代碼。
以上示例中的payload只是打開了計算器,但我們也可以將其修改為其它任意代碼(甚至惡意的)。
Mike Czumaky在他的博客中也為我們提供了一種很好的思路,從外部託管的另一個Word文檔載入惡意的DDE。 INCLUDE欄位代碼可被用來與該攻擊向量結合外部URL使用。
Excel
在Microsoft Excel DDE有效載荷可以通過formula的使用來利用。以下兩個formula將執行代碼(本例中為計算器),第二個formula將使警告消息框看上去更合理,以更好的欺騙用戶。
當用戶打開惡意Excel電子表格時,將出現以下對話框。
第二個formula仍將執行代碼,但對話框中的消息內容將被修改,此時我們可以看到不再是要求用戶啟動CMD.EXE,而是要求啟動MSEXCEL.exe。
Outlook
在Outlook中也有許多可執行DDE payload的地方。例如,你已經獲取到了域憑據,則可以更好的偽裝電子郵件發送給其他用戶,以獲取更多內部的shell。
Message
發送包含DDE的Outlook消息也可以自動執行代碼。這同樣適用於以附件形式發送的電子郵件。
但需要注意的是,因為某些電子郵件伺服器會將所有電子郵件轉換為HTML,為了避免我們的DDE payload失效,我們需要將電子郵件以RTF格式發送。
當用戶打開我們發送的郵件後,DDE payload將會被執行。
Contact
創建新的聯繫人或修改現有的聯繫人,並將DDE payload放入Notes區域可導致執行代碼。
聯繫人需要發送給目標用戶。
當用戶打開聯繫人時,將執行嵌入的DDE payload。
Calendar Invite
同樣,該方法也適用與calendar invitation功能。例如,發送一個添加了DDE paylaod的會議邀請,一旦目標用戶與其進行了交互(打開或取消),則DDE paylaod就將被執行。
※WordPress插件YITH WooCommerce Wishlist SQL注入漏洞
TAG:瘋貓網路 |