yankywilson/muddywater-stagecomp-moonzonet
GitHub: yankywilson/muddywater-stagecomp-moonzonet
针对 MuddyWater「Stagecomp」下载器(C2: moonzonet.com)的检测规则包与情报评估,涵盖 YARA、Sigma、Suricata、KQL 及经过验证的 IOC,并明确排除易致误报的伪影指标。
Stars: 0 | Forks: 0
# MuddyWater "Stagecomp" Downloader — 检测与情报包
**TLP:CLEAR** · 作者:Yanky Wilson ([github.com/yankywilson](https://github.com/yankywilson)) · 2026-06-11
针对原生 C++ 第一阶段 downloader("Stagecomp")的检测内容及面向分析师的评估。该 downloader 通过 HTTPS 向 **`moonzonet.com`** 进行信标通信,并经评估——**中等置信度**——为 **MuddyWater (伊朗 / MOIS)** 的工具。
此处的所有内容均建立在**第一手静态逆向工程**基础之上,基础设施声明已在证书透明度、被动 DNS 和主机扫描来源中进行了交叉核对。仅包含可复现的指标;已识别并排除了分析路径中的伪影(见下文)。
## 这是什么
一个极简的 **courier**,而非完整的 RAT。它对主机进行指纹识别,向 C2 注册,等待操作者的“执行”指令,下载包含三个文件的第二阶段载荷,将其启动,然后自我删除。没有持久化,没有提权,没有代码混淆。
```
MessageBox decoy → sleep → /register → poll /check
→ (on "approved":true OR "retry":true) → GET /download/Game.{dll,exe,config}
→ drop to \GameFiles\ → run Game.exe → /status → self-delete
```
## 归属分析 — 请先阅读此部分
将其归因于 **MuddyWater 的置信度为中等,而非已确认。** 这依赖于**单一的主要开源情报**以及相关的平台标签。有两个特征与典型的国家级 APT 全貌不符:一个**通用的(已撤销的)Microsoft Trusted Signing 证书**,以及同一域名上存在的**低级 Telegram/SaaS 诈骗诱饵**。请将此行为体归属视为临时结论。完整推理:[`docs/INTELLIGENCE_ASSESSMENT.md`](docs/INTELLIGENCE_ASSESSMENT.md)。
## 内容
| 路径 | 说明 |
|---|---|
| `detections/yara/stagecomp_downloader.yar` | 针对该 loader 的 YARA(配置字符串、imphash、hash-pin) |
| `detections/sigma/` | Sigma:自我删除、代理 C2 信标、文件释放、DNS |
| `detections/suricata/stagecomp.rules` | Suricata:DNS + TLS SNI(线路可见);HTTP UA/URI(需要 TLS 检测) |
| `detections/kql/stagecomp_hunting.kql` | Defender XDR / Sentinel 搜寻查询 |
| `IOCs.md` | 持久化指标 **+ 明确的排除指标列表** |
| `docs/ATTACK_MAPPING.md` | ATT&CK(包含针对各项技术的证据) |
| `docs/INTELLIGENCE_ASSESSMENT.md` | ICD-203 评估(伊朗/MuddyWater 背景、缺失环节、注意事项) |
## 最强指标
| 指标 | 值 |
|---|---|
| C2 域名 | `moonzonet.com` |
| User-Agent(子串) | `StageClient/2.0` |
| URI 链 | `/register`, `/check`, `/status`, `/download/Game.{dll,exe,config}` |
| 配置文件释放(近乎唯一) | `visualwincomp.txt`(位于 `\GameFiles\` 中) |
| SHA-256 | `a92d28f1d32e3a9ab7c3691f8bfca8f7586bb0666adbba47eab3e1a8faf7ecc0` |
| imphash | `9963ebabcee092908eac2414f7c4661a` |
## ⚠️ 哪些不是指标
请勿部署这些内容——它们属于伪影或共享的基础设施,会导致误报或无效的追踪。(包含原因的完整表格见 [`IOCs.md`](IOCs.md)。)
- **`The Universe Security Company Ltd` 自签名 TLS 证书** —— 沙箱/传输过程中的 MITM 伪影;在所有 CT 日志中均不存在。该域名的真实证书仅为公共 CA 颁发的 DV 证书。
- **Cloudflare 边缘 IP** `104.21.93.242`, `172.67.216.224`(及同一主机托管的相邻 IP) —— 共享前端,非持久性。
- **JA3/JA3S, TLS 记录大小, "217 周期" 计时** —— 操作系统 Schannel 产生的伪影,不受行为体控制。
- **`/checker`, `/checkera`, `/checknt`** —— 沙箱解析伪影;与二进制文件的实际行为相矛盾。
- **`HiStageClient/2.0`**(完整形式) —— 字符串转储产生的假象;运行时的实际 UA 为 `StageClient/2.0`。
- **OpenCodeSetup 诱饵页面 / `t.me/Normalmd`** —— 通用诱饵模板;该 loader 中没有任何 Telegram 代码。
## 用法
```
# YARA
yara -r detections/yara/stagecomp_downloader.yar /path/to/scan
# Sigma -> 你的 SIEM(示例:使用 sigma-cli 转换)
sigma convert -t detections/sigma/
# Suricata
cp detections/suricata/stagecomp.rules /etc/suricata/rules/ && suricatasc -c reload-rules
```
对于 Defender/Sentinel,请将 `detections/kql/stagecomp_hunting.kql` 中的查询语句粘贴到高级搜寻中(请逐一运行)。
**网络现状核对:** C2 通信使用的是 HTTPS。DNS 和 TLS-SNI 规则可直接在网络层生效;而 User-Agent 和 URI 规则需要通过具备 TLS 检测能力的代理才能识别。
## 注意事项与说明
- **`retry` 是一个 GO 信号,而不是退避机制。** 该 loader 在收到 `"approved":true` *或* `"retry":true` 时均会执行下载。仅当两者均未出现时,它才会进入循环。
- **未恢复到第二阶段载荷(`Game.exe`)** —— 在可用的测试触发(detonation)中,该控制门从未批准过下载。此处的检测仅针对 loader 和 C2,而非最终载荷。
- **`WebView2Loader.dll`** 和 **`Game.exe`** 都是非常合法化的名称 —— 请务必将其与 `\GameFiles\` 路径或同目录下的 `visualwincomp.txt` 结合进行研判。
## 参考
- Rapid7, *"Muddying the Tracks,"* 2026年5月 (主要归属来源)。
## 许可证
检测内容以 TLP:CLEAR 级别发布,仅供防御使用。请注明来源。
标签:DNS 反向解析, Metaprompt, Sigma规则, Suricata规则, YARA, 云资产可视化, 云资产清单, 威胁情报, 开发者工具, 目标导入, 网络信息收集, 自定义DNS解析器, 逆向工程