背景
自從2018年10月25日起,360威脅情報中心連續(xù)捕獲了多個專門盜竊俄羅斯語用戶銀行卡資金的定向攻擊樣本。這批定向攻擊樣本主要利用微軟Office CVE-2017-11882漏洞配合釣魚文檔進行定向投遞:漏洞文檔最終釋放的木馬程序會不斷監(jiān)控用戶的系統(tǒng)剪切板,如果發(fā)現(xiàn)具有銀行賬號或者yandex賬號的特征,就會把剪切板里的銀行賬號替換為攻擊者的MasterCard(萬事達)銀行卡賬號。一旦用戶通過拷貝的方式輸入目標(biāo)銀行賬號,則會把錢轉(zhuǎn)向攻擊者賬戶。并且木馬程序還會下載一個俄羅斯著名的yandex.ru門戶網(wǎng)站提供的鍵盤管理工具Punto Switcher 3.1,以用于竊取用戶的鍵盤記錄,借以躲避殺毒軟件的查殺。
樣本分析
執(zhí)行流程
捕獲到的樣本的整個攻擊流程如下:

Dropper
360威脅情報中心最初發(fā)現(xiàn)的樣本是名為логотип.doc的RTF漏洞利用文檔,該漏洞利用樣本包含一個CVE-2017-11882漏洞的公式對象。漏洞觸發(fā)后會通過執(zhí)行mshta hxxp://xnz.freetzi.com/z.hta 命令來實現(xiàn)加載執(zhí)行hxxp://xnz.freetzi.com/z.hta上的腳本:


Downloader
z.hta
下載執(zhí)行的hta文件主要功能如下:

z.hta首先會使用tasklist命令結(jié)束winword.ext進程,緊接著判斷:
%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Chromeupd.exe文件是否存在,如果不存在則利用Google Chrome瀏覽器去下載hxxp://xnz.freetzi.com/1.rar文件:

下載回來的1.rar其實是一個VBS腳本文件,1.rar會被移動到路徑:%userprofile%\appdata\roaming\1.vbs,然后使用wscript.exe執(zhí)行該VBS腳本:

1.vbs
1.vbs腳本執(zhí)行后會首先下載hxxp://xnz.freetzi.com/1.zip到%APPDATA%/1.zip,接著下載hxxp://xnz.freetzi.com/p.zip 到%APPDATA%/p.zip,并解壓到%APPDATA%目錄下:

最后把1.zip壓縮包里面的1.png移動到啟動目錄下:
%appdata%\Microsoft\Windows\Start Menu\Programs\Startup\Chromeupd.exe來實現(xiàn)惡意樣本持久化,最后刪除1.zip和p.zip和1.vbs文件。
Backdoor(Chromeupd.exe)
被寫入自啟動項的Chromeupd.exe是該定向攻擊木馬的核心功能模塊。樣本是C#編寫的程序,樣本運行后會首先注冊5個定時器實現(xiàn)其5個主要功能:
監(jiān)控系統(tǒng)剪切板里可能出現(xiàn)的銀行卡賬號并替換成攻擊者的MasterCard銀行卡賬號
隱藏程序窗口
安裝下載回來的p.png(Punto Switcher 3.1版本,俄羅斯的一個正常的鍵盤管理工具)
上傳鍵盤管理工具中的diary.dat到hxxp://apz.freetzi.com/upload.php
檢查是否需要自刪除和是否需要獲取新的攻擊者的銀行卡賬號
替換剪切板里可能出現(xiàn)的銀行卡賬號
其中一個定時器功能會判斷當(dāng)前系統(tǒng)剪切板里面的內(nèi)容是否是字符串,如果是則判斷是哪種類型的賬號,然后將其中的賬號替換為內(nèi)置的攻擊者賬號:

其中的判斷規(guī)則為:當(dāng)剪切板中的字符串長度為16,則把這個16位的字符串做Luhn算法(見參考[2])校驗。如果校驗通過,則把剪切板中的字符串替換為內(nèi)置的MasterCard卡號:

而如果剪切板中的字符串長度在10到17之間,且字符串起始數(shù)字是410開頭,并且字符串全為數(shù)字字符串,則試用內(nèi)置的yandex賬號替換:

而對于字符串中有‘-’或‘ ’分割的情況,同樣也會做Luhn算法校驗,校驗通過則替換為內(nèi)置同樣格式的MasterCard卡號:


隱藏窗口
而當(dāng)2號定時器執(zhí)行時,則調(diào)用hide()函數(shù)實現(xiàn)當(dāng)前窗口隱藏,之后讓該定時器失效:

|