Aditya-Sec/Sentinel-Detection-Response-Pack

GitHub: Aditya-Sec/Sentinel-Detection-Response-Pack

将 Microsoft Sentinel 检测规则、SOAR 自动化响应和云安全态势检查以代码形式打包部署的一体化安全运营工程方案。

Stars: 0 | Forks: 0

# Sentinel Detection & Response Pack **针对 Microsoft 安全栈的检测工程 + SOAR 自动化 + 云安全态势检查。** 映射至 ATT&CK 的 Sentinel 分析规则、自动化响应 playbook,以及 Defender for Cloud 的态势评分——以代码形式部署,而非在门户中手动点击拼凑。

## 架构 Architecture diagram
## 项目初衷 大多数公开的“SOC 作品集”项目要么是实验室仪表盘的截图,要么是一堆毫不相干的脚本。本仓库两者皆非——它是一个小型且内聚的检测与响应 pipeline:六条 KQL 规则,每条都映射到一个具体的 MITRE ATT&CK 技术,以 Infrastructure-as-Code 方式部署以确保可复现性;配合两个能真正执行响应而不仅仅是发出告警的 SOAR playbook;此外还包含一个脚本,能够像真实的云安全审查那样评估你的 Defender for Cloud 态势。 本项目的所有内容都不需要付费的 Azure 订阅即可*阅读*——部署过程需要一个 Sentinel workspace(免费试用的 tenant 即可),但无需订阅即可审阅并理解这里的每一个文件。
## 包含内容 | 文件夹 | 内容 | |---|---| | [`detections/kql`](detections/kql) | 6 条 KQL 检测规则,每条规则在头部都包含 ATT&CK 映射、战术以及记录在案的误报说明 | | [`deploy`](deploy) | Bicep 模板,用于将规则部署为 Sentinel Scheduled Analytics Rules | | [`soar`](soar) | 2 个 Logic App playbook 模板 —— 自动禁用受损账号,自动隔离受损设备 | | [`posture`](posture) | Python 脚本,用于拉取实时的 Defender for Cloud Secure Score + 标记未处理的高严重性建议 | | [`coverage`](coverage) | 该脚本读取规则头部信息,并生成 MITRE ATT&CK Navigator 层以实现可视化覆盖 |
## 检测覆盖范围 | 规则 | ATT&CK 技术 | 战术 | |---|---|---| | 异常登录速度 | T1078.004 | 初始访问 | | 高风险 OAuth 应用授权 | T1098.001 | 持久化 | | 特权角色分配 | T1098.003 | 权限提升 | | RDP 横向移动 | T1021.001 | 横向移动 | | 大量文件外发 | T1567.002 | 数据外发 | | 大量账号禁用 | T1531 | 影响 | 运行 `coverage/generate_coverage.py` 以重新生成 `coverage_layer.json`,然后将其上传至 [ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/) 以生成可视化热力图。
## 部署(在你自己的 tenant 中) ``` # 1. 部署 analytics rules az deployment group create \ --resource-group \ --template-file deploy/main.bicep \ --parameters workspaceName= # 2. 部署 SOAR playbooks (Logic Apps) az deployment group create \ --resource-group \ --template-file soar/playbook-disable-compromised-user.json az deployment group create \ --resource-group \ --template-file soar/playbook-isolate-device.json # 3. 运行 posture check az login pip install azure-identity requests --break-system-packages python posture/posture_check.py --subscription-id ``` Playbook 需要 Sentinel API 连接,以及具有受限 Graph/Defender 权限的 Managed Identity——有关所需的具体权限,请参阅每个 playbook JSON 中的 `metadata.note` 字段。我们刻意采用了最小权限原则:账号禁用的 playbook 仅在 `Severity == High` 时触发,而设备隔离使用 `Selective`(而非 `Full`)隔离,以确保安全工具在调查期间保持连接。
## 刻意未包含的内容 本仓库不会 provision 任何实时的 Azure 资源,也不在其中存储任何凭证。这是有意为之——其目的是为了能够被安全地审查和部署,而不是让陌生人的脚本获得对 tenant 的长期访问权限。
标签:AMSI绕过, Azure Sentinel, KQL, SOAR, 威胁检测, 安全运营, 扫描框架, 逆向工具