该样本是一个.NET RAT,使用VB.NET编译,大小26.5 KB。其最显著的特征是使用了RtlSetProcessIsCritical API, 将自身标记为Windows关键进程 — 如果该进程被终止,Windows将立即蓝屏(BSOD)。
核心能力:
SHA256: c3896171b744c28d8def5cb67f6f55db2c6383b6fd1d727c367c8fb54e981db9
| 分类 | 标签 | 置信度 |
|---|---|---|
| 威胁类型 | .NET RAT (远程访问木马) | HIGH |
| BSOD保护 | RtlSetProcessIsCritical + ProcessCritical | CRITICAL |
| 凭据窃取 | NetworkCredential + ICredentials | HIGH |
| 注册表操作 | RegistryValueKind + RegistryKeyPermissionCheck | HIGH |
| C2通信 | GetHostAddresses + Ports | HIGH |
| 编译环境 | VB.NET / .NET Framework | MEDIUM |
| 字段 | 值 |
|---|---|
| 关联组织 | 未知 |
| 别名 | N/A |
| 动机 | 经济利益/持久访问 |
| 目标行业 | 个人/企业 |
| 活动名称 | 2026年8月活跃 |
| C2协议 | TCP (DNS解析) |
| C2基础设施 | 动态域名 + 自定义端口 |
未检出持久化行为。
(无 ASCII 回退)
| DNS C2 | CheckHostName→GetHostAddresses | Ports配置 | 动态域名解析 |
| BSOD保护 | RtlSetProcessIsCritical | N/A | 杀进程=蓝屏 |
C2配置存储在CheckHostName/Ports属性中。通过.NET反编译可提取完整域名和端口。利用RtlSetProcessIsCritical阻止安全软件终止进程。
| 协议 | TCP (自定义端口) |
| 端口 | Ports配置 |
| 地址/Domain | 域名 (CheckHostName) |
| IP | 动态DNS解析 (GetHostAddresses) |
| 加密 | 可能编码 |
| 用途 | 远程控制 + 凭据回传 |
| API引用 | GetHostAddresses + CheckHostName + Ports |
| 证书 | N/A |
关键进程注册(<1s)→互斥体→DNS解析(1-3s)→C2连接→RAT功能
DNS解析C2域名,自定义端口。BSOD保护使该RAT极难被杀软清除。
.text (MSIL) / .rsrc
| 段/节区 | 熵值 | 判定 |
|---|---|---|
| .text | 5.30 | 正常 |
| 地址 | 函数 | 功能 |
|---|---|---|
| N/A | ||
| 调用号 | 系统调用 | 用途 | 地址 |
|---|---|---|---|
| N/A | |||
| 字段 | 值 | 来源 |
|---|---|---|
| 无 | ||
| 维度 | 本样本 | Mirai | Gafgyt | Mozi | Hajime | LightAidra | KekSec | Tsunami | Kaiji | 匹配 |
|---|
| 变种 | 架构 | 大小 | 编译器 | 特征 | 状态 |
|---|---|---|---|---|---|
| N/A | |||||
行为: 调用RtlSetProcessIsCritical将自身标记为Windows关键进程
证据: RtlSetProcessIsCritical + ProcessCritical
行为: 创建Mutex确保单实例运行
证据: MutexControl
行为: 解析C2域名获取IP地址
证据: GetHostAddresses + CheckHostName
行为: 配置端口后连接C2服务器
证据: Ports + CheckHostName
行为: 通过注册表操作实现自启动和系统篡改
证据: RegistryValueKind + RegistryKeyPermissionCheck
行为: 提取Windows网络凭据并回传C2
证据: NetworkCredential + ICredentials + get_Credentials
行为: 接收C2指令:进程管理/文件操作/注册表/凭据窃取
证据: ProcessStartInfo + GetProcesses
CRITICAL_PROC→MUTEX→DNS→CONNECT→PERSIST→[STEAL|EXEC]→LOOP
关键进程<1s, DNS 1-3s, C2连接持续
| 维度 | 证据 | 权重 | 恶意指数 |
|---|
高度恶意 — BSOD保护 + 凭据窃取 + 注册表持久化
| 层 | API/技术 | 检测目标 | 绕过难度 |
|---|---|---|---|
| 无 | |||
| 检测方法 | VMware | VirtualBox | QEMU/KVM |
|---|---|---|---|
| 无 | |||
| 技术 | 是否存在 | 证据 | 对抗难度 |
|---|---|---|---|
| 反杀进程 | 是 | RtlSetProcessIsCritical — 终止进程触发BSOD | Hard |
| 反调试 | 可能 | .NET RAT常见 | Medium |
| 混淆 | 否 | VB.NET原生 | Easy |
| 层 | 操作 | API/命令 | 证据来源 |
|---|---|---|---|
| 无 | |||
| 反编译函数数 | N/A (.NET Managed) |
| 反编译输出 | N/A |
| 分析时长 | N/A |
| 总函数数 | 总调用关系 | 最大调用深度 |
|---|---|---|
| N/A (.NET IL) | N/A | N/A |
Main→RtlSetProcessIsCritical→Mutex→DNS_Resolve→ConnectC2→RegistryPersist→[StealCreds|ProcessMgmt]→RAT_Loop
| QEMU 模式 | 跳过 (.NET RAT + BSOD保护) |
| 网络隔离 | N/A |
| 执行结果 | N/A |
| C2 数据 |
| 偏移 | 字符串 | 类型 | 用途/含义 | 威胁等级 |
|---|---|---|---|---|
| .NET Metadata | RtlSetProcessIsCritical / ProcessCritical | 反杀进程 | BSOD保护 — 终止进程触发蓝屏 | CRITICAL |
| .NET Metadata | NetworkCredential / ICredentials / set_Credentials | 凭据窃取 | Windows网络凭据窃取 | HIGH |
| .NET Metadata | GetHostAddresses / CheckHostName / Ports | C2配置 | DNS解析+端口配置 | HIGH |
| .NET Metadata | RegistryValueKind / RegistryKeyPermissionCheck | 注册表 | 持久化+系统篡改 | HIGH |
| .NET Metadata | MutexControl | 单实例 | 防重复运行 | MEDIUM |
| .NET Metadata | ProcessStartInfo / GetProcesses / hProcess | 进程管理 | 启动/枚举/操纵进程 | HIGH |
RtlSetProcessIsCritical + NetworkCredential + MutexControl + Ports = 高威胁RAT。
RtlSetProcessIsCritical + ProcessCritical — 标记为Windows关键进程 — 终止=蓝屏NetworkCredential + ICredentials — Windows凭据管理器窃取GetHostAddresses + Ports — DNS动态解析C2域名rule DotNet_RAT_BSODProtect { strings: $b1 = "RtlSetProcessIsCritical" $b2 = "ProcessCritical" $b3 = "NetworkCredential" condition: all of them }
| 判定结果 | 恶意 |
| 恶意类型 | 远程访问木马 — BSOD保护 + 凭据窃取 + 注册表持久化 |
| 恶意家族 | .NET RAT (ProcessCritical保护) |
| 威胁级别 | HIGH |
| 置信度 | 85% — RtlSetProcessIsCritical + NetworkCredential + MutexControl + 端口配置 |
| 关联组织 | 未知 |
| 目标平台 | Windows x86/.NET Framework |
| 感染链位置 | Stage 0/1 RAT植入 |
?