2017年9月,360互聯(lián)網(wǎng)安全中心首家發(fā)現(xiàn)了利用msSQL進行大規(guī)模入侵并釋放挖礦木馬的僵尸網(wǎng)絡(luò)。木馬先期通過永恒之藍漏洞進行傳播,后期轉(zhuǎn)為對msSQL進行弱口令攻擊傳播,入侵成功后釋放挖礦木馬,獲利達數(shù)百萬之多。相關(guān)分析詳見2017年發(fā)布的報告:《悄然崛起的挖礦機僵尸網(wǎng)絡(luò):打服務(wù)器挖價值百萬門羅幣》。
近日,360互聯(lián)網(wǎng)安全中心又發(fā)現(xiàn)了一批使用msSQL進行傳播的挖礦木馬的新型變種。此次木馬攻擊主要利用“白利用”這一通常出現(xiàn)在遠控或盜號木馬上的隱藏手段,說明此類木馬已經(jīng)具有了與安全軟件對抗的意識。并且利用自身在擴散形式上的優(yōu)勢快速傳播,出現(xiàn)僅6天,單日攻擊次數(shù)就突破了10萬次。另外,該木馬早期曾出現(xiàn)過一個僅攻擊一次就自我退出的版本,但該版本在大量傳播之后便消失,我們懷疑這是一個作者早期用于驗證程序功能的測試版。

圖1
樣本分析

圖2
DLL模塊被命名為active_desktop_render.dll,其導出表如下

圖3
執(zhí)行邏輯
exe啟動后會加載active_desktop_render模塊,調(diào)用其導出函數(shù)SetDesktopMonitorHook,實際樣本中直接調(diào)用了king1函數(shù)。king1函數(shù)首先判斷當前模塊名稱,不同的文件名稱則執(zhí)行的流程也會不同,例如當
前名稱為assist.exe時,則下載l.txt并內(nèi)存加載執(zhí)行,其他如下圖所示:

圖4
之后根據(jù)系統(tǒng)版本調(diào)整當前工作目錄(用于后續(xù)文件落地時使用),其中不高于xp版本的位于根目錄下/Docume~1/AllUse~1/Applic~1/,否則為/Users/Public/,同時間隔10分鐘嘗試下載a-n.txt名稱的文件,其中大部分文件以插件形式內(nèi)存加載執(zhí)行。

圖5
插件模塊及域名生成算法
通過上文可以知道,該dll的行為實則類似于插件管理器,其大多數(shù)情況下通過遠程下載模塊并自行加載,下圖是樣本模塊加載流程示意圖。

圖6
插件模塊的加載
down_memLoader函數(shù)通過死循環(huán)等待文件下載成功,

圖7

圖8
域名生成算法(DGA)
樣本下拉插件模塊的服務(wù)器域名并不固定,而是通過前綴后綴方式拼接而成,其中前綴生成算法如下

圖9
后綴從如下列表中獲取

圖10
通過簡化之后其域名生成算法如下:

知道域名后,再拼接插件名稱得到下載地址,但訪問時服務(wù)器會檢測當前請求的UA部分,樣本內(nèi)嵌的UA名稱為onlyme。
d與l模塊
d模塊延遲十分鐘后結(jié)束如下進程,其中 manager.exe和diagnosis.exe分別為m和n模塊(未獲取到),a.exe是提權(quán)用到的程序。

圖11
l模塊負責結(jié)束上述進程并重新啟動help.exe,間隔時間為10小時。
p模塊
p模塊在啟動后,首先判斷當前進程是否擁有管理員權(quán)限,若有則創(chuàng)建(已有則打開)名稱為helpsys的服務(wù),其二進制文件路徑指向自身help.exe程序,如果權(quán)限不夠,則遠程拉取遠端tqdll.txt和tq.txt文件,通過名稱可以猜測其主要功能為提權(quán),若成功,則在下次運行時即可創(chuàng)建服務(wù),保證自身持久化駐留服務(wù)器。

圖12
b模塊
b模塊是x64環(huán)境下使用到的,其部署64位環(huán)境下exe(repair.txt)和dll模塊(64zhu.txt),所有exe和dll功能與本文分析基本一致,只不過在x64下運行。同時下拉config.json與x.png,x.png 為xmr礦機(被64zhu.txt內(nèi)存加載運行),礦機配置文件config內(nèi)容如下
|