sandeepmothukuri/sentinel-detection-engine

GitHub: sandeepmothukuri/sentinel-detection-engine

面向 Microsoft Sentinel 和 Defender XDR 的检测即代码工具包,提供经过筛选的高质量检测规则、威胁狩猎查询、SOAR 自动化剧本及完整 SOC 工作流文档,帮助安全团队快速建立从检测到响应的闭环能力。

Stars: 1 | Forks: 0

# sentinel-detection-engine **作者:** Sandeep Mothukuri — SOC L3 / 事件响应 **仓库:** [`sandeepmothukuri/sentinel-detection-engine`](https://github.com/sandeepmothukuri/sentinel-detection-engine) [![validate](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/a359bf559f042500.svg)](https://github.com/sandeepmothukuri/sentinel-detection-engine/actions/workflows/validate.yml) ![rules](https://img.shields.io/badge/rules-12_analytics_%2B_10_hunts-2776d6) ![attack](https://img.shields.io/badge/ATT%26CK-31_techniques_%2F_11_tactics-ff5a72) ![sentinel](https://img.shields.io/badge/Microsoft-Sentinel-0078d4) ![license](https://img.shields.io/badge/license-MIT-green) ## 预览 ### ATT&CK 覆盖范围 (MITRE Navigator) 加载到 [MITRE ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/) 中(数据来自 [`attack-navigator/layer.json`](attack-navigator/layer.json))—— 该层级是由 [`scripts/generate_coverage.py`](scripts/generate_coverage.py) 从规则 YAML 自动生成的。 ![ATT&CK Navigator 覆盖范围](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/7d452121ca042500.png) ### L3 分诊仪表板(设计预览) [`Workbooks/L3-Triage-Dashboard.json`](Workbooks/L3-Triage-Dashboard.json) 的静态渲染 —— 包含 KPI、严重程度环形图、最高频触发规则、ATT&CK 密度热力图、Top 实体和活动事件表。将此 JSON 部署到 Microsoft Sentinel 即可查看实时数据。 ![L3 分诊仪表板预览](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/0ecef982ca042501.png)
📷 实时 Sentinel 门户截图(在我通过30 分钟演练完成租户部署后添加) 该演练会在真实的 M365 开发租户 + Azure 免费试用 + MDE 试用环境中生成以下内容。每一项都是通过运行触发相应规则的 Atomic Red Team 测试来捕获的: - `01-sentinel-overview.png` — Sentinel 工作区概览 - `02-data-connectors.png` — 数据连接器页面(包含 ≥ 4 个已连接的数据源) - `03-analytics-rules.png` — 分析规则列表(包含 12 个已部署的检测规则) - `05-incident-list.png` — 来自 Atomic Red Team 测试的真实事件 - `06-investigation-graph.png` — 调查实体图 - `07-workbook-live.png` — 针对实时数据运行的 Workbook
## 为什么会有这个项目 大多数公开的 Sentinel 内容要么 是单篇博客文章中手写的单个查询,要么 是包含数千条规则却缺乏筛选的完整 Microsoft 社区仓库。本工具包介于两者之间:提供了一套**聚焦且经过精心筛选的高信噪比检测规则**,这是 L3 分析师在第一天就会真正部署的,同时具备了生产级检测工程团队的工程严谨性(schema 验证、ATT&CK 映射、ART 测试)。 ## 包含内容 | 领域 | 数量 | 文件夹 | |---|---|---| | 计划分析规则 | 12 | [`Detections/`](Detections/) | | 搜寻查询 | 10 | [`Hunting Queries/`](Hunting%20Queries/) | | Workbook(L3 分诊仪表板) | 1 | [`Workbooks/`](Workbooks/) | | Logic App Playbook (SOAR) | 4 | [`Playbooks/`](Playbooks/) | | ATT&CK Navigator 层级 | 1 | [`attack-navigator/`](attack-navigator/) | | Atomic Red Team 映射 | 22 项测试 | [`tests/atomics.md`](tests/atomics.md) | | 工作流文档(IR Runbook、分诊 SOP、升级矩阵、调优日志、SOAR 流程、成熟度评估) | 6 | [`docs/workflows/`](docs/workflows/) | | CI 工作流(validate、PR diff 报告、release) | 3 | [`.github/workflows/`](.github/workflows/) | | Sigma → KQL 转换器 | 1 | [`scripts/sigma_to_kql.py`](scripts/sigma_to_kql.py) | ### 覆盖范围快照 - **覆盖战术:** 初始访问、执行、持久化、权限提升、防御规避、凭证访问、发现、收集、命令与控制、数据渗出 - **覆盖技术:** 18 种独特的 ATT&CK 技术(参见 [`coverage.md`](coverage.md)) - **数据源:** Microsoft Entra ID、Microsoft 365 (Exchange、SharePoint、OAuth)、Microsoft Defender for Endpoint、Azure Activity、Azure Key Vault ## 规则一览 ### 身份与云身份 - `EntraID_ImpossibleTravel.yaml` — 地理距离 + 时间差登录关联 - `EntraID_MFAFatigue.yaml` — 连续多次 MFA 提示后成功验证 - `EntraID_LegacyAuthSuccess.yaml` — 通过旧版协议成功进行身份验证 - `EntraID_ServicePrincipalCredAdd.yaml` — 在 CI/CD 允许列表之外为 SP 添加凭证 ### Microsoft 365 - `M365_InboxRuleExfil.yaml` — 创建自动转发 / 删除的收件箱规则 - `M365_MassSharePointDownload.yaml` — 单个用户的异常文件下载量 - `M365_OAuthConsentSuspiciousApp.yaml` — 向未经验证的发布者授予具有高风险权限的同意 ### 终端 (Defender for Endpoint) - `MDE_LOLBin_Rundll32_Network.yaml` — rundll32 发起外部网络连接 - `MDE_MSHTA_RemoteScript.yaml` — mshta 执行远程 HTA/脚本 - `MDE_PowerShell_EncodedCommand.yaml` — 冗长的 Base64 -EncodedCommand 调用 ### Azure 基础设施 - `Azure_NSG_OpenToInternet.yaml` — 将端口开放至 0.0.0.0/0 的 NSG 规则 - `Azure_KeyVault_SecretAccessSpike.yaml` — 单个身份的异常机密访问量 ## 搜寻查询 (10) 位于 [`Hunting Queries/`](Hunting%20Queries/) 中基于假设的搜寻。示例: - 每个用户首次出现的 ASN(登录基线漂移) - 每台设备父-子链中罕见出现的进程 - 向外部域的异常邮箱转发 - 从 `%TEMP%` 执行的未签名二进制文件 - 来自数据中心 ASN 的登录(Tor/VPS 代理) ## 部署 三种部署路径,按推荐顺序排列: ### 1. Sentinel Repositories (GitOps,推荐) 本仓库遵循官方的 `Azure/Azure-Sentinel` 文件夹结构,因此你可以直接连接它: 1. Sentinel → **Repositories** → **Add new** 2. 连接此 GitHub 仓库 3. 选择 `main` 分支 4. 每次推送时,Sentinel 都会拉取并部署所有 12 条规则 + 10 个搜寻查询 + 1 个 Workbook 文档: ### 2. 手动导入 每个 YAML 文件都是一个独立的 Sentinel 规则。将 `query:` 代码块粘贴到 Sentinel → Analytics → New scheduled rule 中,复制元数据,然后保存即可。 ### 3. ARM / Bicep Logic App Playbook 以 ARM 模板的形式提供,位于 [`Playbooks/AutoEnrichDisableUser/azuredeploy.json`](Playbooks/AutoEnrichDisableUser/azuredeploy.json)。通过以下方式部署: ``` az deployment group create \ --resource-group \ --template-file Playbooks/AutoEnrichDisableUser/azuredeploy.json ``` ### 免费层设置 你可以在全新的 Azure 租户上以 **$0 成本** 在前 30 天内运行完整的工具包。 - **快速入门:** [`docs/30-minute-walkthrough.md`](docs/30-minute-walkthrough.md) — 逐步点击指导,耗时 30 分钟,生成真实的 Sentinel 截图 - **参考文档:** [`docs/free-tier-setup.md`](docs/free-tier-setup.md) — 节奏更慢地详细解释每个组件 ## 验证 (CI) GitHub Actions 在每次 PR 时运行([`.github/workflows/validate.yml`](.github/workflows/validate.yml)): 1. **YAML schema lint** — 每条规则都符合 Sentinel 规则 schema 2. **KQL 解析检查** — 查询语句没有语法错误 3. **ATT&CK ID 验证** — 每个 `tactics:` / `relevantTechniques:` 的值都存在于当前的 ATT&CK 矩阵中 4. **Markdown 链接检查** — 没有损坏的内部链接 ## 使用 Atomic Red Team 进行测试 每个检测都映射到一个或多个应触发该检测的 [Atomic Red Team](https://github.com/redcanaryco/atomic-red-team) 测试。参见 [`tests/atomics.md`](tests/atomics.md)。 示例: ``` T1059.001 (PowerShell) → MDE_PowerShell_EncodedCommand.yaml → Atomic Test-1, Test-3 ``` ## 仓库布局 ``` sentinel-detection-engine/ ├── Detections/ # 12 analytic rules (Sentinel YAML schema) ├── Hunting Queries/ # 10 hunts ├── Workbooks/ │ └── L3-Triage-Dashboard.json ├── Playbooks/ │ └── AutoEnrichDisableUser/ │ ├── azuredeploy.json │ └── README.md ├── attack-navigator/ │ └── layer.json # drop into mitre-attack.github.io/attack-navigator ├── tests/ │ └── atomics.md # ART test ID → rule mapping ├── scripts/ │ └── generate_coverage.py # regenerates coverage.md + Navigator layer ├── docs/ │ ├── free-tier-setup.md │ └── images/ ├── .github/workflows/ │ └── validate.yml ├── coverage.md # auto-generated ATT&CK matrix └── README.md ``` ## SOAR 编排 本工具包附带四个 Logic App Playbook。它们组合成了记录在 [`docs/workflows/soar-decision-flow.md`](docs/workflows/soar-decision-flow.md) 中的决策管道: | Playbook | 触发器 | 动作 | |---|---|---| | [AutoEnrichDisableUser](Playbooks/AutoEnrichDisableUser/) | 任何带有 IP 实体的事件 | VT + AbuseIPDB 富化;在置信度高于阈值时禁用 Entra ID 用户 | | [IsolateDeviceMDE](Playbooks/IsolateDeviceMDE/) | 来自 `MDE_*` 规则的事件 | 通过 Defender for Endpoint 对设备进行网络隔离 | | [BlockIPAzureFirewall](Playbooks/BlockIPAzureFirewall/) | TI 标记的事件 | 将公共 IP 添加到 Azure Firewall 的拒绝 IP 组 | | [CreateServiceNowTicket](Playbooks/CreateServiceNowTicket/) | 严重程度为高 / 危急 | 打开一个严重级别映射的 INC 工单,并进行交叉链接 | ## SOC 工作流文档 本仓库不仅仅是规则列表 —— 它还附带了 L3 分析师所需的文档: - [事件响应 Runbook](docs/workflows/ir-runbook.md) — 应用于本工具包的 SANS / NIST 800-61r2 阶段 - [分诊 SOP](docs/workflows/triage-sop.md) — 带有处理标签的 L1 → L2 → L3 移交流程 - [升级矩阵](docs/workflows/escalation-matrix.md) — 通知谁、何时通知以及如何通知 - [SOAR 决策流程](docs/workflows/soar-decision-flow.md) — Mermaid 图表 + 针对每条规则的自动化矩阵 - [检测调优日志](docs/workflows/tuning-log.md) — 带有 PR 链接的开启和关闭的调优条目 - [成熟度自我评估](docs/workflows/maturity-assessment.md) — 10 维 SOC 成熟度评分 ## 检测生命周期 (CI / CD) | 工作流 | 触发器 | 功能 | |---|---|---| | [validate](.github/workflows/validate.yml) | 每次推送 + PR | yamllint、schema + UUID + ATT&CK + KQL 完整性检查、覆盖率漂移检查 | | [pr-detection-report](.github/workflows/pr-detection-report.yml) | PR 涉及检测文件时 | 发布一条置顶的 PR 评论,总结规则差异、版本号提升和 lint 警告 | | [release](.github/workflows/release.yml) | 推送 `v*.*.*` 标签时 | 验证,将规则打包为带有 SHA-256 校验的 tarball,生成更新日志,并发布 GitHub Release | ## 导入 Sigma 规则 对于来自公共 Sigma 项目的临时规则,可以使用捆绑的转换器: ``` python scripts/sigma_to_kql.py path/to/proc_creation_susp_powershell.yml ``` 输出是一个可手动调整的 Defender XDR 风格 KQL 块,其中 ATT&CK 标签作为注释保留。这不是一个完整的 pySigma 替代品 —— 它主要处理常见的 `process_creation`、`network_connection`、`image_load` 和 `registry_event` 类别。 ## 路线图 - [ ] 添加 AWS GuardDuty / CloudTrail 类似工具包(`aws-hunt-pack`) - [ ] 添加 Defender for Cloud Apps (MCAS) 覆盖 - [ ] 针对某个检测端到端触发的 Notebook(`.ipynb`)IR Playbook - [ ] 用于提升可移植性的 Sigma → KQL 转换映射 ## 许可证 [MIT](LICENSE)
标签:AMSI绕过, ATT&CK Navigator, Azure安全, CI验证, Cloudflare, Defender XDR, Detection-as-Code, IP 地址批量处理, KQL, L3安全分析, M365安全, Microsoft Sentinel, MITRE ATT&CK, Playbook, SOAR, 分析查询, 威胁检测, 子域名变形, 安全仪表盘, 安全信息与事件管理, 安全运营中心, 开源框架, 微软安全, 持续集成, 插件系统, 搜索引擎爬取, 无线安全, 检测即代码, 网络安全, 网络映射, 自动化防御, 逆向工具, 隐私保护