yankywilson/kql-threat-hunting-library
GitHub: yankywilson/kql-threat-hunting-library
面向Microsoft Defender XDR和Sentinel的生产级威胁狩猎KQL查询库,覆盖MITRE ATT&CK全链路,提供47个带误报说明和调优建议的实际检测规则。
Stars: 0 | Forks: 0
# KQL 威胁狩猎查询库
这是我日常实际使用的查询库。它不是微软示例仓库的复制粘贴,也不是各种公开收集的拼凑之作。这里的每个文件都是为了解决我遇到的真实检测问题而编写或改编的,每个文件都标注了它在查找什么、为什么查找,以及预期的误报来源。.
## 内容说明
| 类别 | 查询数量 | 覆盖范围 |
|----------|---------|----------|
| [`initial-access/`](initial-access/) | 4 | 钓鱼点击、恶意 OAuth 授权、密码喷洒 |
| [`execution/`](execution/) | 3 | LOLBins、编码 PowerShell、mshta |
| [`persistence/`](persistence/) | 4 | 计划任务、注册表运行键、收件箱规则、OAuth 应用 |
| [`privilege-escalation/`](privilege-escalation/) | 2 | UAC 绕过、角色分配 |
| [`defense-evasion/`](defense-evasion/) | 4 | 禁用 Defender、AMSI 绕过、伪装、日志清除 |
| [`credential-access/`](credential-access/) | 4 | LSASS 访问、NTDS 转储、Kerberoasting、MFA 疲劳 |
| [`discovery/`](discovery/) | 2 | AD 枚举、网络发现 |
| [`lateral-movement/`](lateral-movement/) | 3 | RDP、WMI、PsExec 模式 |
| [`command-and-control/`](command-and-control/) | 4 | 信标节律、Cloudflare 伪装 C2、DGA、DNS 隧道 |
| [`exfiltration/`](exfiltration/) | 3 | 云上传、压缩包创建、邮件转发 |
| [`impact/`](impact/) | 2 | 批量文件重命名(勒索软件)、卷影副本删除 |
| [`identity/`](identity/) | 5 | 风险登录、不可能旅行、闲置账户重新激活、令牌盗窃 |
| [`email/`](email/) | 4 | 钓鱼 URL 点击、base64 受害者令牌、REF ID 模式 |
| [`utilities/`](utilities/) | 3 | 函数和辅助工具(decode_b64_email 等) |
**共计:47 个查询。** 全部已在 Defender XDR 高级狩猎和/或 Sentinel 上测试。
## 快速导航
- 新手?从 [`docs/getting-started.md`](docs/getting-started.md) 开始
- 寻找特定的 MITRE 技术?[`docs/mitre-coverage.md`](docs/mitre-coverage.md) 映射了每个查询
- 想知道查询针对哪个架构?每个文件都有 `Tested against` 标题
- 想要贡献?[`docs/contributing.md`](docs/contributing.md)
## 每个查询遵循的标准
此仓库中的每个 `.kql` 文件都具有相同的结构。对于作品集级别的工作来说,这是硬性要求:
```
// Title:
// MITRE:
// Severity:
// Schema:
// Tested against:
//
// Description:
//
//
// Logic:
//
//
// False positive sources:
// -
// -
//
// Tuning notes:
//
```
如果某个文件没有所有这些部分,说明它尚未完成。
## 架构说明 — 何时使用哪个表
微软根据您所在的门户,将相同的遥测数据分散到多个表中。这让很多分析师措手不及。
| 需求 | Defender XDR 高级狩猎 | Sentinel |
|---------------|-------------------------------|----------|
| 登录事件 | `AADSignInEventsBeta` | `SigninLogs` |
| 审计事件 | `CloudAppEvents` | `AuditLogs` |
| 进程事件 | `DeviceProcessEvents` | `DeviceProcessEvents`(名称相同,通过 M365D 连接器) |
| 网络事件 | `DeviceNetworkEvents` | `DeviceNetworkEvents` |
| 邮件事件 | `EmailEvents`、`EmailUrlInfo` | `EmailEvents`、`EmailUrlInfo`(通过连接器) |
| 文件事件 | `DeviceFileEvents` | `DeviceFileEvents` |
当查询仅针对一个架构时,文件标题会说明。当相同的逻辑在两者中都能工作但有细微差别时,会提供两个版本。
## 运行优先级 — 当发现异常时首先运行哪些查询
当警报触发而您不知道从哪里开始时,按以下顺序运行:
**第一层 — 主动入侵指标(立即运行)**
1. [`identity/risky-signin-success.kql`](identity/risky-signin-success.kql) — 风险标记会话上的成功认证
2. [`identity/successful-login-after-spray.kql`](identity/successful-login-after-spray.kql) — 密码喷洒后凭据仍然有效
3. [`persistence/inbox-forwarding-rule.kql`](persistence/inbox-forwarding-rule.kql) — 入侵后 BEC 指标
4. [`persistence/oauth-consent-grant.kql`](persistence/oauth-consent-grant.kql) — 非法授权/令牌盗窃
**第二层 — 横向移动和权限提升(如果第一层触发则运行)**
5. [`credential-access/lsass-memory-access.kql`](credential-access/lsass-memory-access.kql)
6. [`lateral-movement/wmi-remote-execution.kql`](lateral-movement/wmi-remote-execution.kql)
7. [`privilege-escalation/role-assignment-changes.kql`](privilege-escalation/role-assignment-changes.kql)
**第三层 — 持久化和影响(进行全面范围界定时运行)**
8. [`persistence/scheduled-task-creation.kql`](persistence/scheduled-task-creation.kql)
9. [`impact/mass-file-rename.kql`](impact/mass-file-rename.kql)
10. [`exfiltration/cloud-upload-large-volume.kql`](exfiltration/cloud-upload-large-volume.kql)
## 本库不是什么
- 不是 KQL 入门教程 — 学习资料请参阅 [`docs/getting-started.md`](docs/getting-started.md)
- 不是微软分析规则的替代品 — 这些是对内置检测的补充,而不是重复
- 不是一键部署方案 — 每个查询都需要根据您环境的噪音水平进行调整
## 许可证
查询采用 MIT 许可证,文档采用 CC BY 4.0 许可证。
## 致谢
站在巨人的肩膀上:
- 微软威胁情报团队的公开示例查询
- Bert-JanP 的 Hunting-Queries-Detection-Rules
- cyb3rmik3 的 KQL-threat-hunting-queries
- Rod Trent 的 MustLearnKQL 系列
- Sekoia、Trustwave SpiderLabs 和 Unit 42 的威胁报告,为许多模式提供了参考
标签:AD枚举, AMSI绕过, AMSI绕过, C2检测, Cloudflare, CSV导出, Defender禁用, DNS隧道, Kerberoasting, KQL, LOLBins, LSASS, MFA疲劳, Microsoft Defender XDR, Microsoft Sentinel, MITRE ATT&CK, NTDS, PE 加载器, PowerShell检测, PsExec, RDP检测, SIEM查询, UAC绕过, Web报告查看器, WMI检测, 伪装检测, 勒索软件, 协议分析, 威胁检测, 威胁检测, 子域名变形, 安全运营, 密码喷洒, 影子副本删除, 恶意OAuth, 扫描框架, 数据外泄, 无线安全, 日志清除, 权限提升, 模拟器, 注册表持久化, 知识库安全, 端点检测, 网络信息收集, 网络安全审计, 网络检测, 计划任务, 身份安全, 身份检测, 速率限制, 邮箱安全, 钓鱼检测