VishnuDurgesh2709/TTP-Mapping

GitHub: VishnuDurgesh2709/TTP-Mapping

一个模块化的 8 阶段威胁检测 pipeline,利用 MITRE CAR、Sigma 规则和自定义启发式方法,将 Sysmon 日志映射到 MITRE ATT&CK 技术并生成攻击链报告。

Stars: 0 | Forks: 0

# ATT&CK 检测 Pipeline 这是一个模块化的 8 阶段威胁检测 pipeline,它使用 CAR analytics、Sigma 规则和自定义启发式方法,将 Sysmon 日志(以及可选的 PCAP)映射到 MITRE ATT&CK 技术。 ``` Sysmon Logs ↓ Stage 1 — Log Normalizer log_normalizer.py ↓ (output/normalised/*.jsonl) Stage 2 — Behavior Extractor behavior_extractor.py ↓ (output/extracted_behaviors/*.json) Stage 3 — Detection Analytics detection_analytics.py ├── MITRE CAR Rules (20 analytics) ├── Sigma Rules (14 rules) └── Custom Rules (9 heuristics) ↓ (output/analytics/*.json) Stage 4 — Evidence Store evidence_store.py ↓ (output/evidence_store/*.json) Stage 5 — ATT&CK Mapper attck_mapper.py ↓ (output/attck_map/*.json + *_navigator.json) Stage 6 — Confidence Scorer confidence_scorer.py ↓ (output/confidence_scores/*.json) Stage 7 — Attack Chain Builder attack_chain_builder.py ↓ (output/attack_chains/*.json) Stage 8 — Report Generator report_generator.py (output/reports/*.json + *.md + *.html) ``` ## 快速开始 ``` # 完整 pipeline — sysmon_logs/ 中的所有样本 python pipeline.py # 单个样本 python pipeline.py --sample MagicRAT # 从 Stage 3 开始(analytics 已完成) python pipeline.py --from-stage 4 # 仅生成 HTML 报告 python pipeline.py --report-format html # 包含 TTP matcher 评分(需要 ttp_matcher.json) python pipeline.py --with-matcher ``` ## 文件索引 | 文件 | 阶段 | 描述 | |------|-------|-------------| | `pipeline.py` | Orchestrator | 端到端运行所有 8 个阶段 | | `log_normalizer.py` | 1 | Sysmon CSV → 标准 JSONL | | `behavior_extractor.py` | 2 | JSONL → ATT&CK 行为指标 | | `detection_analytics.py` | 3 | CAR + Sigma + 自定义规则引擎 | | `evidence_store.py` | 4 | 合并每个样本的所有阶段输出 | | `attck_mapper.py` | 5 | 证据 → ATT&CK 映射 + Navigator 层 | | `confidence_scorer.py` | 6 | 校准的 TTP 置信度分数 | | `attack_chain_builder.py` | 7 | 带有威胁评分的 Kill-chain 图谱 | | `report_generator.py` | 8 | JSON / Markdown / HTML 报告 | | `build_ttp_matcher.py` | Pre-build | 根据 CAPEv2 sigs 构建 `ttp_matcher.json` | | `ttp_confidence_matcher.py` | Scoring | 主机端 TTP 置信度匹配器 | | `ttp_network_confidence_matcher.py` | Scoring | 网络端 TTP 置信度匹配器 | | `pcap_behavior_extractor.py` | Network | PCAP → 网络行为画像 | ## 检测规则 ### MITRE CAR (阶段 3) 20 个 analytics 直接映射到已发布的 CAR ID,包括: - `CAR-2019-08-001` — 通过 LSASS 进行凭据转储 - `CAR-2013-10-002` — 通过 LoadLibrary 进行 DLL 注入 - `CAR-2019-11-001` — DNS 隧道 / DGA 活动 - `CAR-2021-05-012` — 创建指向 LSASS 的远程线程 - `CAR-2021-01-009` — 删除卷影副本 - `CAR-2021-05-008` — Certutil 下载 ### Sigma (阶段 3) 14 条基于主机的 Sigma 规则涵盖: - 进程注入、LSASS 访问、编码的 PowerShell - 可疑 DNS、Named Pipes、LOLBAS 执行 ### 自定义 (阶段 3) 9 个特定于项目的链式检测: - 完整注入链 (OpenProcess → Write → CreateRemoteThread) - 多阶段侦察突发 - 混淆的下载与执行 - C2 beacon 模式(网络关联) ## 输出 Schema ### 证据存储 (`output/evidence_store/.json`) ``` { "sample_name": "MagicRAT", "source_type": "sysmon|pcap|hybrid", "analytics_hits": [...], "ttps_observed": ["T1055", "T1003", ...], "indicators": {"WriteProcessMemory": 3, ...}, "attack_stages": {"CredentialAccess": [...], ...}, "confidence_scores": {"T1055": 0.81, ...}, "evidence_hash": "sha256..." } ``` ### 攻击链 (`output/attack_chains/.json`) ``` { "chain_summary": "5-phase attack chain...", "kill_chain": [{"phase": 3, "tactic": "Initial Access", ...}], "transitions": [{"from_tactic": "...", "to_tactic": "...", ...}], "chain_confidence": 0.74, "threat_score": 82.5, "ioc_pivots": ["WriteProcessMemory", "MiniDumpWriteDump"] } ``` ## ATT&CK Navigator 每个样本都会在以下路径生成一个随时可导入的 Navigator 层: `output/attck_map/_navigator.json` 在 https://mitre-attack.github.io/attack-navigator/ 导入
标签:AMSI绕过, Python, Sysmon, 威胁检测, 无后门, 时序数据库, 逆向工具