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, 上游代理, 企业安全, 关联分析, 嗅探欺骗, 威胁检测, 安全运营, 异常登录, 情报富化, 扫描框架, 数据渗出, 无后门, 暴力破解, 权限维持, 浏览器劫持, 私有化部署, 网络安全, 网络资产管理, 脆弱性评估, 覆盖度分析, 规则转换, 计划任务, 身份威胁, 逆向工具, 防御规避, 隐私保护