400电话
微信咨询
咨询时间: 9:30-18:30
400-998-3555
感谢您访问本站!我们检测到您当前使用的是 IE 浏览器。由于微软已正式终止对 IE 浏览器的技术支持,本站现已不再兼容该浏览器,可能会导致页面显示异常或功能无法使用。为了获得最佳体验,建议您:使用 Chrome、Edge、Firefox 等现代浏览器访问。
x

BT索引站藏陷阱!私人矿池借色情游戏偷算力

  • 作者:火绒安全

  • 发布时间:2025-12-30

  • 阅读量:748

近期,火绒安全团队接到用户反馈称,发现一个后台程序会占用大量CPU资源,随后,火绒安全团队溯源查明,该病毒源自BitTorrent索引站中的日本色情游戏,病毒作者采用“白加黑”手段,使游戏在启动时加载恶意模块。该恶意模块会依次检测虚拟机和逆向工具,最终通过创建傀儡进程注入挖矿木马以实施挖矿操作。该挖矿木马借助XMRig工具连接私人矿池,并通过计算RandomX哈希值来提供算力。在挖矿期间,该模块会长时间占用CPU性能和内存资源。若检测到任务管理器运行,挖矿行为将自动停止。目前,火绒安全产品可对上述木马进行拦截和查杀。

查杀图.png

查杀图


最终图片 拷贝.jpg


下图显示,2025年12月18日,用户hentaigames**于Tokyo Toshokan BitTorrent索引站发布了该游戏的种子。此后,自2025年12月20日起,该种子内的游戏文件陆续被其他色情游戏论坛转载分享。另外,从用户hentaigames**所发布的游戏中随机选取4款进行测试,发现其中3款游戏存在挖矿病毒。基于此,推测该用户为病毒作者,而其他规模不一的色情游戏论坛仅起到传播作用。


Tokyo Toshokan BitTorrent 索引站_副本.png

Tokyo Toshokan BitTorrent 索引站


大小论坛分享该游戏_副本.png

大小论坛分享该游戏


论坛分享游戏的大小与 BT 种子索引站中的大小相近.png

论坛分享游戏的大小与 BT 种子索引站中的大小相近


下图显示,从BT种子索引站与论坛下载的压缩包都存在病毒文件version.dll,对比图左侧为论坛中下载,右侧为BT种子索引站下载。


BT 种子索引站与论坛下载的压缩包内含文件对比图.png

BT 种子索引站与论坛下载的压缩包内含文件对比图


经实测发现,该挖矿病毒会占用6%CPU性能与2GB左右内存用于计算哈希。


实测 CPU 与内存占用.png

实测 CPU 与内存占用


一、样本分析

溯源发现其中被动手脚的恶意动态链接库名有 version.dll、cryptbase.dll、libEGL.dll 等,在不同游戏中会选取其中一种执行恶意代码。

其中 version.dll 为释放器、cacheapp64.exe 为注入器,最终目的为注入挖矿木马,期间会检测虚拟机、沙箱、杀毒软件等环境。而挖矿木马会连接私人矿池,接收矿池下发的任务(job)并计算哈希给矿池提供算力。


流程图.png

流程图


下面主要分析名为 version.dll 的恶意动态链接库。


1.1 version.dll(释放器)

version.dll 被 Kaiju Princess 2.exe 加载:游戏主程序为 Kaiju Princess 2.exe,该主程序会依赖 UnityPlayer.dll 动态链接库,该动态链接库会依赖 VERSION.dll,从而加载第一个恶意文件 version.dll。


该 version.dll 文件本该是 Windows 提供的 C:\Windows\System32\version.dll 文件,然而该病毒作者将插入了恶意代码的 version.dll 放在游戏目录下,从而使程序优先加载同目录下文件。


互斥体:该程序先通过互斥体(Global\DECOY_MUTEtgtggttgX)保证单实例运行,并创建新线程继续执行恶意代码。


互斥体与创建线程.png

互斥体与创建线程


检测 TPM(可信平台模块):打开 TPM 设备确认是否为真机。


打开 TPM 设备.png

打开 TPM 设备


随后休眠 1~3 秒,随后删除 CSIDL_APPDATA\Microsoft\\servicing64\\rescache\\pcuapp64.exe,创建 CSIDL_LOCAL_APPDATA\syscacheapp 目录。


检查文件 cacheapp64.exe(注入器):随后开始检查 cacheapp64.exe 文件是否存在,并且检查其是否大于或等于750MB,同时检查是否存在cacheapp64.exe的自启动项等情况。若其中任意一项不满足条件,则会继续执行。


释放注入器前的逻辑


特征定位与解密:随后遍历主游戏程序同目录并找出 *.pak 文件,通过特征码 -starttextures 与 -endtextures 定位 Base64 数据之后进行提取,Base64 解码后利用 RC4 流密码算法进行异或解密,其中密钥为 12345678901234567890123456789012。


随机填充:随后会解密出 cacheapp64.exe 程序,还会往里面再次填充 750MB 减去当前 cacheapp64.exe 程序大小的随机数据,从而使最终文件大小来到 750MB。

通过特征码定位.png

通过特征码定位


解密和随机写入填充.png

解密和随机写入填充


RC4 流密码算法.png

RC4 流密码算法


设置持久化:随后创建注册表 HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Shell 键值对,设置值为 explorer.exe, C:\Users\Administrator\AppData\Local\syscacheapp\cacheapp64.exe,从而完成持久化,使用户每次登录都会执行一次 cacheapp64.exe。


设置持久化.png

设置持久化


特征定位与解密解压正常文件用于混淆视线:随后再通过特征码 `--_ST_Z--` 与 `--_EN_Z--` 定位 Base64 数据并解码,随后通过 RC4 算法(相同密钥)进行解密出压缩包数据后写入到 C:\Users\Administrator\AppData\Local\syscacheapp\appsid64.zip 中,随后将其解压,利用大量正常文件掩盖恶意文件 cacheapp64.exe。


混淆视线.png

混淆视线


检测杀毒软件并执行:随后检测杀毒软件 Avast 相关进程是否存在,若不存在则休眠 25~30 秒后利用 ShellExecuteExW 执行 cacheapp64.exe。


检测杀毒软件并执行.png

检测杀毒软件并执行


1.2 cacheapp64.exe(注入器)

互斥体:创建互斥体 `Global\\F4B8C7F7-9A21-4b0b-B838-D9F3A7B1234E` 防止同时多进程运行,检测 TPM 设备存在。


检查调试环境和工具:利用 IsDebuggerPresent 检测是否在调试,并检查是否存在 IDA、XDBG、WireShark 等逆向工具进程。


互斥体、检测 TPM、检测调试.png

互斥体、检测 TPM、检测调试


检测调试进程.png

检测调试进程


调试进程名列表.png

调试进程名列表


判断沙箱环境:随后,借助 NtDelayExecution 函数进行 10 秒的休眠操作。同时,通过两次调用 GetTickCount64 函数并计算其差值,以此判断该差值是否大于 9 毫秒,进而判定是否存在加速情况(此为对沙箱环境的判断)。不过,此处的 9 毫秒推测为编写错误,正常情况下应为 9000 毫秒。


检测沙箱环境.png

检测沙箱环境


防止文件过大:利用 GetFileSizeEx 获取文件大小,并判断是否大于 813 MB,若大于则直接退出进程。


检测文件大小.png

检测文件大小


检测虚拟机:随后利用 GetRawInputDeviceInfoW 检测是否有 VID_80EE 或 PNP0F03 字符串,分别代表 VirtualBox 与 PS/2 老式鼠标设备名。


检测虚拟机.png

检测虚拟机


随后利用 EnumDeviceDrivers 遍历驱动,检测是否存在 VBoxSF、VBoxGuest、VBoxMouse、VBoxWddm 等驱动,若存在则说明该环境为 VirtualBox 虚拟机。

检测 VirtualBox 虚拟机11.png

检测 VirtualBox 虚拟机


利用 WNetEnumResourceA 遍历网络资源,检测是否存在 VirtualBox Shared Folders。


检测 VirtualBox 虚拟机2.png

检测 VirtualBox 虚拟机


通过指定动态库文件存在情况判断当前环境:搜索 C:\Windows\System32 目录下是否存在包含以下字符串的文件,主要是 Sandboxie、Avast、VirtualBox 相关软件,从而判断是否存在沙箱、杀毒软件,是否在虚拟机环境中。


SbieDll
SxIn
Sd2
snxhk
cmdvrt32
VBoxDispD3D
VBoxGL
VBoxHook
VBoxICD
VBoxMRXNP
VBoxNine
VBoxSVGA
VBoxTray

检测电池状态:通过 NtPowerInformation 获取系统电源信息,检查系统休眠文件存在、是否指定系统电源状态。


继续休眠三十秒.png

继续休眠三十秒,期间每间隔五千毫秒会中断一次,但最终仍会完成三十秒的休眠时长。推测此举是为了反沙箱加速。


反沙箱加速.png


解密出字符串与 PE 数据:随后运行时通过循环右移、异或、加减取模等算术运算解密出以下不同字符串,以及挖矿木马本体。


字符串数据作用表.png

字符串/数据作用表


其中一个字符串解密代码.png

其中一个字符串解密代码


注入挖矿木马部分流程:随后将创建进程并注入挖矿木马,其中并未显式调用API名称,而是采用基于哈希的方式解析出API调用号,并通过该调用号间接完成相关功能调用。该流程中涉及的部分API包括:

利用 NtCreateFile、NtSetInformationFile、NtWriteFile、NtCreateSection 将挖矿木马文件创建并标记删除,随后建立映射关系。

利用 NtCreateUserProcess、NtMapViewOfSection 创建 cmd.exe 进程并伪造父进程为 explorer.exe,并将挖矿木马 PE 数据映射进 cmd.exe 进程。

利用 NtSetContextThread 设置 context,修改入口点与模块基址,从而完成注入操作。


注入挖矿木马部分流程.png

注入挖矿木马部分流程


1.3 挖矿木马

该挖矿木马与注入器类似,正式挖矿之前也会检查沙箱相关模块、TPM 设备等内容,不同的是挖矿木马会实时检测 Taskmgr.exe、ProcessHacker.exe、perfmon.exe、procexp.exe、procexp64.exe 等系统监控相关工具,若检测到上述软件则会停止挖矿,若检测到上述软件关闭则会继续挖矿。

检测系统监控相关进程.png

检测系统监控相关进程


随后该木马通过请求 https://rentrys.co/GzueSqAf/raw 或 https://pastebin.com/raw/WcTE2iw1 获取到挖矿配置,其中 url 键值为矿池 IP 和端口。


{
  "autosave": false,
  "cpu": { "enabled": true, "max-threads-hint": 20, "throttle": 90 },
  "opencl": false,
  "cuda": false,
  "pools": [
    {
      "coin": null,
      "algo": "rx/0",
      "url": "188.137.240.64:443",
      "user": "x",
      "pass": "x",
      "tls": true,
      "keepalive": false,
      "nicehash": true
    }
  ]
}


随后,向该 url 发送登录请求,账号与密码均为 x。说明,在登录过程中未设置钱包地址,或者类似于公共矿池,存在独立的账号和密码。基于此,可推测该矿池为私人矿池。


{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "login",
  "params": {
    "login": "x",
    "pass": "x",
    "agent": "SysOptimizer/3.2.1 (Windows NT 10.0; Win64; x64) libuv/1.48.0 gcc/15.1.0",
    "algo": [
      "rx/0",
      "cn/2",
      "cn/r",
      "cn/fast",
      "cn/half",
      "cn/xao",
      "cn/rto",
      "cn/rwz",
      "cn/zls",
      "cn/double",
      "cn/ccx",
      "cn/1",
      "rx/wow",
      "rx/arq",
      "rx/graft",
      "rx/sfx",
      "rx/yada",
      "argon2/chukwa",
      "argon2/chukwav2",
      "argon2/ninja"
    ]
  }
}


随后矿池开始下发计算哈希的任务,随后计算 blob 的哈希,利用不同的 nonce 来计算,试图让计算出的哈希达到一定的条件 target。


{
  "blob": "0a0ab8dac8ca063814d52de31d92b83175b1a4696d8c9016907f87ae617325f23a78e02edbcf7f000000df5d095f2266765a8596dac5567545d9de879786a9810661f504b370cc3ee3a24d02",
  "job_id": "000000009f457031",
  "target": "ff7f0000",
  "algo": "rx/0",
  "height": 389511,
  "seed_hash": "0fb7dc92b17939eb774ea930f0aa418cc1753181ed40e1c7d6d3ff5b9a8c50e1"
}


随后受害者系统中的挖矿木马会根据下发的任务配置进行 RandomX 哈希算法碰撞计算,计算出小于 target(0x00007fff)的哈希值(00003002),并发送至矿池服务器中,从而给私人矿池提供算力。


{
  "id": 8,
  "jsonrpc": "2.0",
  "method": "submit",
  "params": {
    "id": "02c8520194612a5c",
    "job_id": "000000009f457031",
    "nonce": "268700df",
    "result": "44a31551df2193c565eaf1494ddeec96cbb92c804ee35f0370c650d902300000",
    "algo": "rx/0"
  }
}


检查哈希是否符合 target 的 XMRig 开源项目中函数.png

检查哈希是否符合 target 的 XMRig 开源项目中函数


火绒安全团队在此郑重提醒广大用户:切勿触碰安全红线!网络黑产常常利用色情、破解类软件作为载体传播病毒,此类软件背后往往暗挖矿木马、勒索病毒等恶意程序,不仅会侵占设备算力资源、导致硬件损耗加速,还可能窃取用户隐私数据,造成多重安全风险。目前,元旦、春节等节假日将至,不少用户会选择通过电脑等终端设备进行休闲娱乐,火绒安全在此特别提醒,选择电脑游戏或下载各类软件时,务必通过官方官网、正规应用平台等可信渠道获取,坚决远离来源不明的资源,避免因一时疏忽给恶意程序可乘之机。如需反馈相关病毒样本,可联系火绒安全官方客服,我们将持续跟踪各类新型恶意程序,为用户提供可靠的安全防护保障,守护大家度过一个安全舒心的假期。


二、附录

C&C:

C&C:.png

HASH:

HASH:.png



安全无忧,一键开启

全面提升您的系统防护