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

圖1
樣本分析

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

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

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

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

圖6
插件模塊的加載
down_memLoader函數通過死循環等待文件下載成功,

圖7

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

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

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

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

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

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