当前位置: 首页 > 科技观察

“杀不死”的“空灵矿工”——门罗币挖矿木马分析报告

时间:2023-03-12 04:20:47 科技观察

一、背景概述近日,新华三态势感知平台检测到某台机器启动了挖矿域名(xmr-eu2.nanopool.org))分析请求,客户发现异常后,启动中毒机上的杀毒软件进行全面扫描,但未检测到挖矿木马。带着客户的疑问,H3C安全攻防实验室第一时间介入分析。经验证,该样本确实可以躲过国内外众多主流杀毒软件的查杀。通过对该样本的深入分析,我们发现该挖矿木马在文件末尾附加了大量空字节,使其大小达到100MB级别。从而达到杀毒和沙箱检测逃逸的目的。根据该挖矿木马的这一特点,我们将其命名为“EtherealMiner”。二、初步调查1、使用ProcessMonitor监控样本的动态行为,发现挖矿网络请求是由explorer.exe进程发起的:2、命令行有明显的挖矿程序相关参数:--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-stealth3.in在sysmon记录中查找父进程id,找到父进程对应的文件:%APPDATA%\gamelauncher.exe。文件大小为672M。初步可以推测是文件过大,杀毒软件没有检测到。4、在sysmon中找到一个gamlauncher.exe释放的驱动文件:%APPDATA%\libs\WR64.sys根据gamelauncher.exe的线索,查看启动项,发现有一个定时任务会在开机时启动gamelauncher.exe已打开。根据排查,定位到挖矿木马并实现持久化方法。调用关系如下:三、样本分析1、样本基本信息2、样本逻辑图3、gamelauncher.exe分析gamelauncher.exe大小为672M,压缩后只有8.42M。用工具查看的时候发现payload很少,因为实际的payload后面加了大量的nullbytes。删除空字节填充后的文件大小为8.35MB(8,759,474字节)。查看区块信息,初步确认是Themida打包的。启动时会检测监控工具和反调试:使用ExtremeDumper和AssemblyRebuilder获取.net原程序game.exe,game.exe启动时会休眠一分钟,然后对资源数据进行AES解密:资源段数据解密结果是一个新的.net程序,文件名为game-miner.dll,其实是一个exe。4、game-miner.dll分析Game-miner.dll存在变量名和函数名混淆,这里简单重命名并列出函数。A。以管理员权限,创建定时任务,实现持久化。如果失败,则设置注册表项以实现持久化:b。如果当前路径不是%appdata%/gamelauncher.exe,杀掉sihost64进程,删除appdata%/libs/路径下的%sihost64.log和sihost64-2.log,将自身复制为%appdata%/gamelauncher.exe和启动它,然后自己退出(实际运行时,只要文件名不是gamelauncher.exe,就会执行以上操作)c.读取kumhcdkzhbym资源,解密后写入%appdata%/libs/WR64.sysd。遍历所有explorer.exe进程的命令行,判断是否已经开始挖矿。如果有相应的参数,直接退出e。解密挖矿参数,解密资源段数据并解压压缩包中的xmrig.exe文件,开始新建explorer进程并注入恶意代码执行f。以挂起方式创建explorer进程,第6个参数为4,即CREATE_SUSPENDED表示挂起状态,将挖矿程序写入explorer进程对应的内存中,然后恢复运行开始挖矿。G。将写入explorer进程的挖矿程序打包,分别运行调试,使用Scylladump和修复导入表,使用IDA查看main函数。我们从https://github.com/xmrig/xmrig下载了挖矿程序,并将其与转储的挖矿程序进行了比较。主要功能基本相同。game-miner.dll释放的WR64.syspdb路径为:“d:\hotprojectThe\winring0\source\dll\sys\lib\amd64\WinRing0.pdb”证书也与文件中包含的WinRing0x64.sys一致下载了xmrig,和IDA对比结构完全一样。该恶意程序在使用xmrig时,会默认将自身1%的算力贡献给xmrig项目,相关域名为state-gan平台监控的xmr-eu2.nanopool.org。根据样本分析,可以确认挖矿木马执行的全过程与状态监控记录一致。4.同源分析根据样本的特点,我们在github上链接了一个开源项目SilentXMRMiner:https://github.com/UnamSanctam/SilentXMRMiner该项目提供高度可定制的挖矿程序生成能力。根据时间关系,我们拿SilentXMRMinerv1.4.4版本按照同样的配置生成挖矿程序new_game.exe,与game.exe对比:game-miner.dll是从资源段解密得到的,主要功能对比如下:另外,通过查看项目代码,确定样本分析提到的sihost64进程是守护进程,可以在挖矿程序异常时尝试恢复运行。通过以上对比和关联,可以确定“VoidMiner”是基于本项目生成的程序,进行了打包和追加空字节的操作。5、IOC*域:xmr-eu2.nanopool.orgrandomxmonero.eu-west.nicehash.com:3380*MD5:974df47a259b9d5477d768871f3cb5a86、H3C处置及防御建议【处置建议】1)清除gamelauncher相关计划任务及注册表2)删除%APPDATA%/gamelauncher.exe%APPDATA%/libs/WR64.sys;3)重新启动操作系统。【防御建议】1)尽量从官网下载软件,谨慎使用各大下载站;2)不要点击来历不明的邮件和附件;3)检测到H3C威胁情报和特征库,建议升级到最新版本。