bvlik/malware-triage-kit

GitHub: bvlik/malware-triage-kit

以 .NET 窃取木马为案例,将行为分析转化为可部署的 Sigma/YARA/STIX 检测包并附带带监管链验证的 Python Procmon 分诊工具。

Stars: 0 | Forks: 0

# 🦠 malware-triage-kit **针对 .NET 窃取木马的行为分析 —— 转化为您可以真正部署的检测方案。** 围绕 `Private.exe` 窃取木马的一套完整防御工作流:一个 Python **Procmon 分诊工具**(包含监管链验证)、一个可直接交付的**检测包**(Sigma / YARA / STIX / ATT&CK Navigator),以及支撑每一个论点的**证据**。仅涉及行为分析 —— 不含逆向工程。 [![许可证](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) ![Python](https://img.shields.io/badge/Python-3-0A1929?style=for-the-badge&logo=python&logoColor=12ABDB) ![Sigma](https://img.shields.io/badge/Sigma-rules-0A1929?style=for-the-badge) ![YARA](https://img.shields.io/badge/YARA-rules-0A1929?style=for-the-badge) ![STIX](https://img.shields.io/badge/STIX-2.1-0A1929?style=for-the-badge) ![ATT&CK](https://img.shields.io/badge/MITRE-ATT%26CK-0A1929?style=for-the-badge) 🤝 与 @StaiLee 合作完成
## 为什么做这个 一份仅仅停留在“这是一个窃取木马”的恶意软件分析报告是不完整的。本项目将行为分析一路推进到**可操作的输出**:同样的观察结果转化为了 SOC 可以推送到 Sentinel/Splunk/Elastic 的 Sigma 规则、用于扫描的 YARA 规则、用于 MISP/OpenCTI 的 STIX bundle,以及一个**证明证据未被篡改**的 Python 工具。我们将检测成果视为最终交付物,而不是事后的补充。 ## 一句话结论 `Private.exe` 是一个 **.NET 窃取木马**:它会**读取 Microsoft Edge 凭据**(读取 `Local State` → AES 主密钥;尝试读取 `Login Data` → 密码存储)并释放 `Too_late_*` 标记文件。在约 30 秒的观察窗口内,**未观察到 C2 通信和持久化行为**(已在 *局限性* 中如实说明);**DNS Client 服务持续崩溃并陷入死循环**。**高危严重性。** **二进制文件 SHA-256:** `2FB35630884583875BDC0362B34046F8A15FF31795942B02A8F64D008686C7F7` ## 目录结构 ``` malware-triage-kit/ ├── tool/ # reusable Python triage tool (stdlib only) │ ├── procmon_triage.py # → hash · procmon · verify · stix │ ├── tests/ # → pytest suite │ └── sample-procmon-export.csv ├── detection/ # ship-ready detection pack │ ├── sigma/ # → 3 Sigma rules (SIEM) │ ├── yara/ # → exact-hash + behavioral hunting rule │ ├── stix/ # → STIX 2.1 bundle (MISP / OpenCTI) │ └── navigator/ # → MITRE ATT&CK Navigator layer ├── evidence/ # raw proofs + chain of custody (CSV / JSON) └── docs/ # attack chain + written analysis ``` ## 分诊工具 — `procmon_triage.py` 纯 Python 3 编写,无外部依赖。包含四个子命令: | 命令 | 用途 | |---------|---------| | `hash` | 获取二进制文件**以及**每个证据文件的指纹(SHA-256/1、MD5)→ 构成监管链 | | `procmon` | 分诊 Process Monitor 导出的 CSV 文件(**严格按 PID 过滤**),对文件/注册表/网络行为进行分类,标记持久化及破坏行为,提取 IoCs | | `verify` | 根据清单重新计算证据哈希值 → 得出 **INTACT(完好) / INCOMPLETE(不完整) / TAMPERED(已篡改)** 的结论(若状态非完好则以非零状态码退出) | | `stix` | 将提取的 IoCs 导出为 STIX 2.1 bundle | ``` cd tool python -m pytest tests/ -v # run the test suite python procmon_triage.py procmon sample-procmon-export.csv --pid 6988 --json triage.json python procmon_triage.py verify ../evidence/hash-evidences.csv ``` 严格按 PID 过滤至关重要:它可以防止将同名进程或分析编排器的操作错误地归咎于恶意软件 —— 这是经得起推敲的结论与主观臆断之间的区别。 ## 检测包 | 产物 | 覆盖范围 | |----------|--------| | `sigma/stealer_edge_credential_store_access.yml` | 非浏览器进程读取 Edge 凭据 —— T1555.003 / T1539 / T1005 | | `sigma/too_late_marker_file_dropped.yml` | 释放 `Too_late_*.txt` 标记文件 —— T1486 | | `sigma/dnscache_service_crash_loop.yml` | DNS Client 崩溃死循环 —— T1489 | | `yara/private_stealer.yar` | 精确哈希规则(确定匹配)+ 行为狩猎规则(用于验证) | | `stix/private-stealer.stix.json` | STIX 2.1 bundle(指标 + 恶意软件 + ATT&CK) | | `navigator/private-layer.json` | 已观察到的技术的 ATT&CK Navigator 热力图 | ``` # Sigma → SIEM 查询(示例) pip install sigma-cli sigma convert -t microsoft365defender detection/sigma/stealer_edge_credential_store_access.yml ``` 更多细节及攻击链:**[docs/attack-chain.md](docs/attack-chain.md)** · **[docs/analysis.md](docs/analysis.md)** · **[detection/README.md](detection/README.md)**。 ## MITRE ATT&CK → 检测映射 | 技术(已观察到) | 提供的检测 | |----------------------|--------------------| | T1555.003 Web Browser Credentials | Sigma `stealer_edge_credential_store_access` + STIX | | T1539 Steal Web Session Cookie | Sigma(针对 `Network\Cookies`)+ STIX | | T1005 Data from Local System | Sigma(Local State → Login Data 序列) | | T1518 / T1082 Discovery | 注册表关联分析 | | T1486-like(标记文件,无加密行为) | Sigma `too_late_marker_file_dropped` + YARA `$marker1` | | T1489 Service Stop (DNS) | Sigma `dnscache_service_crash_loop` | | 二进制文件识别 | YARA `private_exe_exact_hash` (SHA-256) + STIX 文件哈希 | ## 相关工作 属于同一蓝队作品集的一部分: - [home-detection-lab](https://github.com/bvlik/home-detection-lab) — Sigma 规则 + ATT&CK 场景 + 可运行的检测器 - [sigma-rule-pack](https://github.com/bvlik/sigma-rule-pack) — 映射到 ATT&CK 的精选 Sigma 检测规则 - [log-triage-toolkit](https://github.com/bvlik/log-triage-toolkit) — 只读权限的 auth-log 分诊工具

bvlik@StaiLee 构建 —— 专注于恶意软件分析与检测工程。

标签:DAST, HTTP工具, Python, StruQ, YARA, 云资产可视化, 威胁情报, 安全规则引擎, 开发者工具, 恶意软件分析, 数字取证, 无后门, 检测规则, 网络资产发现, 自动化脚本