明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬

[摘要]最近我收到一封釣魚郵件,郵件中附帶著一個(gè).doc的附件。我們利用再平常不過的工具Notepad++,一步一步脫去ZeuS木馬的偽裝外衣,并進(jìn)行了非常深入的靜態(tài)分析。該木馬的偽裝用到了多項(xiàng)關(guān)鍵技術(shù),例如信息隱藏、加密解密等。0×01 發(fā)現(xiàn)貓膩?zhàn)罱矣龅搅艘粋(gè)很特別的惡意釣魚郵件,...

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬1

最近我收到一封釣魚郵件,郵件中附帶著一個(gè).doc的附件。我們利用再平常不過的工具Notepad++,一步一步脫去ZeuS木馬的偽裝外衣,并進(jìn)行了非常深入的靜態(tài)分析。該木馬的偽裝用到了多項(xiàng)關(guān)鍵技術(shù),例如信息隱藏、加密解密等。

0×01 發(fā)現(xiàn)貓膩

最近我遇到了一個(gè)很特別的惡意釣魚郵件,郵件中有一個(gè).doc附件。

起初,當(dāng)我在虛擬機(jī)中運(yùn)行該樣本時(shí),攻擊者發(fā)送的附件看起來并不正確。但是,在我提取并解碼此shellcode之后,我發(fā)現(xiàn)了一個(gè)很熟悉的已經(jīng)傳播一段時(shí)間的惡意軟件

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬2

圖1 釣魚郵件

在圖2中的郵件頭部,我們可以看到原始IP地址為212.154.192.150。應(yīng)答字段也很有趣,因?yàn)檫@是一個(gè)長期的419詐騙團(tuán)伙的地址。在圖3中,紅圈中的郵件地址告訴我們附件極有可能是惡意軟件。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬3

圖2 郵件頭部

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬4

圖3  419詐騙團(tuán)伙的郵件地址

0×02 初步測(cè)試

最開始,我嘗試在虛擬機(jī)中運(yùn)行該附件,但是卻出現(xiàn)了下圖中的錯(cuò)誤信息:

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬5

圖4 Office錯(cuò)誤信息

但是,測(cè)試環(huán)境系統(tǒng)有超過45G的可利用硬盤空間,并且有2G的內(nèi)存空間,所以錯(cuò)誤中提示的空間不足應(yīng)該不是問題的根源。為了測(cè)試,我將內(nèi)存空間擴(kuò)展成8G,但是相同的問題依然存在。于是,我決定從靜態(tài)分析的角度看一下該附件。

像往常一樣,我用Notepad++打開該文件來大致分析下這到底是什么。打開之后,我看到它實(shí)際上是一個(gè)偽裝成.doc文件的.rtf文件,而在.rtf格式的文件中進(jìn)行內(nèi)容的混淆處理非常容易。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬6

圖5 Notepad++打開的RTF文件

在.rtf文件中,表示十六進(jìn)制代碼的大量數(shù)據(jù)將可能為我們提供線索,讓我們明白該文件到底在試圖做什么。.rtf文件格式給攻擊者提供了很大的自由,讓其在這部分中隱藏并編碼數(shù)據(jù),如圖6所示。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬7

圖6 可疑數(shù)據(jù)

然而,在這部分的末尾,我們看到了“FF D9”,而gif文件的末尾兩個(gè)字節(jié)就是“FF D9”。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬8

圖7  gif文件的結(jié)尾字節(jié)

0×03 抽絲剝繭

我比較喜歡使用Notepad++來解碼這種數(shù)據(jù)。首先,將該區(qū)域的內(nèi)容復(fù)制并粘貼到一個(gè)新的txt文檔中,然后CTRL+F打開查找窗口,并選擇“替換”選項(xiàng)卡,然后選中“擴(kuò)展”按鈕,如圖8中所示。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬9

圖8 Notepad++查找/替換

通過這樣,你將得到一行ASCII碼形式的十六進(jìn)制數(shù)。然后,選中所有內(nèi)容,并依次操作:“插件”->“Converter”-> “Hex -> Ascii”,如圖9所示。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬10

圖9 解碼數(shù)據(jù)

轉(zhuǎn)換完成之后,你將會(huì)看到一些好像圖像數(shù)據(jù)的字符串(JFIF和Photoshop字符串,如圖10)。通過將這些內(nèi)容另存為.gif文件,你將能夠在Paint軟件或其他類似軟件中打開此圖片,結(jié)果如圖11所示。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬11

圖10 解碼后的圖像數(shù)據(jù)

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬12

圖11 .rtf文件中的圖像

然后,沿著這條線索,我們繼續(xù)手動(dòng)解碼每個(gè)部分,我們將得到比上一個(gè)更大的新圖片,而兩張圖片顯示的內(nèi)容相同,都是同一座房子。然而,這次的文件大小為3M(圖12),而上一張圖片大小只有79KB(圖11)。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬13

圖12 較大的圖片

通過谷歌圖片搜索這個(gè)圖片,我們發(fā)現(xiàn),這實(shí)際上是一個(gè)設(shè)計(jì)的3D房子的外觀,它跟上面原始郵件中的內(nèi)容并不相關(guān)。

使它看起來更可疑的是,里面竟然還嵌入了一個(gè).docx文件(圖13)。當(dāng)我試著打開該文件時(shí),彈出了錯(cuò)誤,而且XML文件中也并沒什么有趣的內(nèi)容。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬14

圖13 嵌入的.docx文件

在該文件中的大概第50000行的地方,我們可以看到97-2004office文檔的魔幻字節(jié)(圖14)。這再一次引發(fā)我們思考,為什么該.rtf文件中同時(shí)包含了新版本和舊版本格式的Word呢?

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬15

圖14 .doc魔幻字節(jié)的ASCII碼表示

在幾千行之后,我們看到了一些更加有趣的東西。駝峰式大小寫的方式一般是一種用于繞過殺毒軟件或其他簽名檢測(cè)機(jī)制的做法。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬16

圖15 大小寫替換

大概2000行之后,我們發(fā)現(xiàn)了另一個(gè)函數(shù)(圖16)。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬17

圖16 另一個(gè)函數(shù)

通過去除雙換行符( r r 和 n n),我們可以壓縮這些代碼以了解發(fā)生了什么,并以此方法來查看通常情況下在.rtf文件中不會(huì)被發(fā)現(xiàn)的代碼。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬18

圖17 .rtf文件中本不該存在的代碼

在圖18紅線圈中部分,有一些在.rtf文件中本不該存在的十六進(jìn)制代碼。在更下面有點(diǎn)(藍(lán)線圈中部分),我們也可以看到“AAAA”,這在匯編語言中一般表示指令“inc ecx”。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬19

圖18 .rtf文件中的可疑部分

然而,在圖19中,我們發(fā)現(xiàn)一個(gè)小片段指示shellcode的大小。通過解碼這一片段,我們可以在最后面找到一個(gè)對(duì)可執(zhí)行文件的引用,而這也是我們一直在尋找的東西(圖 20)。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬20

圖19 看似shellcode的內(nèi)容

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬21

圖20 shellcode,惡意URL:http://aspks.nl/components/kom/ks.exe

0×04 IDA分析

用IDA打開這個(gè)二進(jìn)制文件之后,我們可以看到實(shí)際上這只是代碼的一個(gè)片段。下圖中的匯編指令跟我們猜想的很吻合,這些shellcode和其他代碼與一個(gè)比較老但是很穩(wěn)定的漏洞CVE-2012-0158關(guān)系密切相關(guān)。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬22

圖21 shellcode入口點(diǎn)附近

既然現(xiàn)在我們已經(jīng)有了鏈接地址,那么我們可以測(cè)試下看看該惡意鏈接是否有效,結(jié)果顯示該地址仍舊有效(圖22)。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬23

圖22 惡意文件下載

一旦執(zhí)行該文件,將會(huì)在注冊(cè)表中創(chuàng)建一個(gè)作為運(yùn)行鍵的存儲(chǔ)文件。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬24

圖23 惡意軟件存儲(chǔ)安裝

惡意軟件安裝到了以下路徑:C:Users<username>AppDataRoamingRitese quapq.exe。從取證的角度來看,在該目錄或Roaming目錄中搜索exe文件將是無意義的,因?yàn)橐话銗阂廛浖粫?huì)安裝在這些目錄下。

0×05 通信分析

對(duì)于惡意軟件的服務(wù)器端來說,該惡意軟件發(fā)起了很多對(duì)“file.php”和“gate.php”文件的請(qǐng)求(圖24)。從圖中可以看出,IP地址116.193.77.118也列在了ZeuS木馬的追蹤表單上(圖25)。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬25

圖24 發(fā)出的HTTP請(qǐng)求

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬26

圖25 ZeuS追蹤IP地址

此外,通過Dump內(nèi)存,我們還能看到其他的Ladycoll配置。

一層一層剝開你的心:解碼“深度偽裝”的ZeuS網(wǎng)銀木馬27

圖26 惡意軟件的內(nèi)存dump

0×06 總結(jié)

最后,盡管CVE-2012-0158已經(jīng)有3年了,但攻擊者現(xiàn)在仍舊使用此漏洞。即使他們混淆了這些文檔,但還是有可能通過分析找到他們的真實(shí)意圖。

注:惡意文件哈希哈希1   哈希2

[參考來源phishme,轉(zhuǎn)載請(qǐng)注明來自FreeBuf黑客與極客]


上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識(shí),學(xué)習(xí)了安全知識(shí),幾乎可以讓你免費(fèi)電腦中毒的煩擾。