Git805/detection-query-library
GitHub: Git805/detection-query-library
一套映射MITRE ATT&CK的开源威胁检测查询库,原生支持Microsoft Sentinel和IBM QRadar,帮助安全团队快速部署针对横向移动、凭证窃取、C2通信等常见攻击技术的检测规则。
Stars: 0 | Forks: 0
# 检测查询库
映射到 MITRE ATT&CK 的开源威胁狩猎和检测查询,为 Microsoft Sentinel (KQL) 和 IBM QRadar (AQL) 编写。由 Charudatta Padhye 构建和维护,作为 [ML-Powered Encrypted Traffic Fingerprinting System](https://github.com/Git805/ML-Powered-Encrypted-Traffic-Fingerprinting-System) 的配套项目。
## 查询索引
### KQL — Microsoft Sentinel
| 查询 | 技术 | 战术 | 严重性 | 日志源 |
|---|---|---|---|---|
| [lateral_movement_smb_admin_shares.kql](kql/lateral_movement_smb_admin_shares.kql) | T1021.002 | Lateral Movement | Medium/High | NetworkFileShareEvents |
| [credential_dumping_lsass_access.kql](kql/credential_dumping_lsass_access.kql) | T1003.001 | Credential Access | High | SecurityEvent |
| [c2_beaconing_periodic_https.kql](kql/c2_beaconing_periodic_https.kql) | T1071.001 | Command & Control | Medium/High | CommonSecurityLog |
| [persistence_registry_run_keys.kql](kql/persistence_registry_run_keys.kql) | T1547.001 | Persistence | Low/Medium/High | DeviceRegistryEvents |
| [defence_evasion_lolbins.kql](kql/defence_evasion_lolbins.kql) | T1218 | Defence Evasion | Low/Medium/High | DeviceProcessEvents |
### AQL — IBM QRadar
| 查询 | 技术 | 战术 | 严重性 | 日志源 |
|---|---|---|---|---|
| [lateral_movement_smb_admin_shares.aql](aql/lateral_movement_smb_admin_shares.aql) | T1021.002 | Lateral Movement | Medium/High | Windows Security Events |
| [credential_dumping_lsass_access.aql](aql/credential_dumping_lsass_access.aql) | T1003.001 | Credential Access | High | Windows Security Events |
| [c2_beaconing_periodic_https.aql](aql/c2_beaconing_periodic_https.aql) | T1071.001 | Command & Control | Medium/High | Network Flow Logs |
| [persistence_scheduled_task.aql](aql/persistence_scheduled_task.aql) | T1053.005 | Persistence | Medium/High | Windows Security Events |
| [defence_evasion_lolbins.aql](aql/defence_evasion_lolbins.aql) | T1218 | Defence Evasion | Medium/High/Critical | Windows Security Events |
## MITRE ATT&CK 覆盖范围
```
Lateral Movement (TA0008)
└── T1021.002 Remote Services: SMB/Windows Admin Shares
Credential Access (TA0006)
└── T1003.001 OS Credential Dumping: LSASS Memory
Command and Control (TA0011)
└── T1071.001 Application Layer Protocol: Web Protocols
Persistence (TA0003)
├── T1547.001 Boot or Logon Autostart: Registry Run Keys [KQL only]
└── T1053.005 Scheduled Task/Job: Scheduled Task [AQL only]
Defence Evasion (TA0005)
└── T1218 System Binary Proxy Execution (LOLBins)
```
## 使用方法
### Microsoft Sentinel (KQL)
1. 打开 Microsoft Sentinel → Logs
2. 复制并粘贴查询内容
3. 根据您的环境调整时间范围和排除列表
4. 设置适当的警报阈值,将其保存为 Scheduled Analytics Rule
```
// Example: Run lateral movement query and alert on results
// Set Schedule: Every 10 minutes
// Alert threshold: Results > 0
```
### IBM QRadar (AQL)
1. 打开 QRadar → Log Activity → Add Filter → Advanced Search
2. 粘贴 AQL 查询
3. 点击 Search
4. 保存为 Saved Search 以便重复执行
5. 创建由保存的搜索结果触发的 Offense Rule
```
-- All AQL queries use NOW() for time windowing
-- Adjust the interval (e.g., NOW() - 10 MINUTES) as needed
```
## 前置条件
### KQL 查询要求
| 查询 | 所需数据表 | 审核设置 |
|---|---|---|
| lateral_movement_smb | NetworkFileShareEvents | 已启用 File Share Auditing |
| credential_dumping_lsass | SecurityEvent | Audit Object Access (Success+Failure) |
| c2_beaconing | CommonSecurityLog | 防火墙/代理转发至 Sentinel |
| persistence_registry | DeviceRegistryEvents | MDE 已接入的端点 |
| defence_evasion_lolbins | DeviceProcessEvents | MDE 已接入的端点 |
### AQL 查询要求
| 查询 | 所需日志源 | 事件 ID |
|---|---|---|
| lateral_movement_smb | Windows Security Event Log | 5140 |
| credential_dumping_lsass | Windows Security Event Log | 4656, 4663 |
| c2_beaconing | Network Flow Logs | Flow data |
| persistence_scheduled_task | Windows Security Event Log | 4698, 4702 |
| defence_evasion_lolbins | Windows Security Event Log | 4688 |
## 调优指南
每个查询都附带排除列表,需要根据特定环境进行调优。在部署到生产环境之前:
**步骤 1 — 首先在仅监控模式下运行**
手动运行每个查询 1 周。审查所有结果。识别产生误报的合法活动。
**步骤 2 — 构建您的排除列表**
将合法的主机、进程和账户添加到每个查询的排除过滤器中。常见的添加项包括:
- SCCM / 软件部署服务器 → 横向移动排除项
- EDR 代理进程 → LSASS 访问排除项
- 已知监控工具 IP → 信标通信排除项
- 软件安装账户 → LOLBin 排除项
**步骤 3 — 调整阈值**
每个查询都记录了其阈值逻辑。从保守设置开始(较高的阈值 = 较少的警报),并在验证后逐渐下调。
**步骤 4 — 堆叠查询以获取更高置信度**
单一查询警报 → 调查。在同一主机上 1 小时内触发多个查询 → 立即升级处理。
| 组合 | 置信度 | 建议操作 |
|---|---|---|
| 仅 C2 信标通信 | Medium | 调查 |
| C2 信标通信 + LOLBin 执行 | High | 向 SOC 报警 |
| 横向移动 + 凭证转储 | High | 隔离主机 |
| 同一主机在 1 小时内触发全部五个查询 | Critical | 通知值班人员,立即隔离 |
## 配套资源
- **基于 ML 的检测:** [Encrypted Traffic Fingerprinting System](https://github.com/Git805/ML-Powered-Encrypted-Traffic-Fingerprinting-System) — 在加密的 HTTPS 流量中检测 C2 信标通信的准确率达到 94.7%
- **Sigma 规则:** [detection-rules library](../rules/) — 针对相同威胁技术的与平台无关的 Sigma 规则
- **博客:** [How I Built an ML System for Encrypted Threat Detection](https://dev.to/charudatta)
## 路线图
- [ ] 所有查询的 Splunk SPL 版本
- [ ] Elastic EQL 版本
- [ ] Darktrace 模型违规查询
- [ ] 云原生查询(AWS CloudTrail,GCP Audit Logs)
- [ ] 勒索软件前置检测查询包
- [ ] BFSI 行业专用查询包
## 作者
**Charudatta Padhye**
NDR 解决方案工程师 | 检测工程 | 安全 ML
[LinkedIn](https://linkedin.com/in/charudatta-padhye) · [GitHub](https://github.com/Git805) · [博客](https://dev.to/charudatta)
*如果这个库对您的威胁狩猎有所帮助,请在 GitHub 上点个 Star,以帮助其他从业者发现它。*
标签:AMSI绕过, Apex, AQL, Cloudflare, IBM QRadar, KQL, LOLBins, LSASS安全, Microsoft Sentinel, MITRE ATT&CK, 凭据窃取, 加密流量分析, 命令与控制, 嗅探欺骗, 威胁检测, 安全运营, 扫描框架, 机器学习, 权限维持, 横向移动, 流量指纹, 知识库安全, 私有化部署, 编程规范, 网络安全, 防御规避, 隐私保护