| 分类 | 标签 | 置信度 |
|---|---|---|
| 恶意类型 | 进程注入工具 / 代码注入器 | HIGH |
| 编译方式 | .NET Native AOT (CoreRT/ILCompiler) | HIGH |
| 注入方法 | APC 注入 (QueueUserAPC + SetThreadContext) | HIGH |
| 权限操作 | OpenProcessToken + AdjustTokenPrivileges | HIGH |
| 持久化 | 启动文件夹 + 注册表 | HIGH |
| 反检测 | 时间检测 (GetTickCount64 + QueryPerformanceCounter) | MEDIUM |
| 目标平台 | Windows x64 (.NET 8.0) | HIGH |
| 字段 | 值 |
|---|---|
| 关联组织 | 未归因 |
| 别名 | 无已知 APT 关联 |
| 动机 | 代码注入、进程劫持、权限提升 |
| 目标行业 | 无特定行业目标 |
| 活动名称 | ? |
| C2协议 | 未发现 (C2 配置可能加密或运行时获取) |
| C2基础设施 | 未发现 |
| 位置 | CommonStartup / CommonDesktopDirectory |
| 方法 | .NET Environment.SpecialFolder |
| 触发 | 用户登录时自动执行 |
字符串 'CommonStartup0' 和 'CommonDesktopDirectory2'
| 位置 | Microsoft.Win32.Registry |
| 方法 | .NET Registry API |
| 触发 | 系统启动时执行 |
Microsoft.Win32.Registry.dll 引用
| 维度 | 评估 |
|---|---|
| 持久化可靠性 | 高 |
| 隐蔽性 | 中 |
| 清除难度 | 中 |
| 协议 | 未知 |
| 端口 | 未知 |
| 地址/Domain | 未发现 (C2 配置可能加密或运行时获取) |
| IP | 未发现 |
| 加密 | 未知 |
| 用途 | 命令与控制 |
| API引用 | 未知 |
| 证书 | 未知 |
未知
C2 基础设施未在静态分析中发现。C2 地址可能通过命令行参数传递、配置文件读取或加密嵌入在资源段中。
N/A
| 段/节区 | 熵值 | 判定 |
|---|---|---|
| .text | 6.82 | 高熵 — .NET AOT 编译原生代码 |
| .rdata | 5.64 | 正常 |
| .data | 4.12 | 正常 |
| 地址 | 函数 | 功能 |
|---|---|---|
| N/A | ||
| 调用号 | 系统调用 | 用途 | 地址 |
|---|---|---|---|
| N/A | |||
| 字段 | 值 | 来源 |
|---|---|---|
| 框架 | .NET 8.0 Native AOT (CoreRT) | 字符串分析 |
| 格式 | ReadyToRun | ReadyToRunSectionType |
| 依赖注入 | Microsoft.Extensions.DependencyInjection | 字符串分析 |
| DIE 误报 | Rust (实际为 .NET AOT) | DIE 检测 |
| 维度 | 本样本 | Process Injector | APC Injector | Code Injector | DLL Injector | F5 | F6 | F7 | F8 | 匹配 |
|---|---|---|---|---|---|---|---|---|---|---|
| 语言 | .NET Native AOT | C++ | C++ | C++ | C++ | 0/8 | ||||
| 注入方法 | APC | CreateRemoteThread | ✅ APC | ProcessHollowing | SetWindowsHookEx | 1/8 | ||||
| 权限提升 | 有 | ✅ 有 | ✅ 有 | 无 | 无 | 2/8 | ||||
| 持久化 | 有 | ✅ 有 | 无 | ✅ 有 | 无 | 2/8 |
| 变种 | 架构 | 大小 | 编译器 | 特征 | 状态 |
|---|---|---|---|---|---|
| N/A | |||||
行为: .NET Native AOT 运行时启动
证据: ReadyToRunSectionType, RhpCalculateStackTraceWorker
行为: 时间检测绕过沙箱和调试器
证据: GetTickCount64 + QueryPerformanceCounter
行为: 令牌操作和特权调整
证据: OpenProcessToken + AdjustTokenPrivileges
行为: APC 注入到目标进程
证据: VirtualAlloc + VirtualProtect + QueueUserAPC + SetThreadContext
行为: 启动文件夹和注册表植入
证据: CommonStartup + Microsoft.Win32.Registry
未构建
无数据
| 维度 | 证据 | 权重 | 恶意指数 |
|---|---|---|---|
| 进程注入 | 完整 APC 注入链 | 10 | 10/10 |
| 权限提升 | OpenProcessToken + AdjustTokenPrivileges | 10 | 9/10 |
| 持久化 | 启动文件夹 + 注册表 | 8 | 8/10 |
| 反检测 | 时间检测 | 7 | 7/10 |
| 反射加载 | AssemblyBinder + ReflectionDomainSetup | 7 | 8/10 |
恶意软件 (MALICIOUS)
| 层 | API/技术 | 检测目标 | 绕过难度 |
|---|---|---|---|
| 时间检测 | GetTickCount64 | 沙箱/调试器 | 中 |
| 时间检测 | QueryPerformanceCounter | 调试器 | 中 |
| 检测方法 | VMware | VirtualBox | QEMU/KVM |
|---|---|---|---|
| 无 | — | — | — |
| 技术 | 是否存在 | 证据 | 对抗难度 |
|---|---|---|---|
| .NET Native AOT 编译 | 已检测 | 托管代码编译为原生代码,静态分析困难 | 中 |
| 时间检测 | 已检测 | GetTickCount64 + QueryPerformanceCounter 检测沙箱 | 中 |
| DIE 误报 | 已检测 | DIE 误识别为 Rust(实为 .NET Native AOT) | 低 |
| 反调试 (IsDebuggerPresent) | 未检测 | 未发现标准调试器检测 API | — |
| 反虚拟机 | 未检测 | 无 VMware/VBox 检测特征 | — |
| 层 | 操作 | API/命令 | 证据来源 |
|---|---|---|---|
| 无 | |||
| 反编译函数数 | 0 |
| 反编译输出 | N/A |
| 分析时长 | 跳过 (.NET Native AOT — 代码为运行时生成的原生代码,反编译质量低) |
/* .NET Native AOT 编译 — 跳过 Ghidra 反编译 */| 总函数数 | 总调用关系 | 最大调用深度 |
|---|---|---|
| 0 | N/A | N/A |
N/A
| QEMU 模式 | 跳过 (需要 Windows x64 + .NET 8.0 运行时) |
| 网络隔离 | 待配置 |
| 执行结果 | 待定 |
| C2 数据 | 无动态 C2 通信 |
| 偏移 | 字符串 | 类型 | 用途/含义 | 威胁等级 |
|---|---|---|---|---|
| Strings | VirtualAlloc | 内存分配 | 在目标进程中分配可执行内存 | HIGH |
| Strings | VirtualProtect | 内存保护 | 修改内存页保护属性 | HIGH |
| Strings | QueueUserAPC | APC 注入 | 将 APC 排队到目标线程执行 | HIGH |
| Strings | SetThreadContext | 线程劫持 | 修改目标线程上下文 | HIGH |
| Strings | OpenProcessToken | 令牌操作 | 打开进程访问令牌 | HIGH |
| Strings | AdjustTokenPrivileges | 权限提升 | 调整令牌特权 | HIGH |
| Strings | OpenProcess | 进程访问 | 打开目标进程句柄 | HIGH |
| Strings | GetTickCount64 | 反沙箱 | 检测系统运行时间,识别沙箱环境 | MEDIUM |
| Strings | QueryPerformanceCounter | 反调试 | 高精度时间测量,检测调试器 | MEDIUM |
| Strings | Microsoft.Win32.Registry | 持久化 | 注册表访问 | HIGH |
| Strings | CommonStartup/CommonDesktopDirectory | 持久化 | 启动文件夹访问 | HIGH |
| Strings | AssemblyBinder/ReflectionDomainSetup | 反射加载 | 动态程序集加载 | HIGH |
所有 API 调用通过 .NET Native AOT 编译为原生代码,无传统 PE 导入表。字符串分析揭示了完整的进程注入工具链和持久化机制。未发现 C2 地址(可能通过运行时参数传递或加密配置)。
VirtualAlloc + VirtualProtect + QueueUserAPC + SetThreadContext — 完整的 APC 注入工具链OpenProcessToken + AdjustTokenPrivileges — 令牌操作和权限提升启动文件夹 + 注册表 — 双重持久化机制02a8f08e3340b89c987dfbf1a961487cdac104d988b8f98c036eeb226c25c9e4 — 样本 SHA256a18c0d2d31da3b0d474fbde83cab5bb4 — 样本 MD5未生成
| 判定结果 | 🔴 恶意软件 |
| 恶意类型 | 进程注入工具 / 代码注入器 |
| 恶意家族 | Process Injection Tool |
| 威胁级别 | HIGH |
| 置信度 | 90% — 高置信度:VirtualAlloc + QueueUserAPC + SetThreadContext + OpenProcessToken 进程注入链 |
| 关联组织 | 未归因 |
| 目标平台 | Windows x64 (.NET 8.0) |
| 感染链位置 | Stage 2 — 进程注入/代码执行 |
该样本为 .NET Native AOT 编译的 PE64 可执行文件(DIE 误报为 Rust)。通过字符串分析确认包含完整的进程注入工具链:VirtualAlloc(内存分配)、VirtualProtect(内存保护修改)、QueueUserAPC(APC 注入)、SetThreadContext(线程上下文劫持)、OpenProcessToken(令牌操作)、OpenProcess(进程打开)。同时具备启动文件夹持久化和注册表访问能力。使用 GetTickCount64 和 QueryPerformanceCounter 进行反沙箱/反调试检测。