RuntimeHost.exe 恶意软件深度逆向分析报告
伪装成微软系统组件的高危 .NET 木马:ConfuserEx 混淆对抗、RunPE 进程镂空、挖矿与多类凭据窃取,含 C2 基础设施还原与 IOC 处置建议。
威胁等级:高危 | 分析日期:2026-09-02 | 静态分析,未执行样本
一句话结论:RuntimeHost.exe 伪装成微软系统组件,实为 ConfuserEx 高强度混淆的多功能 .NET 木马——集 RunPE 加载器 + 挖矿 + 多类凭据窃取 + 多重持久化 于一身。
| 算法 | 值 |
|---|---|
| SHA256 | 9d68677db4dcd4ea767b19ac65208c1adc63ca049d0fca3769d79672b93734f4 |
| MD5 | b75726631336ab42feddb8b80b20bc15 |
| 文件大小 | 1,197,112 字节 |
分析方式:静态侦查 + PE 元数据分析 + ILSpy 反编译 + 补丁真实类型构造器 + 真实 .NET 运行时受控模拟。所有结论均来自代码级证据与受控沙箱解密结果。
一、样本总览
样本是 PE32 可执行程序(纯 .NET 托管程序集,仅导入 mscoree.dll)。PE 头显示 GUI 子系统、时间戳被伪造指向未来、含数字签名目录但实际未签名。
程序集元数据完整伪装为微软产品,但内部文件名 SimpleRunPE.exe 直接暴露了它的 RunPE 加载器本质。
| 项目 | 值 | 分析结论 |
|---|---|---|
| 文件名 | RuntimeHost.exe | 伪装系统缓存进程名 |
| 伪装身份 | Windows System Cache Manager | 社会工程伪装 |
| 伪冒公司 | Microsoft Corporation | 伪造微软元数据 |
| 程序集内部名 | SimpleRunPE.exe | 暴露 RunPE 加载器本质(关键) |
| 文件类型 | PE32 / .NET 托管程序集 | 仅导入 mscoree.dll |
| Subsystem / 时间戳 | GUI(2) / 0xC8883CB6(伪造) | 指向未来,反取证 |
| 数字签名 | 含目录但实际未签名 | 伪装签名 |
| 混淆框架 | ConfuserEx(ConfusedByAttribute 确认) | 高强度混淆 |
| 威胁分类 | 加载器 + 挖矿 + 窃密 + 持久化 | 高危 |
同家族变体已被威胁情报收录,安装路径 C:\ProgramData\Microsoft\Windows\Caches\*\RuntimeHost.exe,与本次样本驻留路径一致。
二、伪装与规避技术
2.1 社会工程伪装
- 伪造微软产品元数据:Product =「Windows System Cache Manager」、Company =「Microsoft Corporation」
- 运行时复制为
RuntimeHost.exe并置于系统缓存目录,与合法进程RuntimeBroker.exe视觉混淆 - 目的:让管理员和普通用户误判为合法系统组件
2.2 混淆层(ConfuserEx)
- 标识符混淆:全部类型/方法名替换为零宽 Unicode 字符(
\u200B~\u206F),阻断静态字符串与符号识别 - 控制流扁平化:
.cctor改写成 2492 条指令的 switch 状态机(211 个分支) - 字符串加密:URL、C2、文件名等全部经泛型解密器
<Module>::<string>(int)加密,反编译只看到整数键 - 元数据流名随机化:CLI 元数据流名(如
#US)被改写为随机字节 - 反篡改:
Environment.FailFast完整性校验,程序集被篡改立即终止进程
三、恶意行为(反编译代码级证据)

3.1 RunPE 进程镂空加载器(核心)
调用链:CreateProcess(挂起) → WriteProcessMemory(写入载荷) → SetThreadContext → ResumeThread,并包含 CreateRemoteThread 远程线程注入。
程序主动开启 SeDebugPrivilege 提权以获得跨进程写入能力。这正是内部名 SimpleRunPE 的直接印证——样本可作为内存加载器,投放并执行任意下一阶段载荷。
3.2 加密货币挖矿
通过一整套状态文件管理挖矿程序生命周期:
- 状态文件:
connection_type.txt、last_stop_reason.txt、last_start_result.txt、last_start_message.txt、last_miner_error.txt、launched_plugin.txt、sp.dat、lastgood_miner.txt - 输出重定向:挖矿输出写入
.mout文件 - 隐藏属性:
Hidden|System|NotContentIndexed - 日志轮转:按大小阈值自动轮转(2097152 / 1048576 / 256000 / 122880 字节)
- 守护逻辑:具备矿工程序启动/停止/失败处理,说明会下载并长期驻留第三方挖矿载荷
3.3 Cursor AI 编辑器凭据窃取
使用 winsqlite3 读取 Cursor 本地 SQLite 数据库(state.vscdb),明文查询:
SELECT key, value FROM ItemTable WHERE key LIKE 'cursorAuth/%' LIMIT 32
一次最多窃取 32 条 cursorAuth 会话凭据,可用于劫持账号会话。
3.4 网络侦察与空闲躲避
- 网络侦察:通过
iphlpapi监控连接并统计 RTT,判断连通状态(挖矿/回连的前提) - 空闲躲避:调用
user32检测系统空闲,用户活跃时暂停挖矿,降低暴露与触发杀软告警的概率
四、恶意软件杀伤链

| 阶段 | 动作 | 关键证据 |
|---|---|---|
| ① 投递/伪装 | 伪装系统缓存管理器、伪造微软签名元数据 | Product/Company/内部名 |
| ② 落地驻留 | 缓存目录、HKCU Run、启动文件夹、计划任务 | WinSysCacheUpdate |
| ③ 权限提升 | SeDebugPrivilege + 反篡改 FailFast | OpenProcessToken/AdjustTokenPrivileges |
| ④ 加载器执行 | RunPE 进程镂空、注入下一阶段载荷 | CreateRemoteThread |
| ⑤ 窃密/挖矿 | 窃取 Cursor 令牌、守护挖矿程序 | cursorAuth SQL / 状态文件 |
| ⑥ 持续回连 | RTT 网络检测、C2 回连、载荷更新 | iphlpapi + 空闲躲避 |
五、混淆体系与逆向对抗

关键突破点
- 直接反射解密失败:cctor 反篡改在 Linux/.NET 8 下抛
TypeInitializationException,常量字段无法初始化 - 自研 dnlib IL 解释器:支持扁平化所需全部操作码、模拟内存指针,绕过 VirtualProtect 包装器与 FailFast,约 180 万步模拟执行 cctor
- 提取加密常量块 array7(34,688 字节)并验证提取正确性
- 补全
RuntimeHelpers.InitializeArray语义后,还原出 LZMA 属性头5D 00 00 80 00与解压后大小 2,596,012 字节 - 确定解压链为自定义 LZMA:格式 =
[5字节 LZMA 属性][4字节解压后大小][LZMA 压缩流] - 补丁程序集 + 真实运行时:把反篡改校验改为恒真、解压器改为「落盘 + 原样返回」,交由真实 .NET 运行时执行 cctor —— 成功落盘 34,688 字节常量块,解码还原 2,596,012 字节完整常量表,全部加密字符串明文取得
六、持久化与处置

6.1 持久化驻留(多重机制)
- 注册表:
HKCU\Software\Microsoft\Windows\CurrentVersion\Run(及 RunOnce)写入随机命名自启动项 - 启动文件夹:向用户启动目录投放副本
- 计划任务:创建名为
WinSysCacheUpdate的计划任务(伪装系统更新) - 驻留目录:
C:\ProgramData\Microsoft\Windows\Caches\(变体路径含6230B266),属性Hidden|System|NotContentIndexed
6.2 主机侧 IOC
| 类别 | 指标 |
|---|---|
| 样本哈希 | SHA256 9d68677db4dcd4ea767b19ac65208c1adc63ca049d0fca3769d79672b93734f4 |
| 样本哈希 | MD5 b75726631336ab42feddb8b80b20bc15 |
| 文件 | RuntimeHost.exe;内部名 SimpleRunPE.exe;伪装微软元数据 |
| 路径 | C:\ProgramData\Microsoft\Windows\Caches\DC068D27\RuntimeHost.exe(变体 6230B266) |
| 计划任务 | WinSysCacheUpdate |
| 注册表 | HKCU...\CurrentVersion\Run(及 RunOnce)下随机命名项 |
| 挖矿文件 | connection_type.txt、lastgood_miner.txt、sp.dat、*.mout |
| 行为特征 | CPU 异常偏高;state.vscdb 被读取;出现进程注入调用链 |
网络侧 IOC(C2 域名、API、矿池)见下一节。
6.3 处置建议
- 排查上述路径 / 计划任务 / 注册表项,确认后清除
- 终止 CPU 异常且名为
RuntimeHost.exe的进程,全盘查杀 RunPE 注入载荷与挖矿程序 - 撤销 Cursor / Claude 会话令牌使其失效,避免账号被冒用
- 断网隔离后取证,防止 C2 回连与载荷更新;必要时恢复系统或重装
七、C2 基础设施(解密还原)

通过「补丁类型构造器 + 真实 .NET 运行时」执行,还原出 34,688 字节加密常量块并解码为 2,596,012 字节常量表,C2 域名、面板 API、窃取端点、矿池与矿工配置等加密字符串全部取得明文。
7.1 C2 引导域名(8 个降级子域)
按顺序前缀 1~8 轮换,用于拉取 /data.txt 配置(含真实 C2/矿池/钱包下发数据),提高抗封禁与存活能力:
https://1-xx123998xx.gleeze.com/data.txt … https://8-xx123998xx.gleeze.com/data.txt
即 1- 到 8- 前缀,域名主体均为 xx123998xx.gleeze.com,路径均为 /data.txt。
7.2 控制面板 API 端点
相对路径,拼接在 C2 基础 URL 上:
| 功能 | API 端点 |
|---|---|
| 启动回信 | /api/boot/event |
| 自更新 | /api/tasks/update-exe |
| 远程执行文件 | /api/tasks/run-file |
| 挖矿载荷下发 | /api/tasks/payload?minerType= |
| 代理下载 EXE | /api/proxy/exe、/api/proxy/exe?local=1、/api/proxy/exe-status |
| 状态回传 | /api/v1/status |
| Claude 凭据上传 | /api/claude/upload |
| Cursor 凭据上传 | /api/cursor/upload |
| Discord 令牌上传 | /api/discord/upload?device= |
| Telegram 会话上传 | /api/telegram/upload?device= |
| 浏览器 Cookie 上传 | /api/cookies/upload?device=、/api/cookies/status?device=、/api/cookies/tools/ |
7.3 地理位置检测与挖矿基础设施
调用 ip-api.com、api.country.is、ifconfig.co 识别国家/地区(countryCode),用于按国家过滤挖矿,规避监管与检测。
- 矿池:
herominers.com(stratum+tcp / stratum+ssl) - 矿工:7 款客户端,内置各自下载 URL —— lolMiner、SRBMiner-Multi、peakminer、bzminer、krig-miner、miniZ、gminer
- 币种:ETH / ETHW、RAVENCOIN、MEOWCOIN、WOODCOIN、RETHERIUM、KYLACOIN、DINARTETHER
7.4 钱包地址结论(重要)
经对完整常量表逐条正则与人工核验:样本二进制内不包含任何硬编码的加密货币钱包地址。唯一的 0x 长串是占位零地址 0x0000000000000000000000000000000000000001,并非真实钱包。
钱包由 C2 控制面板动态下发,并且刻意隐藏:
- 代码用正则
wallet=\S+解析面板下发的MINER_START coin=ETH pool=... wallet=...消息 - 经内置 StratumProxy(本地
127.0.0.1代理)注入矿工连接 - 目的是把钱包从矿工命令行与配置文件中抹去,规避任务管理器等直接可见的暴露风险
因此钱包取证需在 C2 侧完成,而非靠二进制静态分析。
八、结论
RuntimeHost.exe 是一个高度混淆(ConfuserEx)的多功能 .NET 恶意木马,具备 RunPE 进程注入加载、加密货币挖矿、Cursor/Claude/Discord/Telegram/Cookie 多类凭据窃取、网络侦察、空闲躲避与多重持久化能力。
它集加载器与挖矿窃密于一身,且具备反分析、反篡改对抗能力,危害面广、隐蔽性强——威胁等级高危。
本次分析全程采用静态与受控模拟手段,未在本机执行样本本体;所有行为结论来自反编译代码的行级证据。
安全提醒:本文所列
gleeze.com域名为恶意 C2 基础设施,请勿直接访问;建议在隔离环境或威胁情报平台(VirusTotal、urlscan 等)中提交核验。本文仅供防御性安全研究与应急处置参考。