ethanmward/Detection-engineering-toolkit

GitHub: ethanmward/Detection-engineering-toolkit

面向 CrowdStrike NG-SIEM 的检测工程框架,提供生产级 CQL 规则、Python 自动化工具和威胁狩猎查询,并完整映射到 MITRE ATT&CK。

Stars: 1 | Forks: 0

# 检测工程工具包 一个面向 CrowdStrike Next-Gen SIEM (CQL) 的实用检测工程框架,包含生产就绪的检测规则、Python 自动化工具和威胁狩猎查询——全部映射到 MITRE ATT&CK。 由一位日常编写 CQL、将 Chronicle 规则转换为 NG-SIEM、并针对企业安全 API 构建 Python 管道的检测工程师构建。 ## 内容 ### 检测规则 (`/detections`) 跨四个威胁类别的生产级 CQL 检测逻辑: | 类别 | 检测项 | MITRE 覆盖范围 | |----------|-----------|----------------| | **身份威胁** | 高风险登录 → MFA 操纵、LDAP 侦察评分、暴力破解关联 | T1078, T1110, T1556 | | **不可能的移动** | 基于 Haversine 的地理位置异常(含 ASN/VPN 排除),带设备指纹识别的国际自连接变体 | T1078 | | **数据渗出** | SharePoint 批量下载、云存储暂存、异常下载量 | T1567, T1530, T1074 | | **持久化与规避** | 通过注册表绕过 UAC、浏览器劫持痕迹、源自可疑父进程的计划任务创建 | T1548, T1176, T1053 | 每个检测包括: - 带内联注释的完整 CQL 查询 - MITRE ATT&CK 映射(战术 + 技术) - 误报指导和调优建议 - 严重性评分逻辑 ### Python 工具 (`/python`) | 工具 | 用途 | |------|---------| | **`coverage_analyzer`** | 将已部署的检测映射到 MITRE ATT&CK 并识别缺口。输出热力图和优先级缺口报告。 | | **`hunt_generator`** | 从 MITRE 技术 ID 或威胁情报指标生成 CQL 狩猎查询。输出带有 Ward Script 头信息的即贴即用查询。 | | **`enrichment`** | 针对威胁情报 API(AbuseIPDB、VirusTotal、Shodan)丰富 IP 地址、域和 User Agent。输出用于 SIEM 关联的结构化 JSON。 | ### 狩猎查询 (`/hunting_queries`) 按狩猎假设组织的即用型 CQL 查询: - 凭证访问模式 - Living-off-the-land 二进制 (LOLBin) 滥用 - 编码 PowerShell 执行 - 异常服务账户行为 - 横向移动指标 ### 文档 (`/docs`) - `CQL_REFERENCE.md` — NG-SIEM 的完整 CQL 语法和函数参考 - `INVESTIGATION_PLAYBOOK.md` — 带决策框架的逐步警报分诊方法论 - `CHRONICLE_MIGRATION.md` — 从 Chronicle (YARA-L) 到 CQL 的字段映射和规则转换指南 ## 快速开始 ### 运行 Coverage Analyzer ``` pip install -r python/requirements.txt python python/coverage_analyzer/analyzer.py --detections-dir ./detections --output ./reports ``` ### 生成狩猎查询 ``` python python/hunt_generator/generator.py --technique T1078 --platform crowdstrike ``` ### 使用检测规则 将 `/detections` 中的任何 `.cql` 文件复制到 CrowdStrike NG-SIEM Advanced Event Search。每条规则都指定了所需的 `#repo` 和时间窗口建议。 ## 检测规则格式 每个检测遵循标准化格式: ``` // Ward Script - [Detection Name] // [Description of what this detects and why it matters] // MITRE: [Technique IDs] | Severity: [Critical/High/Medium/Low] | Author: Ethan Ward | v1.0 // False Positives: [Known FP sources and tuning guidance] // Required Repo: [repo name] | Recommended Window: [time range] #repo= | ``` ## MITRE ATT&CK 覆盖图 ``` ┌─────────────────────────────────────────────────────────────────────┐ │ Initial │ Execution │ Persist. │ Priv Esc │ Def Evas. │ Cred │ │ Access │ │ │ │ │ Access │ ├───────────┼───────────┼───────────┼───────────┼───────────┼────────┤ │ T1078 ✓ │ T1059 ✓ │ T1053 ✓ │ T1548 ✓ │ T1548 ✓ │ T1110 ✓│ │ Valid │ Command │ Scheduled │ Abuse │ Abuse │ Brute │ │ Accounts │ & Script │ Task/Job │ Elevation │ Elevation │ Force │ ├───────────┼───────────┼───────────┼───────────┼───────────┼────────┤ │ │ T1059.001 │ T1176 ✓ │ │ T1112 ✓ │ T1556 ✓│ │ │ PowerShell│ Browser │ │ Modify │ Modify │ │ │ │ Extension │ │ Registry │ Auth │ ├───────────┼───────────┼───────────┼───────────┼───────────┼────────┤ │ Discovery │ Lat. Move │ Collect. │ Exfil. │ │ │ ├───────────┼───────────┼───────────┼───────────┼───────────┼────────┤ │ T1087 ✓ │ T1021 ✓ │ T1074 ✓ │ T1567 ✓ │ │ │ │ Account │ Remote │ Data │ Exfil │ │ │ │ Discovery │ Services │ Staged │ Over Web │ │ │ │ T1018 ✓ │ │ T1530 ✓ │ │ │ │ │ Remote │ │ Data from │ │ │ │ │ System │ │ Cloud │ │ │ │ └─────────────────────────────────────────────────────────────────────┘ ``` ## 适用人群 - 在 CrowdStrike NG-SIEM 工作的检测工程师 - 希望转向检测工程领域的 SOC 分析师 - 从 Chronicle/Splunk 迁移到 CrowdStrike 的团队 - 任何需要生产验证的 CQL 模式而非理论示例的人 ## 关于 由 [Ethan Ward](https://linkedin.com/in/ethanmward) 构建 —— 专注于身份威胁、CrowdStrike NG-SIEM 和 Python 安全自动化的检测工程师。 ## 许可证 MIT —— 随意使用、复刻和构建。
标签:AbuseIPDB, AMSI绕过, Ask搜索, Cloudflare, CQL, CrowdStrike, CSV导出, DevSecOps, EDR, LDAP侦测, Log4j, MFA绕过, MITRE ATT&CK, NG-SIEM, PoC, Python, SIEM规则, Threat Hunting, UAC绕过, VirusTotal, 上游代理, 企业安全, 关联分析, 嗅探欺骗, 威胁检测, 安全运营, 异常登录, 情报富化, 扫描框架, 数据渗出, 无后门, 暴力破解, 权限维持, 浏览器劫持, 私有化部署, 网络安全, 网络资产管理, 脆弱性评估, 覆盖度分析, 规则转换, 计划任务, 身份威胁, 逆向工具, 防御规避, 隐私保护