社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 44阅读
  • 6回复

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

楼层直达
z3960 
级别: FLY版主
发帖
851130
飞翔币
125697
威望
325912
飞扬币
3849710
信誉值
8

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

只看该作者 1 发表于: 前天 16:08
感谢分享
级别: 优秀会员
发帖
110641
飞翔币
8425481
威望
122561
飞扬币
290902
信誉值
0

只看该作者 2 发表于: 前天 16:08
非常不错的
级别: 优秀会员
发帖
110641
飞翔币
8425481
威望
122561
飞扬币
290902
信誉值
0

只看该作者 3 发表于: 前天 16:08
谢谢楼主分享
huwg 
级别: 管理员
发帖
472528
飞翔币
412350221
威望
100008238
飞扬币
6123120
信誉值
50

只看该作者 4 发表于: 前天 20:38
来看看了
huwg 
级别: 管理员
发帖
472528
飞翔币
412350221
威望
100008238
飞扬币
6123120
信誉值
50

只看该作者 5 发表于: 前天 20:38
了解一下
huwg 
级别: 管理员
发帖
472528
飞翔币
412350221
威望
100008238
飞扬币
6123120
信誉值
50

只看该作者 6 发表于: 前天 20:38
谢谢分享