DeCyberGuardian/cti-driven-detection-and-AI-Assisted-soc-pipeline-wazuh-sysmon

GitHub: DeCyberGuardian/cti-driven-detection-and-AI-Assisted-soc-pipeline-wazuh-sysmon

一个基于 Wazuh+Sysmon 的威胁情报驱动检测流水线,将 IOC 自动转化为检测规则并通过 AI 层丰富告警上下文。

Stars: 0 | Forks: 0

# 🧠 CTI 检测流水线 — Wazuh + Sysmon + 情报驱动检测 **作者:** DeCyberGuardian 👨🏾‍💻 · 网络威胁情报与检测工程 一个基于以下理念构建的检测流水线:**情报驱动检测,而不仅仅是工具。** 它接收威胁情报 IOC,对其进行标准化和评分,将其转化为针对实时 Sysmon 遥测数据运行的 Wazuh 规则,并通过 AI 层丰富生成的警报,该 AI 层在模型不可用时会优雅降级。 ## 🗺️ 工作流程 ``` Threat-intel sources (Abuse.ch, OTX) ↓ IOC ingestion & normalisation ↓ CTI processing (dedup + scoring) ↓ Detection engineering (Wazuh rules) ↓ Sysmon endpoint telemetry ↓ Wazuh alerts ↓ AI enrichment (cloud + local fallback) ``` ## 🛰️ 阶段 1 — IOC 获取 从 **Abuse.ch (URLhaus / MalwareBazaar)** 和 **AlienVault OTX** 提取指标,然后在它们成为规则之前进行去重和评分。 ## 🛡️ 阶段 2 — 检测工程(Wazuh + Sysmon) **实验环境:** Wazuh 4.x · Sysmon(DNS 使用 Event ID 22)· 自定义规则 · VMware | 规则 | 文件 | 检测内容 | MITRE | | :--- | :--- | :--- | :--- | | 基于 IOC 的 DNS | `100200-dns-ioc.xml` | 匹配 CTI 域名的 DNS 查询 | T1071.004 | | 标记域名 | `100205-dns-marker.xml` | 确定性测试域名(验证) | — | | DNS 信标 | `100206-dns-beaconing.xml` | 重复的 DNS 模式(C2 行为) | T1071.004 | | DGA | `100207-dns-dga.xml` | 算法生成的域名 | T1568.002 | 加载规则: ``` sudo cp wazuh/rules/*.xml /var/ossec/etc/rules/ sudo cp wazuh/lists/* /var/ossec/etc/lists/ sudo /var/ossec/bin/wazuh-analysisd -t sudo systemctl restart wazuh-manager ``` 测试检测: ``` ping afriwealth-lab-test-7777.com grep '"id":"100200"' /var/ossec/logs/alerts/alerts.json ``` ## 🤖 阶段 3 — AI 丰富 为每个警报添加上下文、置信度评分以及建议的分析师操作。 ``` # 本地测试 export ENRICHMENT_MODE=oneshot export WAZUH_ALERTS_FILE=./sample_data/alerts.json python scripts/enrich_wazuh_alerts.py # 实时,在 Wazuh manager 上 export ENRICHMENT_MODE=live export WAZUH_ALERTS_FILE=/var/ossec/logs/alerts/alerts.json python3 scripts/enrich_wazuh_alerts.py ``` **设计兜底机制。** 如果云端模型不可用(配额、网络、中断),流水线不会失败——它会回退到本地逻辑并记录原因: ``` { "rule_id": "100200", "domain": "example.com", "provider_status": "fallback", "fallback_reason": "insufficient_quota", "enrichment": { "assessment": "...", "confidence": "low" } } ``` 丰富后的警报将写入 `output/enriched_dns_alerts.jsonl`。 ## 🔁 工作流 在 VS Code 中本地开发和测试(单次执行) → 推送到 GitHub → 在 Wazuh 管理器上拉取 → 实时运行。 ## 🧠 关键经验 - 检测需要遥测数据**和**规则保持一致——Sysmon Event ID 22 必须映射到 `sysmon_event_22`,否则不会触发任何响应。 - 重复的 Wazuh 规则会*静默*失败——这是这里最难发现的 bug。 - 在构建规则之前对 CTI 进行标准化,使检测明显更加可靠。 - AI 应该**增强**流水线,绝不能成为单点故障——这就是需要兜底机制的原因。 ## 🎯 成果 一种 CTI 优先的检测方法:情报驱动规则,遥测数据证明它们,而数据丰富使警报达到随时可决策的状态。
标签:Subfinder, Sysmon, Wazuh, 威胁情报, 安全, 安全运营, 开发者工具, 扫描框架, 超时处理, 逆向工具