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, 凭据窃取, 加密流量分析, 命令与控制, 嗅探欺骗, 威胁检测, 安全运营, 扫描框架, 机器学习, 权限维持, 横向移动, 流量指纹, 知识库安全, 私有化部署, 编程规范, 网络安全, 防御规避, 隐私保护