“殺不掉”的“虛靈礦工”——門羅幣挖礦木馬分析報告
一、背景概述
近期,新華三態(tài)勢感知平臺監(jiān)測到某機器發(fā)起過對挖礦域名(xmr-eu2.nanopool.org
經驗證,該樣本的確能躲避多款國內外主流殺毒軟件的查殺,通過對樣本的深入分析,我們發(fā)現(xiàn)該挖礦木馬在文件末尾附加了大量空字節(jié)、使自身大小達到百MB級別,從而達到殺軟和沙箱檢測逃逸的目的。根據(jù)該挖礦木馬的這個特點,我們將其命名為"虛靈礦工"。
二、初步排查
1. 使用ProcessMonitor對樣本動態(tài)行為進行監(jiān)測,發(fā)現(xiàn)挖礦網(wǎng)絡請求由explorer.exe進程發(fā)起:
2. 命令行帶有明顯的挖礦程序相關參數(shù):
--cinit-find-x -B --algo=rx/0 --asm=auto --cpu-memory-pool=1 --randomx-mode=auto --randomx-no-rdmsr --cuda-bfactor-hint=12 --cuda-bsleep-hint=100 --url=randomxmonero.eu-west.nicehash.com:3380 --user=3D8RFKShXUnEygTvd3ZMabw4ARhLu74KZq.Lakys --pass= --cpu-max-threads-hint=30 --nicehash --cinit-stealth
3. 在sysmon記錄中搜索父進程id,定位到父進程相應文件為:
%APPDATA%\gamelauncher.exe。該文件大小為672M,初步可以推測文件過大是殺毒軟件未檢出原因。
4. 在sysmon中還定位到gamlauncher.exe釋放的一個驅動文件:%APPDATA%\libs\WR64.sys
根據(jù)gamelauncher.exe的線索,排查啟動項,發(fā)現(xiàn)一計劃任務會在機器開機時啟動gamelauncher.exe。
根據(jù)排查可以定位挖礦木馬和實現(xiàn)持久化的方法,調用關系如下:
三、樣本分析
gamelauncher.exe大小為672M,壓縮后僅8.42M。使用工具查看時發(fā)現(xiàn)有效內容很少,因其實際Payload后添加了大量的空字節(jié)。
去除空字節(jié)填充之后的文件大小為8.35 MB (8,759,474 字節(jié)),查看區(qū)塊信息,初步確認為Themida加殼。
其啟動時會檢測監(jiān)控工具、反調試:
使用ExtremeDumper、AssemblyRebuilder獲取到原始.net程序game.exe,game.exe啟動會先休眠一分鐘,然后對資源數(shù)據(jù)進行AES解密執(zhí)行:
資源段數(shù)據(jù)解密結果為一個新的.net程序,文件名為game-miner.dll,但實際還是exe。
game-miner.dll有變量函數(shù)名混淆,這里簡單重命名列出功能。
a. 有管理員權限情況下,創(chuàng)建計劃任務實現(xiàn)持久化,如失敗,則設置注冊表項實現(xiàn)持久化:
b. 如果當前路徑不是 %appdata%/gamelauncher.exe,則殺死sihost64進程,刪除%appdata%/libs/路徑下的sihost64.log、sihost64-2.log,將自身復制為%appdata%/gamelauncher.exe并啟動,自身退出(實際運行時,只要文件名不是gamelauncher.exe,就會執(zhí)行以上操作)
c. 讀取kumhcdkzhbym資源,解密后寫到%appdata%/libs/WR64.sys
e. 解密挖礦參數(shù),解密資源段數(shù)據(jù)并提取壓縮包中的xmrig.exe文件,開始創(chuàng)建新explorer進程并注入惡意代碼執(zhí)行
f. 以掛起方式創(chuàng)建explorer進程,第6個參數(shù)為4,即CREATE_SUSPENDED表示掛起狀態(tài),
g. 寫入explorer進程的挖礦程序被加殼,單獨運行調試,使用Scylla dump并修復導入表,使用IDA可查看main函數(shù)。
我們從https://github.com/xmrig/xmrig下載挖礦程序與dump出的挖礦程序進行對比,main函數(shù)基本一致
game-miner.dll釋放的WR64.sys pdb路徑為:
"d:\hotproject\winring0\source\dll\sys\lib\amd64\WinRing0.pdb"
證書也和下載的xmrig包含的WinRing0x64.sys一致,使用IDA對比結構完全相同。
該惡意程序使用xmrig時,默認會將算力的1%貢獻給xmrig項目,相關域名即態(tài)感平臺監(jiān)測到的xmr-eu2.nanopool.org。
根據(jù)樣本分析,可確認挖礦木馬執(zhí)行的整個過程,和態(tài)感監(jiān)測記錄符合。
四、同源性分析
根據(jù)樣本特點,我們關聯(lián)到github的一個開源項目SilentXMRMiner:
https://github.com/UnamSanctam/SilentXMRMiner
該項目提供高度可定制化的挖礦程序生成能力,根據(jù)時間關系,我們取SilentXMRMiner v1.4.4版本按相同配置生成挖礦程序new_game.exe,和game.exe進行對比:
從資源段解密得到game-miner.dll, main函數(shù)對比如下:
此外,通過查看項目代碼,確定樣本分析中提到的sihost64進程為守護進程,可在挖礦程序異常時嘗試恢復運行。
通過以上對比關聯(lián)可以確定,"虛靈礦工"正是在該項目生成的程序基礎上,進行了加殼和附加空字節(jié)的操作。
五、IOC
* domain:
xmr-eu2.nanopool.org
randomxmonero.eu-west.nicehash.com:3380
* MD5:
974df47a259b9d5477d768871f3cb5a8
六、新華三處置與防御建議
【處置建議】
1) 清除gamelauncher相關的計劃任務和注冊表中的自啟動項;
2) 刪除%APPDATA%/gamelauncher.exe %APPDATA%/libs/WR64.sys;
3) 重新啟動操作系統(tǒng)。
【防御建議】
1) 盡量在官方下載軟件,謹慎使用各大下載站;
2) 不要點擊來源不明的郵件以及附件;
3) 新華三威脅情報與特征庫已能進行檢測,建議升級到相關最新版本。