SilentCryptoMiner挖矿木马攻击场景复现及技术剖析
字数 2133 2025-08-24 07:48:10

SilentCryptoMiner挖矿木马技术分析与防御指南

1. SilentCryptoMiner概述

SilentCryptoMiner是一个功能完善的挖矿木马框架,具有以下特点:

  • 采用C++编写,配套WEB管理平台
  • 使用进程注入、rootkit、进程监控等技术隐藏挖矿进程
  • 能够长期驻留受害主机
  • 原开源项目已被GitHub禁用(原地址:github.com/UnamSanctam/SilentCryptoMiner)

注意:在GitHub搜索SilentCryptoMiner字符串时,匹配出的项目大多带有病毒木马,需谨慎处理。

2. 框架组成

2.1 WEB面板控制端

  • 数据库文件路径:/db/unamwebpanel.db
  • 支持功能:
    • 查看上线主机信息
    • 监控被控主机活动窗口

2.2 远控木马编译器

  • 单个exe程序,运行时释放gcc编译环境
  • 支持对木马程序进行自定义配置

3. 攻击场景复现

3.1 木马生成与配置

远控木马编译器支持以下配置选项:

配置类别 可配置项
Main 挖矿信息配置
Connection 矿池信息、注入进程配置
Mining 挖矿木马基本功能
Advanced 远控地址、上线地址
Startup 自启动信息、启用watchdog
Assembly 文件描述信息
Icon 自定义图标
Signature Options Windows Defender例外、禁用Windows更新、使用Rootkit隐藏挖矿程序

3.2 编译过程

点击Build按钮后,编译器执行以下操作:

  1. 释放相关目录及文件:
    • UCompilers目录:gcc编译环境
    • UFiles目录:木马程序源代码(编译后删除)
  2. 生成三个文件:
    • XXX.exe:木马主程序
    • XXX-check.exe:检测程序
    • XXX-uninstaller.exe:卸载程序

编译命令示例:

"C:\Users\admin\Desktop\UCompilers\gcc\bin\g++.exe" -m64 -Wl,-subsystem,windows -mwindows "123.cpp" UFiles\*.cpp UFiles\Syscalls\*.c UFiles\Syscalls\syscallsstubs.std.x64.s resource.o -O1 -static-libgcc -static-libstdc++ -fno-stack-protector -fno-threadsafe-statics -fvisibility=hidden -Wl,--strip-all -s -o "123.exe"

3.3 木马上线行为

  • 运行XXX.exe后,木马会上线至控制端
  • 使用XXX-check.exe可检测木马是否运行
  • 使用XXX-uninstaller.exe可卸载木马

3.4 受控主机表现

根据配置不同,表现各异:

  1. 默认开启Stealth Targets:
    • 创建explorer.exe进程并注入恶意模块
  2. 开启Use Rootkit和Run as Administrator:
    • 使用rootkit向Taskmgr.exe等进程管理器隐藏挖矿进程dialer.exe

4. 技术剖析

4.1 编译优化技术

木马使用了多项编译优化选项增强隐蔽性:

-O1 -static-libgcc -static-libstdc++ -fno-stack-protector 
-fno-threadsafe-statics -fvisibility=hidden -Wl,--strip-all -s

4.2 关键功能实现

4.2.1 权限检查

  • 调用NtOpenProcessToken、NtQueryInformationToken检测管理员权限
  • 获取PEB信息用于后续获取环境变量

4.2.2 防御规避

  1. Windows Defender排除项:
    Add-MpPreference -ExclusionPath @($env:UserProfile,$env:ProgramFiles) -Force
    
  2. 关闭Windows服务:
    sc stop UsoSvc & sc stop WaaSMedicSvc & sc stop wuauserv & sc stop bits & sc stop dosvc
    
  3. 修改注册表:
    • 重命名关键服务注册表项为*_bkp

4.2.3 解密算法

  • 使用循环异或32字节随机字符解密PE文件
  • 解密后的PE文件将被注入到进程中

4.2.4 进程注入

  1. 解密rootkit并写入%temp%目录
  2. 创建dialer.exe进程
  3. 将rootkit注入至dialer.exe进程

4.2.5 持久化机制

  1. 计划任务创建:
    Register-ScheduledTask -Action (New-ScheduledTaskAction -Execute '%S') -Trigger (New-ScheduledTaskTrigger -AtStartup) -Settings (New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DisallowHardTerminate -DontStopIfGoingOnBatteries -DontStopOnIdleEnd -ExecutionTimeLimit (New-TimeSpan -Days 1000)) -TaskName 'GoogleUpdateTaskMachineQC' -User 'System' -RunLevel 'Highest' -Force
    
  2. 启动目录复制
  3. watchdog监控程序注入

4.2.6 挖矿模块注入

  1. 解密挖矿程序并写入%temp%目录
  2. 创建dialer.exe进程
  3. 创建互斥对象:\BaseNamedObjects\vlztqluckoqlspci
  4. 注入挖矿程序

挖矿参数示例:

vlztqluckoqlspci 6E3sjfZq2rJQaxvLPmXgsLarbp/k3bIoZjG0PoksqIhLJJ5yIDhrU0AIwicfJGQnW29JR6ADwqT6UN0iMcS3dvBQZfMAdEGIGlmXXLNLFsBjaLgY+eKmMld3DhJr2ChGQe2XoLgZ2SvHHFGyn6Z8pAQ4hjWHkFK3Ch/3a6pYC4XMCFOdHgN/BrSp9Yy0Xub9nfhBEe5jZ9ibblS7QSx+XzFN+Y8M71qt9OLGqCnZryXT0FEas88VbnOH43MDYo36DQEW0piK5cZlr4RPz6bDRw==

4.2.7 挖矿配置解密

  • Base64解码
  • AES-CBC解密
    • KEY: UXUUXUUXUUCommandULineUUXUUXUUXU
    • IV: UUCommandULineUU

5. 检测与防御建议

5.1 检测指标

  1. 进程相关:
    • 异常的dialer.exe进程
    • explorer.exe进程被注入
  2. 文件相关:
    • %temp%目录下的可疑文件
    • UCompilers和UFiles目录
  3. 注册表相关:
    • 被重命名的服务注册表项(*_bkp)
  4. 计划任务:
    • 名为GoogleUpdateTaskMachineQC的任务
  5. 互斥对象:
    • \BaseNamedObjects\slbtivpxi
    • \BaseNamedObjects\vlztqluckoqlspci

5.2 防御措施

  1. 启用并更新终端防护软件
  2. 监控以下行为:
    • 异常的进程创建和注入
    • Windows Defender排除项的修改
    • 关键服务的停止和注册表修改
  3. 限制PowerShell和cmd的执行权限
  4. 定期检查计划任务和启动项
  5. 保持系统和软件更新

5.3 应急响应

  1. 检查并终止可疑进程
  2. 删除相关文件和目录
  3. 恢复被修改的注册表项
  4. 删除恶意计划任务
  5. 检查并清理Windows Defender排除项

通过以上分析和防御措施,可以有效应对SilentCryptoMiner挖矿木马的威胁。

SilentCryptoMiner挖矿木马技术分析与防御指南 1. SilentCryptoMiner概述 SilentCryptoMiner是一个功能完善的挖矿木马框架,具有以下特点: 采用C++编写,配套WEB管理平台 使用进程注入、rootkit、进程监控等技术隐藏挖矿进程 能够长期驻留受害主机 原开源项目已被GitHub禁用(原地址:github.com/UnamSanctam/SilentCryptoMiner) 注意 :在GitHub搜索SilentCryptoMiner字符串时,匹配出的项目大多带有病毒木马,需谨慎处理。 2. 框架组成 2.1 WEB面板控制端 数据库文件路径:/db/unamwebpanel.db 支持功能: 查看上线主机信息 监控被控主机活动窗口 2.2 远控木马编译器 单个exe程序,运行时释放gcc编译环境 支持对木马程序进行自定义配置 3. 攻击场景复现 3.1 木马生成与配置 远控木马编译器支持以下配置选项: | 配置类别 | 可配置项 | |---------|---------| | Main | 挖矿信息配置 | | Connection | 矿池信息、注入进程配置 | | Mining | 挖矿木马基本功能 | | Advanced | 远控地址、上线地址 | | Startup | 自启动信息、启用watchdog | | Assembly | 文件描述信息 | | Icon | 自定义图标 | | Signature Options | Windows Defender例外、禁用Windows更新、使用Rootkit隐藏挖矿程序 | 3.2 编译过程 点击Build按钮后,编译器执行以下操作: 释放相关目录及文件: UCompilers目录:gcc编译环境 UFiles目录:木马程序源代码(编译后删除) 生成三个文件: XXX.exe:木马主程序 XXX-check.exe:检测程序 XXX-uninstaller.exe:卸载程序 编译命令示例: 3.3 木马上线行为 运行XXX.exe后,木马会上线至控制端 使用XXX-check.exe可检测木马是否运行 使用XXX-uninstaller.exe可卸载木马 3.4 受控主机表现 根据配置不同,表现各异: 默认开启Stealth Targets: 创建explorer.exe进程并注入恶意模块 开启Use Rootkit和Run as Administrator: 使用rootkit向Taskmgr.exe等进程管理器隐藏挖矿进程dialer.exe 4. 技术剖析 4.1 编译优化技术 木马使用了多项编译优化选项增强隐蔽性: 4.2 关键功能实现 4.2.1 权限检查 调用NtOpenProcessToken、NtQueryInformationToken检测管理员权限 获取PEB信息用于后续获取环境变量 4.2.2 防御规避 Windows Defender排除项: 关闭Windows服务: 修改注册表: 重命名关键服务注册表项为*_ bkp 4.2.3 解密算法 使用循环异或32字节随机字符解密PE文件 解密后的PE文件将被注入到进程中 4.2.4 进程注入 解密rootkit并写入%temp%目录 创建dialer.exe进程 将rootkit注入至dialer.exe进程 4.2.5 持久化机制 计划任务创建: 启动目录复制 watchdog监控程序注入 4.2.6 挖矿模块注入 解密挖矿程序并写入%temp%目录 创建dialer.exe进程 创建互斥对象:\BaseNamedObjects\vlztqluckoqlspci 注入挖矿程序 挖矿参数示例: 4.2.7 挖矿配置解密 Base64解码 AES-CBC解密 KEY: UXUUXUUXUUCommandULineUUXUUXUUXU IV: UUCommandULineUU 5. 检测与防御建议 5.1 检测指标 进程相关: 异常的dialer.exe进程 explorer.exe进程被注入 文件相关: %temp%目录下的可疑文件 UCompilers和UFiles目录 注册表相关: 被重命名的服务注册表项(* _ bkp) 计划任务: 名为GoogleUpdateTaskMachineQC的任务 互斥对象: \BaseNamedObjects\slbtivpxi \BaseNamedObjects\vlztqluckoqlspci 5.2 防御措施 启用并更新终端防护软件 监控以下行为: 异常的进程创建和注入 Windows Defender排除项的修改 关键服务的停止和注册表修改 限制PowerShell和cmd的执行权限 定期检查计划任务和启动项 保持系统和软件更新 5.3 应急响应 检查并终止可疑进程 删除相关文件和目录 恢复被修改的注册表项 删除恶意计划任务 检查并清理Windows Defender排除项 通过以上分析和防御措施,可以有效应对SilentCryptoMiner挖矿木马的威胁。