Dridex(銀行木馬)和Locky(勒索軟件)是兩個(gè)臭名昭著的惡意軟件家族。2016年,在世界范圍內(nèi)投放了大量的惡意郵件傳播惡意代碼,在短暫的銷聲匿跡之后重新回歸到大眾的視野。
本篇文章中介紹了的PDF下載器負(fù)責(zé)傳播Dridex(銀行木馬)和Locky(勒索軟件)兩類惡意軟件。但為了突出本篇文章的重點(diǎn)內(nèi)容,我們將結(jié)合實(shí)例,著重討論P(yáng)DF下載器和Dridex(銀行木馬)二進(jìn)制文件。
影響范圍
兩次攻擊活動(dòng)中想象范圍較大的一個(gè)(圖1),釣魚文檔中涉及“付款收據(jù)”主題相關(guān)的內(nèi)容,根據(jù)我們的推測(cè),此次攻擊活動(dòng)主要影響了美國(guó)的保險(xiǎn)行業(yè)。

圖1:全球影響范圍
兩次攻擊活動(dòng)中影響范圍較小的一個(gè)(圖2),附件的主要內(nèi)容多是打印機(jī)對(duì)掃描文檔的警報(bào)。此次攻擊活動(dòng)主要針對(duì)的目標(biāo)是中東,美國(guó)和日本的政府部門。

圖2:全球影響范圍
惡意代碼的執(zhí)行流程
如圖3所示,惡意代碼的執(zhí)行流程主要包括以下幾個(gè)步驟:
1.投放惡意郵件:郵件中包含惡意PDF文檔
2.附件中的PDF文檔:打開PDF文檔后釋放并執(zhí)行DOCM文檔
3.釋放的DOCM文檔:文檔通過宏命令執(zhí)行PowerShell腳本
4.PowerShell腳本:執(zhí)行PowerShell腳本從遠(yuǎn)程的CC服務(wù)器上下載一個(gè)加密的二進(jìn)制文件
5.加密的二進(jìn)制文件:加密該二進(jìn)制文件,釋放并執(zhí)行惡意payload

圖3:惡意代碼完整的執(zhí)行流程
惡意郵件
經(jīng)過我們的分析發(fā)現(xiàn)兩次攻擊活動(dòng)中惡意郵件的附件內(nèi)容主要為兩種主題,一個(gè)文件名Payment_XXX,其中XXX指的是任何隨機(jī)數(shù),而另一個(gè)寫的是來自MX-2600N的掃描圖像。 圖4列出了兩個(gè)惡意郵件的示例。

圖4:惡意郵件示例圖
附件中的PDF文檔
攻擊者向被攻擊者們批量投放含有PDF惡意文檔的郵件,PDF文檔中包含了幾個(gè)對(duì)象。最重要的幾個(gè)對(duì)象,一個(gè)是嵌入的DOCM文檔(啟用宏命令的doc文檔),一個(gè)釋放并啟動(dòng)DOCM文檔的JavaScript對(duì)象。圖5展示了嵌入的DOCM文檔,圖6展示了釋放DOCM文檔的JavaScript代碼片段。

圖5:DOCM文檔文件頭

圖6:釋放并執(zhí)行DOCM文件的JavaScript代碼段
當(dāng)被攻擊者打開了PDF文檔,Adobe Reader顯示了一個(gè)如圖7所示的警告,清楚的說明文檔可能是有害的。

圖7:Adobe的安全警告
如果用戶忽略了警告,并且點(diǎn)擊了“OK”按鈕,DOCM文檔將會(huì)被寫入%temp%目錄下,并啟動(dòng)。
釋放的DOCM文檔
文檔已只讀或受保護(hù)的模式打開,意味著文檔中的宏命令不能被執(zhí)行。取消這種機(jī)制的保護(hù),文檔會(huì)顯示一個(gè)提示消息,提醒用戶點(diǎn)擊“Enable Editing(啟用編輯)”,如圖8所示。

圖8:受保護(hù)的文檔請(qǐng)求啟用編輯權(quán)限
當(dāng)被攻擊者點(diǎn)擊“Enable Editing(啟用編輯)”按鈕,嵌入在文檔中的宏命令將開始執(zhí)行。如圖9所示,我們可以看到要執(zhí)行的命令隱藏在form1的標(biāo)題中。宏命令的功能是執(zhí)行一個(gè)PowerShell指令,向遠(yuǎn)端的CC服務(wù)器發(fā)起請(qǐng)求,下載下一個(gè)payload。

圖9:嵌入在文檔中的宏命令
圖10展示了隱藏在form中的命令

圖10:隱藏在form中的命令
PowerShell腳本
PowerShell代碼是經(jīng)過混淆的,其可以使用圖11所示的算法將代碼還原。當(dāng)代碼執(zhí)行后,腳本的主要功能是請(qǐng)求遠(yuǎn)端的服務(wù)器下載payload。該腳本中包含了一個(gè)URI數(shù)組,循環(huán)請(qǐng)求每一個(gè)URI,直到CC服務(wù)器返回來一個(gè)有效的響應(yīng)包。

圖11:還原混淆的Powershell腳本的算法
分析還原后的PowerShell腳本,其主要有兩個(gè)功能:
1.與CC服務(wù)器進(jìn)行通信:在這一環(huán)節(jié)中,PowerShell腳本生成一組CC服務(wù)器域名,通過HTTP發(fā)起請(qǐng)求,檢查服務(wù)端響應(yīng)的內(nèi)容,如果遠(yuǎn)端的服務(wù)器沒有正確響應(yīng)[200],它將請(qǐng)求另一組主機(jī)。
|