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解析器, 逆向工程