maverick-sahu/kql-detection-rules

GitHub: maverick-sahu/kql-detection-rules

基于 Microsoft Defender XDR 高级狩猎的原生 KQL 检测规则库,提供经生产环境验证并映射 MITRE ATT&CK 的企业级威胁检测方案。

Stars: 0 | Forks: 0

# KQL 检测规则 – Microsoft Defender XDR ![Rules](https://img.shields.io/badge/rules-8-blue) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE%20ATT%26CK-v14-red) ![Platform](https://img.shields.io/badge/platform-Microsoft%20Defender%20XDR-informational) ![Tables](https://img.shields.io/badge/tables-MDE%20Advanced%20Hunting-blueviolet) ## 平台 此存储库中的所有规则均运行于: **Microsoft Defender XDR → Hunting → Advanced Hunting** 无需 Microsoft Sentinel 许可证。这些查询使用原生的 MDE 表,任何拥有 Microsoft Defender for Endpoint Plan 2 或 Microsoft 365 Defender 的组织均可使用。 ## 使用的 MDE 表 | 表 | 涵盖范围 | |-------|---------------| | `DeviceProcessEvents` | 进程创建、命令行、父子关系 | | `DeviceFileEvents` | 文件读取、写入、创建、删除 | | `DeviceNetworkEvents` | 出站/入站连接、传输字节 | | `DeviceRegistryEvents` | 注册表项和值更改 | | `DeviceLogonEvents` | 交互式、远程和服务登录 | | `DeviceImageLoadEvents` | 加载到进程中的 DLL/模块 | | `IdentityLogonEvents` | Azure AD / Entra ID 登录事件 (Defender for Identity) | ## 为什么创建此存储库 大多数公共检测规则库主要针对 Sentinel,或者是为实验室环境编写的。这里的规则源自生产环境——针对跨 CrowdStrike 和 MDE 技术栈的真实企业遥测数据进行了调优,通过历史日志测试进行了验证,并在 24/7 MXDR 运营中通过误报反馈循环进行了优化。 每条规则包括: - **调优说明** — 导致误报的原因以及如何抑制它们 - **MITRE 映射** — 战术、技术和子技术 ID - **风险评分** — 在适用的情况下,规则会分配一个分数,而不是简单的二元告警,从而减少噪音 - **告警详情字符串** — 为在 MDR 事件队列中进行分类的 SOC 分析师提供预格式化的上下文 - **威胁行为者参考** — 在现实世界中观察到使用每种技术的攻击组织 ## 存储库结构 ``` kql-detection-rules/ ├── rules/ │ ├── initial-access/ # T1078, T1566 etc. │ ├── execution/ # T1059, T1204 etc. │ ├── persistence/ # T1053, T1547 etc. │ ├── defense-evasion/ # T1562 etc. │ ├── credential-access/ # T1539, T1003 etc. │ ├── lateral-movement/ # T1021 etc. │ └── exfiltration/ # T1048 etc. ├── playbooks/ # IR response playbooks linked to rules └── docs/ ├── MITRE_COVERAGE.md # ATT&CK coverage map + Navigator JSON └── RULE_TEMPLATE.md # Standard template for new rules ``` ## 覆盖范围摘要 | 战术 | 规则 | 涵盖的技术 | |--------|:-----:|--------------------| | Initial Access | 0 | | | Execution | 0 | | | Persistence | 0 | | | Defense Evasion | 0 | | | Credential Access | 0 | | | Lateral Movement | 0 | | | Exfiltration | 0 | | | **总计** | **0** | **涵盖 7 项战术的 9 种技术** | 完整的 ATT&CK Navigator 层 → [docs/MITRE_COVERAGE.md](docs/MITRE_COVERAGE.md) ## 规则索引 ### 初始 Access | 文件 | 技术 | 严重程度 | MDE 表 | |------|-----------|:--------:|-----------| | [impossible-travel.kql](rules/initial-access/impossible-travel.kql) | T1078 – Valid Accounts | 高 | `IdentityLogonEvents` | ### Execution | 文件 | 技术 | 严重程度 | MDE 表 | |------|-----------|:--------:|-----------| | [powershell-encoded-command.kql](rules/execution/powershell-encoded-command.kql) | T1059.001 – PowerShell | 高–严重 | `DeviceProcessEvents` | | [malicious-office-macro.kql](rules/execution/malicious-office-macro.kql) | T1204.002 – Malicious File | 高–严重 | `DeviceProcessEvents` | ### Persistence | 文件 | 技术 | 严重程度 | MDE 表 | |------|-----------|:--------:|-----------| | [scheduled-task-creation.kql](rules/persistence/scheduled-task-creation.kql) | T1053.005 – Scheduled Task | 中–高 | `DeviceProcessEvents`, `DeviceRegistryEvents` | ### Defense Evasion | 文件 | 技术 | 严重程度 | MDE 表 | |------|-----------|:--------:|-----------| | [defender-tampering.kql](rules/defense-evasion/defender-tampering.kql) | T1562.001 – Impair Defenses | 高 | `DeviceProcessEvents`, `DeviceRegistryEvents` | ### Credential Access | 文件 | 技术 | 严重程度 | MDE 表 | |------|-----------|:--------:|-----------| | [web-session-cookie-theft.kql](rules/credential-access/web-session-cookie-theft.kql) | T1539 – Steal Web Session Cookie | 高–严重 | `DeviceFileEvents`, `DeviceNetworkEvents` | | [lsass-access.kql](rules/credential-access/lsass-access.kql) | T1003.001 – LSASS Memory | 严重 | `DeviceProcessEvents`, `DeviceFileEvents` | ### 横向 Movement | 文件 | 技术 | 严重程度 | MDE 表 | |------|-----------|:--------:|-----------| | [rdp-lateral-movement.kql](rules/lateral-movement/rdp-lateral-movement.kql) | T1021.001 – Remote Desktop Protocol | 中–高 | `DeviceLogonEvents`, `DeviceNetworkEvents` | ### Exfiltration | 文件 | 技术 | 严重程度 | MDE 表 | |------|-----------|:--------:|-----------| | [large-upload-to-external.kql](rules/exfiltration/large-upload-to-external.kql) | T1048.003 – Exfiltration Over Alt Protocol | 中–高 | `DeviceNetworkEvents` | ## 规则标头格式 每个 `.kql` 文件都使用此标准标头: ``` // Rule Name : [Descriptive name] // MITRE Tactic : [Tactic] // MITRE Technique: [TID.SubID] – [Name] // Severity : Critical / High / Medium / Low // Data Sources : [MDE tables used] // Platform : Microsoft Defender XDR → Advanced Hunting // Frequency : Every X hour(s) // Lookback : X hour(s) // False Positives: [Known FP sources and mitigation] // Author : Raunak Sahu // Last Updated : [YYYY-MM-DD] ``` ## 如何在 Microsoft Defender XDR 中运行 1. 转到 **Microsoft Defender XDR → Hunting → Advanced Hunting** 2. 将此存储库中任何 `.kql` 文件内的 KQL 复制到查询编辑器中 3. 根据需要调整 `ago()` 回溯时间窗口 4. 在生产环境中使用之前,请查看文件标头中的**调优说明** 5. 若要将其安排为自定义检测,请执行以下操作:**Create detection rule** → 设置频率和操作(告警 / 隔离设备 / 等) 6. 映射实体字段 (DeviceName, AccountName, RemoteIP) 以丰富告警卡片 ## 相关资源 - [MDE Advanced Hunting 架构参考](https://learn.microsoft.com/en-us/microsoft-365/security/defender/advanced-hunting-schema-tables) - [MITRE ATT&CK 企业矩阵](https://attack.mitre.org/) - [ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/) — 从 [docs/MITRE_COVERAGE.md](docs/MITRE_COVERAGE.md) 导入 JSON - [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team) — 模拟 TTP 以验证规则 - [MDE 自定义检测文档](https://learn.microsoft.com/en-us/microsoft-365/security/defender/custom-detection-rules) ## 作者 **Raunak Sahu** 检测工程师 | 蓝队 | 在 Deloitte USI 工作 4.5 年 [![LinkedIn](https://img.shields.io/badge/LinkedIn-Connect-blue?logo=linkedin)](https://linkedin.com/in/raunak-sahu-95a10b171) 寻求检测工程师和威胁猎手职位 — 美国远程或 relocatio。 ## 许可证 MIT — 可免费使用、改编和分享。请注明出处。
标签:KQL查询, PE 加载器, 安全运营, 微软Defender, 扫描框架, 检测规则, 网络资产发现, 高级狩猎