-
UID:17777
-
- 注册时间2007-05-02
- 最后登录2026-01-08
- 在线时间19389小时
-
- 发帖851130
- 搜Ta的帖子
- 精华0
- 飞翔币125697
- 威望325912
- 飞扬币3849710
- 信誉值8
-
访问TA的空间加好友用道具
- 发帖
- 851130
- 飞翔币
- 125697
- 威望
- 325912
- 飞扬币
- 3849710
- 信誉值
- 8
|
[font=-apple-system, BlinkMacSystemFont, "]近期,火绒安全团队接到用户反馈称,发现一个后台程序会占用大量CPU资源,随后,火绒安全团队溯源查明,该病毒源自BitTorrent索引站中的日本色情游戏,病毒作者采用“白加黑”手段,使游戏在启动时加载恶意模块。该恶意模块会依次检测虚拟机[font=-apple-system, BlinkMacSystemFont, "]和逆向工具,最终通过创建傀儡进程注入挖矿木马以实施挖矿操作。该挖矿木马借助XMRig工具连接私人矿池,并通过计算RandomX哈希值来提供算力。在挖矿期间,该模块会长时间占用CPU性能和内存资源。若检测到任务管理器运行,挖矿行为将自动停止。目前,火绒安全产品可对上述木马进行拦截和查杀。查杀图 [font=-apple-system, BlinkMacSystemFont, "]下图显示,2025年12月18日,用户hentaigames**于Tokyo Toshokan BitTorrent索引站发布了该游戏的种子。此后,自2025年12月20日起,该种子内的游戏文件陆续被其他色情游戏论坛转载分享。另外,从用户hentaigames**所发布的游戏中随机选取4款进行测试,发现其中3款游戏存在挖矿病毒。基于此,推测该用户为病毒作者,而其他规模不一的色情游戏论坛仅起到传播作用。Tokyo Toshokan BitTorrent 索引站 大小论坛分享该游戏 论坛分享游戏的大小与 BT 种子索引站中的大小相近 [font=-apple-system, BlinkMacSystemFont, "]下图显示,从BT种子索引站与论坛下载的压缩包都存在病毒文件version.dll,对比图左侧为论坛中下载,右侧为BT种子索引站下载。BT 种子索引站与论坛下载的压缩包内含文件对比图 [font=-apple-system, BlinkMacSystemFont, "]经实测发现,该挖矿病毒会占用6%CPU性能与2GB左右内存用于计算哈希。实测 CPU 与内存占用 [font=-apple-system, BlinkMacSystemFont, "]一、样本分析[font=-apple-system, BlinkMacSystemFont, "][font=-apple-system, BlinkMacSystemFont, "]溯源发现其中被动手脚的恶意动态链接库名有 version.dll、cryptbase.dll、libEGL.dll 等,在不同游戏中会选取其中一种执行恶意代码。其中 version.dll 为释放器、cacheapp64.exe 为注入器,最终目的为注入挖矿木马,期间会检测虚拟机、沙箱、杀毒软件等环境。而挖矿木马会连接私人矿池,接收矿池下发的任务(job)并计算哈希给矿池提供算力。流程图 [font=-apple-system, BlinkMacSystemFont, "]下面主要分析名为 version.dll 的恶意动态链接库。[font=-apple-system, BlinkMacSystemFont, "]1.1 version.dll(释放器)[font=-apple-system, BlinkMacSystemFont, "][font=-apple-system, BlinkMacSystemFont, "]version.dll 被 Kaiju Princess 2.exe 加载:[font=-apple-system, BlinkMacSystemFont, "]游戏主程序为 Kaiju Princess 2.exe,该主程序会依赖 UnityPlayer.dll 动态链接库,该动态链接库会依赖 VERSION.dll,从而加载第一个恶意文件 version.dll。该 version.dll 文件本该是 Windows 提供的 C:WindowsSystem32version.dll 文件,然而该病毒作者将插入了恶意代码的 version.dll 放在游戏目录下,从而使程序优先加载同目录下文件。[font=-apple-system, BlinkMacSystemFont, "]互斥体:[font=-apple-system, BlinkMacSystemFont, "]该程序先通过互斥体(GlobalDECOY_MUTEtgtggttgX)保证单实例运行,并创建新线程继续执行恶意代码。互斥体与创建线程 [font=-apple-system, BlinkMacSystemFont, "]检测 TPM(可信平台模块):[font=-apple-system, BlinkMacSystemFont, "]打开 TPM 设备确认是否为真机。打开 TPM 设备 [font=-apple-system, BlinkMacSystemFont, "]随后休眠 1~3 秒,随后删除 CSIDL_APPDATAMicrosoft\servicing64\rescache\pcuapp64.exe,创建 CSIDL_LOCAL_APPDATAsyscacheapp 目录。[font=-apple-system, BlinkMacSystemFont, "]检查文件 cacheapp64.exe(注入器):[font=-apple-system, BlinkMacSystemFont, "]随后开始检查 cacheapp64.exe 文件是否存在,并且检查其是否大于或等于750MB,同时检查是否存在cacheapp64.exe的自启动项等情况。若其中任意一项不满足条件,则会继续执行。释放注入器前的逻辑 [font=-apple-system, BlinkMacSystemFont, "]特征定位与解密:[font=-apple-system, BlinkMacSystemFont, "]随后遍历主游戏程序同目录并找出 *.pak 文件,通过特征码 -starttextures 与 -endtextures 定位 Base64 数据之后进行提取,Base64 解码后利用 RC4 流密码算法进行异或解密,其中密钥为 12345678901234567890123456789012。[font=-apple-system, BlinkMacSystemFont, "]随机填充:[font=-apple-system, BlinkMacSystemFont, "]随后会解密出 cacheapp64.exe 程序,还会往里面再次填充 750MB 减去当前 cacheapp64.exe 程序大小的随机数据,从而使最终文件大小来到 750MB。通过特征码定位 解密和随机写入填充 RC4 流密码算法 [font=-apple-system, BlinkMacSystemFont, "]设置持久化:[font=-apple-system, BlinkMacSystemFont, "]随后创建注册表 HKEY_CURRENT_USERSOFTWAREMicrosoftWindows NTCurrentVersionWinlogonShell 键值对,设置值为 explorer.exe, C:UsersAdministratorAppDataLocalsyscacheappcacheapp64.exe,从而完成持久化,使用户每次登录都会执行一次 cacheapp64.exe。设置持久化 [font=-apple-system, BlinkMacSystemFont, "]特征定位与解密解压正常文件用于混淆视线:[font=-apple-system, BlinkMacSystemFont, "]随后再通过特征码 `--_ST_Z--` 与 `--_EN_Z--` 定位 Base64 数据并解码,随后通过 RC4 算法(相同密钥)进行解密出压缩包数据后写入到 C:UsersAdministratorAppDataLocalsyscacheappappsid64.zip 中,随后将其解压,利用大量正常文件掩盖恶意文件 cacheapp64.exe。混淆视线 [font=-apple-system, BlinkMacSystemFont, "]检测杀毒软件并执行:[font=-apple-system, BlinkMacSystemFont, "]随后检测杀毒软件 Avast 相关进程是否存在,若不存在则休眠 25~30 秒后利用 ShellExecuteExW 执行 cacheapp64.exe。检测杀毒软件并执行 [font=-apple-system, BlinkMacSystemFont, "]1.2 cacheapp64.exe(注入器)[font=-apple-system, BlinkMacSystemFont, "]互斥体:[font=-apple-system, BlinkMacSystemFont, "]创建互斥体 `Global\F4B8C7F7-9A21-4b0b-B838-D9F3A7B1234E` 防止同时多进程运行,检测 TPM 设备存在。[font=-apple-system, BlinkMacSystemFont, "]检查调试环境和工具:[font=-apple-system, BlinkMacSystemFont, "]利用 IsDebuggerPresent 检测是否在调试,并检查是否存在 IDA[font=-apple-system, BlinkMacSystemFont, "]、XDBG、WireShark 等逆向工具进程。互斥体、检测 TPM、检测调试 检测调试进程 调试进程名列表 [font=-apple-system, BlinkMacSystemFont, "]判断沙箱环境:[font=-apple-system, BlinkMacSystemFont, "]随后,借助 NtDelayExecution 函数进行 10 秒的休眠操作。同时,通过两次调用 GetTickCount64 函数并计算其差值,以此判断该差值是否大于 9 毫秒,进而判定是否存在加速情况(此为对沙箱环境的判断)。不过,此处的 9 毫秒推测为编写错误,正常情况下应为 9000 毫秒。检测沙箱环境 [font=-apple-system, BlinkMacSystemFont, "]防止文件过大:[font=-apple-system, BlinkMacSystemFont, "]利用 GetFileSizeEx 获取文件大小,并判断是否大于 813 MB,若大于则直接退出进程。检测文件大小 [font=-apple-system, BlinkMacSystemFont, "]检测虚拟机:[font=-apple-system, BlinkMacSystemFont, "]随后利用 GetRawInputDeviceInfoW 检测是否有 VID_80EE 或 PNP0F03 字符串,分别代表 VirtualBox 与 PS/2 老式鼠标设备名。检测虚拟机 [font=-apple-system, BlinkMacSystemFont, "]随后利用 EnumDeviceDrivers 遍历驱动,检测是否存在 VBoxSF、VBoxGuest、VBoxMouse、VBoxWddm 等驱动,若存在则说明该环境为 VirtualBox 虚拟机。检测 VirtualBox 虚拟机 [font=-apple-system, BlinkMacSystemFont, "]利用 WNetEnumResourceA 遍历网络资源,检测是否存在 VirtualBox Shared Folders。检测 VirtualBox 虚拟机 [font=-apple-system, BlinkMacSystemFont, "]通过指定动态库文件存在情况判断当前环境:[font=-apple-system, BlinkMacSystemFont, "]搜索 C:WindowsSystem32 目录下是否存在包含以下字符串的文件,主要是 Sandboxie、Avast、VirtualBox 相关软件,从而判断是否存在沙箱、杀毒软件,是否在虚拟机环境中。检测电池状态:通过 NtPowerInformation 获取系统电源信息,检查系统休眠文件存在、是否指定系统电源状态。 [font=-apple-system, BlinkMacSystemFont, "]继续休眠三十秒,期间每间隔五千毫秒会中断一次,但最终仍会完成三十秒的休眠时长。推测此举是为了反沙箱加速。[font=-apple-system, BlinkMacSystemFont, "]解密出字符串与 PE 数据:[font=-apple-system, BlinkMacSystemFont, "]随后运行时通过循环右移、异或、加减取模等算术运算解密出以下不同字符串,以及挖矿木马本体。字符串/数据作用表 其中一个字符串解密代码 [font=-apple-system, BlinkMacSystemFont, "]注入挖矿木马部分流程:[font=-apple-system, BlinkMacSystemFont, "]随后将创建进程并注入挖矿木马,其中并未显式调用API名称,而是采用基于哈希的方式解析出API调用号,并通过该调用号间接完成相关功能调用。该流程中涉及的部分API包括:利用 NtCreateFile、NtSetInformationFile、NtWriteFile、NtCreateSection 将挖矿木马文件创建并标记删除,随后建立映射关系。利用 NtCreateUserProcess、NtMapViewOfSection 创建 cmd.exe 进程并伪造父进程为 explorer.exe,并将挖矿木马 PE 数据映射进 cmd.exe 进程。利用 NtSetContextThread 设置 context,修改入口点与模块基址,从而完成注入操作。注入挖矿木马部分流程 [font=-apple-system, BlinkMacSystemFont, "]1.3 挖矿木马[font=-apple-system, BlinkMacSystemFont, "]该挖矿木马与注入器类似,正式挖矿之前也会检查沙箱相关模块、TPM 设备等内容,不同的是挖矿木马会实时检测 Taskmgr.exe、ProcessHacker.exe、perfmon.exe、procexp.exe、procexp64.exe 等系统监控相关工具,若检测到上述软件则会停止挖矿,若检测到上述软件关闭则会继续挖矿。检测系统监控相关进程 [font=-apple-system, BlinkMacSystemFont, "]随后该木马通过请求 https://rentrys.co/GzueSqAf/raw[font=-apple-system, BlinkMacSystemFont, "] 或 https://pastebin.com/raw/WcTE2iw1[font=-apple-system, BlinkMacSystemFont, "] 获取到挖矿配置,其中 url 键值为矿池 IP 和端口。[font=-apple-system, BlinkMacSystemFont, "]随后,向该 url 发送登录请求,账号与密码均为 x。说明,在登录过程中未设置钱包地址,或者类似于公共矿池,存在独立的账号和密码。基于此,可推测该矿池为私人矿池。[font=-apple-system, BlinkMacSystemFont, "]随后矿池开始下发计算哈希的任务,随后计算 blob 的哈希,利用不同的 nonce 来计算,试图让计算出的哈希达到一定的条件 target。[font=-apple-system, BlinkMacSystemFont, "]随后受害者系统中的挖矿木马会根据下发的任务配置进行 RandomX 哈希算法碰撞计算,计算出小于 target(0x00007fff)的哈希值(00003002),并发送至矿池服务器中,从而给私人矿池提供算力。 检查哈希是否符合 target 的 XMRig 开源项目中函数 火绒安全团队在此郑重提醒广大用户:切勿触碰安全红线!网络黑产常常利用色情、 破解类软件作为载体传播病毒,此类软件背后往往暗挖矿木马、勒索病毒等恶意程序,不仅会侵占设备算力资源、导致硬件损耗加速,还可能窃取用户隐私数据,造成多重安全风险。目前,元旦、春节等节假日将至,不少用户会选择通过电脑等终端设备进行休闲娱乐,火绒安全在此特别提醒,选择电脑游戏或下载各类软件时,务必通过官方官网、正规应用平台等可信渠道获取,坚决远离来源不明的资源,避免因一时疏忽给恶意程序可乘之机。如需反馈相关病毒样本,可联系火绒安全官方客服,我们将持续跟踪各类新型恶意程序,为用户提供可靠的安全防护保障,守护大家度过一个安全舒心的假期。
|