ShiroKiro/microsoft-sentinel-siem-lab

GitHub: ShiroKiro/microsoft-sentinel-siem-lab

一个基于 Microsoft Sentinel 的云原生 SIEM 实验室,展示如何使用 KQL 检测规则、MITRE ATT&CK 映射和自动化事件调查流程来检测企业级安全威胁。

Stars: 0 | Forks: 0

# Microsoft Sentinel Cloud SIEM 实验室 ![Azure](https://img.shields.io/badge/Azure-Microsoft_Sentinel-blue) ![KQL](https://img.shields.io/badge/Language-KQL-green) ![MITRE](https://img.shields.io/badge/Framework-MITRE_ATT%26CK-red) ![Status](https://img.shields.io/badge/Status-Active-brightgreen) ## 概述 一个基于 Microsoft Sentinel 构建的云原生 SIEM 实验室,旨在展示 SOC 分析师技能:威胁检测、KQL 查询、事件调查 以及安全监控仪表板创建。 本项目扩展了我的 [Wazuh 开源 SIEM 实验室](https://github.com/ShiroKiro/soc-security-monitoring-lab) 至企业级云原生 SIEM,展现了跨 自托管和云安全平台工作的能力。 **持续时间:** 2026 年 7 月 **环境:** Microsoft Azure (北欧 / 瑞典中部) **作者:** Oleg Tuboltsev ## 架构 **数据流:** Azure Subscription → Log Analytics Workspace (law-soc-lab) → Microsoft Sentinel **数据源:** - Azure Activity Logs — 订阅级别的操作监控 - 通过 AMA 获取的 Windows Security Events — 来自 ServerLabVM 的端点安全事件 **检测层:** - 4 条带有 MITRE ATT&CK 映射的 Analytics Rules - 自动化事件创建和分配 **组件:** - `law-soc-lab` — Log Analytics Workspace (北欧) - `ServerLabVM` — Windows Server 2022 (瑞典中部,使用后释放) - `SOC-Lab-Dashboard` — Sentinel Workbook ## **[📊 查看实验室架构图](architecture/lab-diagram.png)** ## 检测场景 ### 1. 暴力破解 - 多次登录失败 | 字段 | 值 | |-------|-------| | 严重程度 | 高 | | MITRE 战术 | Credential Access | | MITRE 技术 | T1110 暴力破解 | | 数据源 | Windows Security Events | | 事件 ID | 4625 | ``` SecurityEvent | where EventID == 4625 | summarize FailedLogons = count() by Account, Computer, IpAddress, bin(TimeGenerated, 1h) | where FailedLogons >= 3 | order by FailedLogons desc ``` ### 2. 可疑的本地账户创建 | 字段 | 值 | |-------|-------| | 严重程度 | 高 | | MITRE 战术 | Persistence | | MITRE 技术 | T1136.001 创建账户: 本地账户 | | 数据源 | Windows Security Events | | 事件 ID | 4720 | ``` SecurityEvent | where EventID == 4720 | project TimeGenerated, Account, TargetAccount, Computer, Activity | order by TimeGenerated desc ``` ### 3. 可疑的本地账户删除 | 字段 | 值 | |-------|-------| | 严重程度 | 中 | | MITRE 战术 | Defense Evasion | | MITRE 技术 | T1070 指示器移除 | | 数据源 | Windows Security Events | | 事件 ID | 4726 | ``` SecurityEvent | where EventID == 4726 | project TimeGenerated, Account, TargetAccount, Computer, Activity | order by TimeGenerated desc ``` ### 4. 重复失败操作 (Azure) | 字段 | 值 | |-------|-------| | 严重程度 | 中 | | MITRE 战术 | Initial Access | | MITRE 技术 | T1078 有效账户 | | 数据源 | Azure Activity Logs | ``` AzureActivity | where ActivityStatusValue == "Failure" | summarize FailureCount = count() by Caller, CallerIpAddress, bin(TimeGenerated, 1h) | where FailureCount >= 2 | order by FailureCount desc ``` ## 事件调查工作流 在 Incident #1 上演示的完整 SOC 分析师工作流: 1. **分类** — 审查严重程度、战术和受影响的实体 2. **分配** — 将事件分配给自己,设置状态为 Active 3. **调查** — 分析实体 (账户 + IP),审查时间线 4. **记录** — 将调查结果添加为事件评论 5. **关闭** — 带有合理理由作为误报关闭 📸 有关带截图的完整记录,请参阅 `/investigations/incident-01.md`。 ## SOC 仪表板 构建了一个监控 Workbook `SOC-Lab-Dashboard`,包含: - 按小时统计的失败操作时间表 - Azure Activity 事件分布 - 安全事件概览 📸 参阅 `/workbook/screenshots/` ## 我学到了什么 - 从零开始部署和配置 Microsoft Sentinel - 通过 Diagnostic Settings 和 AMA 连接数据源 - 编写基于时间聚合的 KQL 检测查询 - 创建带有 MITRE ATT&CK 映射的计划性 Analytics Rules - 执行端到端的事件调查工作流 - 在 Workbooks 中构建安全监控仪表板 ## 与先前工作的联系 本实验室是我的 [Wazuh SIEM 实验室](https://github.com/ShiroKiro/soc-security-monitoring-lab) 的企业级延续: | | Wazuh 实验室 | Sentinel 实验室 | |---|---|---| | 类型 | 开源,自托管 | 云原生,企业级 | | 数据源 | 本地 agents,Suricata | Azure Activity,Windows AMA | | 查询语言 | Lucene/Wazuh 规则 | KQL | | 告警 | 自定义规则 | Analytics Rules + MITRE | 两者结合,展现了对这两个级别 SIEM 的理解。
标签:AMSI绕过, Azure, KQL, Microsoft Sentinel, 威胁检测, 安全运营, 扫描框架, 红队行动