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按钮后,编译器执行以下操作:
- 释放相关目录及文件:
- UCompilers目录:gcc编译环境
- UFiles目录:木马程序源代码(编译后删除)
- 生成三个文件:
- 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 受控主机表现
根据配置不同,表现各异:
- 默认开启Stealth Targets:
- 创建explorer.exe进程并注入恶意模块
- 开启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 防御规避
- Windows Defender排除项:
Add-MpPreference -ExclusionPath @($env:UserProfile,$env:ProgramFiles) -Force - 关闭Windows服务:
sc stop UsoSvc & sc stop WaaSMedicSvc & sc stop wuauserv & sc stop bits & sc stop dosvc - 修改注册表:
- 重命名关键服务注册表项为*_bkp
4.2.3 解密算法
- 使用循环异或32字节随机字符解密PE文件
- 解密后的PE文件将被注入到进程中
4.2.4 进程注入
- 解密rootkit并写入%temp%目录
- 创建dialer.exe进程
- 将rootkit注入至dialer.exe进程
4.2.5 持久化机制
- 计划任务创建:
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 - 启动目录复制
- watchdog监控程序注入
4.2.6 挖矿模块注入
- 解密挖矿程序并写入%temp%目录
- 创建dialer.exe进程
- 创建互斥对象:\BaseNamedObjects\vlztqluckoqlspci
- 注入挖矿程序
挖矿参数示例:
vlztqluckoqlspci 6E3sjfZq2rJQaxvLPmXgsLarbp/k3bIoZjG0PoksqIhLJJ5yIDhrU0AIwicfJGQnW29JR6ADwqT6UN0iMcS3dvBQZfMAdEGIGlmXXLNLFsBjaLgY+eKmMld3DhJr2ChGQe2XoLgZ2SvHHFGyn6Z8pAQ4hjWHkFK3Ch/3a6pYC4XMCFOdHgN/BrSp9Yy0Xub9nfhBEe5jZ9ibblS7QSx+XzFN+Y8M71qt9OLGqCnZryXT0FEas88VbnOH43MDYo36DQEW0piK5cZlr4RPz6bDRw==
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挖矿木马的威胁。