[轉]分析單字節XOR的Word巨集病毒文檔

不能掉的前言

當反彙編惡意軟件樣本時,其實我們就是在分析尋找攻擊者所疏忽的地方。這些我們可以從那些相同字符串、較弱的模糊處理例子、重複使用的代碼片段中去分析。有時我們在談論攻擊者時總會帶著一些主觀臆想,認為那些攻擊者就是超級惡棍,做壞事就跟家常便飯般習以為常。但是請記住他們也是人!

確認宏中payload

今天我們要分析的樣本也不例外,在我們複審分類控制台時遇到了一個有趣的釣魚郵件,其中包含了以下附件,在Yara規則中就有一些失誤了:

1

一會時間後,我們看到了大量包含宏的Word文檔,這種結合XOR exe觸發的確十分少見。這種類型的payload通常都是exploit和最新版本的安裝包結合。通過使用xorsearch證實這裡面確實存在一枚惡意payload。注意:XOR 00為數據本身。

XORSearch_V1_11_1

2

打開這個文件,確認裡面存在宏,這是一個好消息。

3

使用快捷鍵alt + f11嘗試並提取出宏代碼,竟然有密碼保護。

4

看來是時候祭出我們的宏密碼破解神器了:

5

最後獲得宏代碼:

6
分析

執行宏代碼,word文檔的一個副本會另存到%temp%/300.rtf和%temp$/301.rtf,我們的惡意payload會被保存到%temp%/q2.exe,接著執行。
觀察q2.exe,文件的編譯路徑為T:\mandatory\Hence\one\Date\effort.pdb。變相的說明了惡意軟件可以在T盤目錄下進行編譯,位於mandatory目錄,項目名稱為Hence。但是XORed payload在哪呢?
通過在關鍵的0×66(f)執行一個單字節XOR,我們知道這是能成功的,這時我們就可以看到可執行文件其他一些字符串和結構。

7

需要注意的是,攻擊者確實做了些蠢事導致很難運行,由於其缺少標準“MZ”。這是在解碼payload時添加的:

8

一直向下拉我們找到一些字符串,得知有些數據使用aPlib進行編碼:

9

第2階段,繼續滾動編碼過的數據,我們發現一個將會被調用的域名:

10

接下來再看看使用的user agent,不要把惡意軟件使用HTTP/1.0給忘記了。

11

他有能力收集大量的憑證,主要是FTP:

12
尾聲

結合一下分類規則可以用來進行檢測:

PM_Office_With_MacroPM_xor_This_program_* (在規則中已經超過500種)為了幫助更多的人,提供惡意軟件的C2以及user agents信息[ 點我 ]

*參考來源:Phishme,編譯/FB小編鳶尾,轉載請註明來自FreeBuf黑客與極客(FreeBuf.COM)