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

圖1:全球影響范圍
兩次攻擊活動中影響范圍較小的一個(圖2),附件的主要內容多是打印機對掃描文檔的警報。此次攻擊活動主要針對的目標是中東,美國和日本的政府部門。

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

圖3:惡意代碼完整的執行流程
惡意郵件
經過我們的分析發現兩次攻擊活動中惡意郵件的附件內容主要為兩種主題,一個文件名Payment_XXX,其中XXX指的是任何隨機數,而另一個寫的是來自MX-2600N的掃描圖像。 圖4列出了兩個惡意郵件的示例。

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

圖5:DOCM文檔文件頭

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

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

圖8:受保護的文檔請求啟用編輯權限
當被攻擊者點擊“Enable Editing(啟用編輯)”按鈕,嵌入在文檔中的宏命令將開始執行。如圖9所示,我們可以看到要執行的命令隱藏在form1的標題中。宏命令的功能是執行一個PowerShell指令,向遠端的CC服務器發起請求,下載下一個payload。

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

圖10:隱藏在form中的命令
PowerShell腳本
PowerShell代碼是經過混淆的,其可以使用圖11所示的算法將代碼還原。當代碼執行后,腳本的主要功能是請求遠端的服務器下載payload。該腳本中包含了一個URI數組,循環請求每一個URI,直到CC服務器返回來一個有效的響應包。

圖11:還原混淆的Powershell腳本的算法
分析還原后的PowerShell腳本,其主要有兩個功能:
1.與CC服務器進行通信:在這一環節中,PowerShell腳本生成一組CC服務器域名,通過HTTP發起請求,檢查服務端響應的內容,如果遠端的服務器沒有正確響應[200],它將請求另一組主機。
|