利用PowerShell Empire实现Word文档DDE攻击控制(简单没啥用)
近期,有安全人員發現了一種DynamicData Exchange (DDE)協議繞過MSWord和MSExcel宏限制,不需使用MSWord和MSExcel漏洞,就能實現在Office文檔中執行惡意命令目的。在這篇文章中,我將展示如何利用基于Empire的PowerShell來對Word文檔進行“偽裝”攻擊,可能還有其它實現方法,我僅作個拋磚引玉。
創建Empire Listener
創建一個Empire Listener監聽線程,可點此查看Empire的使用說明。
當監聽線程啟動運行之后,運行以下命令,生成將要在目標受害機器上執行的PowerShell代碼:
launcher powershell C2
復制powershell -noP -sta -w 1 -enc之后的轉碼腳本并另存為一個文件,然后把它部署于某個攻擊需要用到的Web服務器中,用于受害主機稍后的請求下載。該Web服務器可以是Apache之類的,但在這里,我用Python SimpleHTTPServer模塊來快速啟動一個Web服務,它會自動托管你啟動命令目錄內的文件,當然最好可以創建一個文件目錄,然后通過終端cd到其中進行文件生成(我這里是evil)和啟動Web服務。(Python的Web服務默認監聽端口為8000)
python -m SimpleHTTPServer
改裝Word文檔
創建一個可以利用DDE攻擊的Word文檔:生成一個Word文檔,點擊空白區域,點擊插入標簽,點擊文檔部件(Quick Parts),然后點擊域(Field):
然后在下面這選擇= (Formula),點擊OK:
在生成的內容上面,右鍵點擊切換域代碼(Toggle Field Codes):
之后,在其中插入以下DDEAUTO代碼,但務必監聽端的IP和端口正確:
現在就可以保存該文檔,準備把它發送給目標受害者了。
攻擊測試
一旦受害者點擊打開該文檔,會跳出幾個錯誤,可以配合社工技巧來迷惑用戶來點擊Yes。可以修改這些錯誤消息更直觀好看一點,例如有一些測試人員就把它修改為'Symantec Document Encryption'。
一旦受害者把所有錯誤消息都點擊了Yes之后,在我們的監聽端就會反彈回一個Empire的控制連接,對受害者系統形成遠程控制:
?
Excel
在Microsoft Excel DDE有效載荷可以通過formula的使用來利用。以下兩個formula將執行代碼(本例中為計算器),第二個formula將使警告消息框看上去更合理,以更好的欺騙用戶。
=cmd|'/c calc.exe'!A1 =MSEXCEL|'\..\..\..\Windows\System32\cmd.exe /c calc.exe'!''當用戶打開惡意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就將被執行。
?
?
?
?
?
總結
以上是生活随笔為你收集整理的利用PowerShell Empire实现Word文档DDE攻击控制(简单没啥用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 处理缓存击穿
- 下一篇: Python 读写CSV文件