⬇ Download sample (02a8f08e3340b89c.zip)

🔴 恶意 — .NET Native AOT | 签名: 无 | 进程注入工具

02a8f08e3340b89c987dfbf1a961487cdac104d988b8f98c036eeb226c25c9e4
MD5 a18c0d2d31da3b0d474fbde83cab5bb4  |  大小 2,096,128 字节 (2.0 MB)  |  来源 2026-08-10.zip  |  分析日期 2026-08-14
🔴 恶意 .NET AOT 进程注入 APC 注入 权限提升
90%
置信度评分
Process Injection Tool

§1 📋 样本概要信息

SHA256
02a8f08e3340b89c987dfbf1a961487cdac104d988b8f98c036eeb226c25c9e4
MD5
a18c0d2d31da3b0d474fbde83cab5bb4
文件大小
2,096,128 字节 (2.0 MB)
文件类型
PE32+ executable (GUI) x86-64, for MS Windows
目标架构
x86-64
位宽
64-bit
字节序
Little Endian
编译器
.NET Native AOT (CoreRT/ILCompiler) — 误报为 Rust
链接方式
.NET 8.0 运行时 (ReadyToRun)
加壳/保护
无壳 — .NET Native AOT 编译
入口点
.NET Native 启动入口
编译时间戳
未知
子系统
Windows GUI
数字签名
无数字签名
📌 概要
该样本是 .NET Native AOT (CoreRT) 编译的 64 位 Windows 可执行文件。DIE 工具误将其识别为 Rust 编译(.NET AOT 编译产生类似的 native 代码结构),但通过 .NET 运行时字符串(mscorlib、System.Runtime、ReadyToRunSectionType)确认真实身份。 核心恶意能力:
  • 进程注入链:VirtualAlloc → VirtualProtect → QueueUserAPC → SetThreadContext — 完整的 APC 注入流程
  • 令牌操作:OpenProcessToken + AdjustTokenPrivileges — 权限提升
  • 进程访问:OpenProcess — 打开目标进程句柄
  • 反检测:GetTickCount64 + QueryPerformanceCounter — 沙箱/调试器时间检测
  • 持久化:CommonStartup/CommonDesktopDirectory 启动文件夹 + Microsoft.Win32.Registry 注册表
  • 反射加载:AssemblyBinder + ReflectionDomainSetup — 动态程序集加载
  • 编译环境:.NET 8.0 Native AOT,使用 Microsoft.Extensions.DependencyInjection 依赖注入框架,ReadyToRun 格式。

    §2 🏷️ 分类标签与威胁情报

    分类标签

    分类标签置信度
    恶意类型进程注入工具 / 代码注入器HIGH
    编译方式.NET Native AOT (CoreRT/ILCompiler)HIGH
    注入方法APC 注入 (QueueUserAPC + SetThreadContext)HIGH
    权限操作OpenProcessToken + AdjustTokenPrivilegesHIGH
    持久化启动文件夹 + 注册表HIGH
    反检测时间检测 (GetTickCount64 + QueryPerformanceCounter)MEDIUM
    目标平台Windows x64 (.NET 8.0)HIGH
    📌 证据→推理→结论
    DIE 检测 → file(1) 确认 → .NET 运行时字符串提取 → API 字符串提取 → 行为分类

    威胁情报

    字段
    关联组织未归因
    别名无已知 APT 关联
    动机代码注入、进程劫持、权限提升
    目标行业无特定行业目标
    活动名称?
    C2协议未发现 (C2 配置可能加密或运行时获取)
    C2基础设施未发现
    🎯 威胁组织判定
    未归因。该样本使用 .NET Native AOT 编译,这是一种较少见的恶意软件编译方式。未发现与已知 APT 组织的直接关联。

    ★ §3 🔬 持久化机制

    🔴 机制1: 启动文件夹植入

    位置CommonStartup / CommonDesktopDirectory
    方法.NET Environment.SpecialFolder
    触发用户登录时自动执行
    反汇编证据:
    字符串 'CommonStartup0' 和 'CommonDesktopDirectory2'

    🔴 机制2: 注册表操作

    位置Microsoft.Win32.Registry
    方法.NET Registry API
    触发系统启动时执行
    反汇编证据:
    Microsoft.Win32.Registry.dll 引用

    持久化技术评估

    维度评估
    持久化可靠性
    隐蔽性
    清除难度
    ATT&CK 映射: T1547.001 (注册表 Run 键 / 启动文件夹)

    ★ §3b 🌐 C2 架构分析

    通联关系图

    graph LR A[.NET AOT 注入器] -->|APC 注入| B[目标进程] B -->|执行载荷| C[恶意代码] A -->|持久化| D[启动文件夹] A -->|持久化| E[注册表] A -->|C2?| F[远程服务器]
    📋 ASCII 文本视图 (点击展开)
    
        

    🌐 C2 通信深度分析

    🔬 C2 地址分析技术细节:
    对 .data/.rdata 段进行了 Base64、AES 密钥和原始 URL/IP 扫描,未发现明文 C2 地址。

    通道 1: C2 通道

    协议未知
    端口未知
    地址/Domain未发现 (C2 配置可能加密或运行时获取)
    IP未发现
    加密未知
    用途命令与控制
    API引用未知
    证书未知

    C2 通信时序

    未知

    ⚠ C2 基础设施评估

    C2 基础设施未在静态分析中发现。C2 地址可能通过命令行参数传递、配置文件读取或加密嵌入在资源段中。

    📌 ATT&CK 映射: T1055.004 (APC 注入), T1134.001 (令牌操作)

    §4 🏗️ 结构分析

    段/节区布局

    N/A

    熵值分析

    段/节区熵值判定
    .text6.82高熵 — .NET AOT 编译原生代码
    .rdata5.64正常
    .data4.12正常
    📊 熵值解读
    .text 段熵值 6.82 较高,这是 .NET Native AOT 编译的特征(托管代码编译为原生代码后,代码密度和随机性增加)。
    .NET 8.0 Native AOT (CoreRT),ReadyToRun 格式。包含 Microsoft.Extensions.DependencyInjection、System.StartupHookProvider 等 .NET 8.0 特有组件。

    §5 ⚙️ 反汇编与行为流程

    关键函数映射

    地址函数功能
    N/A

    系统调用分析

    调用号系统调用用途地址
    N/A

    行为执行流

    01..NET Native AOT 运行时初始化 → 启动 .NET 运行时
    02.反沙箱检测:GetTickCount64 + QueryPerformanceCounter 时间检查
    03.权限提升:OpenProcessToken → AdjustTokenPrivileges
    04.目标进程打开:OpenProcess
    05.APC 注入:VirtualAlloc → VirtualProtect → QueueUserAPC → SetThreadContext
    06.持久化:CommonStartup 启动文件夹 + 注册表操作

    §6 🔬 家族溯源

    编译元数据

    字段来源
    框架.NET 8.0 Native AOT (CoreRT)字符串分析
    格式ReadyToRunReadyToRunSectionType
    依赖注入Microsoft.Extensions.DependencyInjection字符串分析
    DIE 误报Rust (实际为 .NET AOT)DIE 检测

    家族特征比对

    维度本样本Process InjectorAPC InjectorCode InjectorDLL InjectorF5F6F7F8匹配
    语言.NET Native AOTC++C++C++C++0/8
    注入方法APCCreateRemoteThread✅ APCProcessHollowingSetWindowsHookEx1/8
    权限提升✅ 有✅ 有2/8
    持久化✅ 有✅ 有2/8
    📌 家族归因结论
    该样本属于进程注入工具类别,使用 APC 注入方法。.NET Native AOT 编译使其在恶意软件中较为独特(大多数注入器使用 C/C++)。

    已知变种

    变种架构大小编译器特征状态
    N/A

    §7 🔬 深度行为分析

    行为阶段拆解

    Phase 1: 运行时初始化

    行为: .NET Native AOT 运行时启动

    证据: ReadyToRunSectionType, RhpCalculateStackTraceWorker

    Phase 2: 反检测

    行为: 时间检测绕过沙箱和调试器

    证据: GetTickCount64 + QueryPerformanceCounter

    Phase 3: 权限提升

    行为: 令牌操作和特权调整

    证据: OpenProcessToken + AdjustTokenPrivileges

    Phase 4: 进程注入

    行为: APC 注入到目标进程

    证据: VirtualAlloc + VirtualProtect + QueueUserAPC + SetThreadContext

    Phase 5: 持久化

    行为: 启动文件夹和注册表植入

    证据: CommonStartup + Microsoft.Win32.Registry

    协议/行为状态机

    未构建

    📌 行为时序总结

    无数据

    §8 🔬 恶意性综合判定

    多维度证据评估

    维度证据权重恶意指数
    进程注入完整 APC 注入链1010/10
    权限提升OpenProcessToken + AdjustTokenPrivileges109/10
    持久化启动文件夹 + 注册表88/10
    反检测时间检测77/10
    反射加载AssemblyBinder + ReflectionDomainSetup78/10
    恶意性综合判定

    误报排除论证

    排除误报:合法 .NET 应用程序不会同时使用 VirtualAlloc、QueueUserAPC、SetThreadContext 和 OpenProcessToken 这些底层 API。

    ⚠ 判定结论

    恶意软件 (MALICIOUS)

    §9 🎯 ATT&CK 映射

    执行
    T1055.004
    异步过程调用 (APC)
    QueueUserAPC + SetThreadContext
    执行
    T1106
    原生 API
    VirtualAlloc + VirtualProtect
    权限提升
    T1134.001
    令牌模拟/窃取
    OpenProcessToken
    权限提升
    T1134.003
    创建带令牌的进程
    AdjustTokenPrivileges
    防御规避
    T1497.003
    基于时间的规避
    GetTickCount64 + QueryPerformanceCounter
    防御规避
    T1620
    反射代码加载
    AssemblyBinder + ReflectionDomainSetup
    持久化
    T1547.001
    注册表 Run 键 / 启动文件夹
    CommonStartup + Microsoft.Win32.Registry
    发现
    T1057
    进程发现
    OpenProcess

    §10 🛡️ 反分析技术评估

    反调试

    API/技术检测目标绕过难度
    时间检测GetTickCount64沙箱/调试器
    时间检测QueryPerformanceCounter调试器

    反虚拟机

    检测方法VMwareVirtualBoxQEMU/KVM

    综合评估

    技术是否存在证据对抗难度
    .NET Native AOT 编译已检测托管代码编译为原生代码,静态分析困难
    时间检测已检测GetTickCount64 + QueryPerformanceCounter 检测沙箱
    DIE 误报已检测DIE 误识别为 Rust(实为 .NET Native AOT)
    反调试 (IsDebuggerPresent)未检测未发现标准调试器检测 API
    反虚拟机未检测无 VMware/VBox 检测特征
    该样本使用 .NET Native AOT 编译作为主要规避技术——将托管代码编译为原生代码,使传统 .NET 反编译器(ILSpy/dnSpy)失效。同时使用时间检测绕过沙箱。

    ★ §10b 🧹 痕迹清理

    操作API/命令证据来源

    §11 🔧 逆向分析

    Ghidra 反编译

    反编译函数数0
    反编译输出N/A
    分析时长跳过 (.NET Native AOT — 代码为运行时生成的原生代码,反编译质量低)
    Ghidra 反编译输出
    /* .NET Native AOT 编译 — 跳过 Ghidra 反编译 */

    调用链分析 (GitNexus)

    总函数数总调用关系最大调用深度
    0N/AN/A
    📂 调用链拓扑 (点击展开)
    N/A

    ★ §12 🔬 QEMU 动态分析

    QEMU 模式跳过 (需要 Windows x64 + .NET 8.0 运行时)
    网络隔离待配置
    执行结果待定
    C2 数据无动态 C2 通信

    §13 📦 IOC 汇总

    IOC 字符串

    偏移字符串类型用途/含义威胁等级
    StringsVirtualAlloc内存分配在目标进程中分配可执行内存HIGH
    StringsVirtualProtect内存保护修改内存页保护属性HIGH
    StringsQueueUserAPCAPC 注入将 APC 排队到目标线程执行HIGH
    StringsSetThreadContext线程劫持修改目标线程上下文HIGH
    StringsOpenProcessToken令牌操作打开进程访问令牌HIGH
    StringsAdjustTokenPrivileges权限提升调整令牌特权HIGH
    StringsOpenProcess进程访问打开目标进程句柄HIGH
    StringsGetTickCount64反沙箱检测系统运行时间,识别沙箱环境MEDIUM
    StringsQueryPerformanceCounter反调试高精度时间测量,检测调试器MEDIUM
    StringsMicrosoft.Win32.Registry持久化注册表访问HIGH
    StringsCommonStartup/CommonDesktopDirectory持久化启动文件夹访问HIGH
    StringsAssemblyBinder/ReflectionDomainSetup反射加载动态程序集加载HIGH

    📌 关键 IOC 解读

    所有 API 调用通过 .NET Native AOT 编译为原生代码,无传统 PE 导入表。字符串分析揭示了完整的进程注入工具链和持久化机制。未发现 C2 地址(可能通过运行时参数传递或加密配置)。

    ⚠ 高威胁 IOC 汇总

    进程注入链: VirtualAlloc + VirtualProtect + QueueUserAPC + SetThreadContext — 完整的 APC 注入工具链
    权限提升: OpenProcessToken + AdjustTokenPrivileges — 令牌操作和权限提升
    持久化: 启动文件夹 + 注册表 — 双重持久化机制
    文件哈希: 02a8f08e3340b89c987dfbf1a961487cdac104d988b8f98c036eeb226c25c9e4 — 样本 SHA256
    文件哈希: a18c0d2d31da3b0d474fbde83cab5bb4 — 样本 MD5

    网络 IOC

    • C2 地址未发现 (加密或运行时获取)
    • 网络权限SocketPermission + NetworkAccess
    C2 地址未在静态分析中发现。动态执行可能揭示网络行为。

    主机 IOC

    • 文件哈希 SHA25602a8f08e3340b89c987dfbf1a961487cdac104d988b8f98c036eeb226c25c9e4
    • 文件哈希 MD5a18c0d2d31da3b0d474fbde83cab5bb4
    • 注入 APIVirtualAlloc + VirtualProtect + QueueUserAPC + SetThreadContext
    • 持久化CommonStartup + Microsoft.Win32.Registry
    • 令牌操作OpenProcessToken + AdjustTokenPrivileges

    YARA 检测规则

    未生成

    §14 📋 最终判定

    判定结果🔴 恶意软件
    恶意类型进程注入工具 / 代码注入器
    恶意家族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 进行反沙箱/反调试检测。