edwardjgriggs/soc-detection-lab

GitHub: edwardjgriggs/soc-detection-lab

一个自建的蓝队检测工程实验室,通过 Microsoft Sentinel 与 Wazuh 生成真实遥测数据并在检测规则投入生产前进行验证。

Stars: 0 | Forks: 0

# SOC 检测实验室 ![Hypervisor](https://img.shields.io/badge/host-Ubuntu%20Server-E95420) ![Containers](https://img.shields.io/badge/runtime-Docker%20%2B%20Portainer-2496ED) ![SIEM](https://img.shields.io/badge/SIEM-Microsoft%20Sentinel-0078D4) ![HIDS](https://img.shields.io/badge/HIDS-Wazuh-005792) ## 建立此实验室的目的 你无法为从未见过的遥测数据编写出可靠的检测规则。这个实验室为我提供了一个安全的环境来生成这些遥测数据:记录真实的登录事件、模拟攻击者行为、观察日志中记录的内容,并在信任检测规则之前确认它能成功触发。 它是我 [detection-engineering](https://github.com/edwardjgriggs/detection-engineering) 仓库的试验场。那里的每一条规则都是首先在这里进行验证的。 ## 架构概览 简而言之:一台运行 Ubuntu 的迷你 PC 托管了我的容器化蓝队技术栈。Wazuh 从实验室机器收集主机和端点遥测数据。一个 Microsoft 365 实验租户将 Entra ID 身份日志流式传输到 Microsoft Sentinel 工作区。云 SIEM 和本地 HIDS 都服务于同一个工作流:生成活动、观察日志、构建和调整检测规则。对实验室的远程访问通过私有 mesh VPN 处理,因此没有任何内容暴露在公共互联网上。 ``` flowchart LR subgraph cloud[Microsoft Cloud] EID[Entra ID sign-in and audit logs] SENT[Microsoft Sentinel workspace] EID --> SENT end subgraph host[Ubuntu Lab Host] DOCK[Docker and Portainer] WAZUH[Wazuh manager] DOCK --> WAZUH end subgraph endpoints[Lab Endpoints] WIN[Windows test VM] LNX[Linux test VM] end WIN -->|agent telemetry| WAZUH LNX -->|agent telemetry| WAZUH ATTACK[Simulated attacker activity] -->|failed logins, spray| EID ATTACK -->|host actions| WIN SENT --> DETECT[Detection development and tuning] WAZUH --> DETECT ``` ## 组件 | 层级 | 工具 | 角色 | |-------|---------|------| | 主机 | Beelink 迷你 PC,Ubuntu Server | 常开型实验室主机 | | 运行时 | Docker,Portainer | 蓝队技术栈的容器管理 | | HIDS | Wazuh(manager 和 agents) | 主机和端点遥测、文件完整性、日志分析 | | 云 SIEM | Microsoft Sentinel | 基于 KQL 的身份检测开发 | | 身份 | Microsoft 365 / Entra ID 实验租户 | 登录和审计遥测源 | | 访问 | Mesh VPN | 私有远程访问,无公共网络暴露 | ## 日志来源及其提供的信息 - **Entra ID 登录日志:** 身份验证结果、结果代码、源 IP。每项身份检测(暴力破解、密码喷洒、不可能旅行)的基础。 - **Entra ID 审计日志:** 目录更改、角色分配、应用授权同意。 - **Wazuh agent 遥测:** 实验室端点上的进程活动、身份验证事件和文件完整性更改。 ## 我如何生成测试遥测数据 检测规则的好坏取决于你用来测试它的活动。我通过两种方式生成遥测数据: 1. **受控的手动活动。** 从单个主机对多个实验室账户进行失败登录以重现密码喷洒,进行角色更改以触发审计检测,以及针对我拥有的账户进行类似的安全重现。 2. **Atomic Red Team(路线图)。** 将各个 ATT&CK 技术映射到可重复的测试中,以便每个检测都有已知的触发条件和记录的预期结果。 所有活动均针对仅限实验室的身份和机器生成。此实验室中的任何操作都不会触及生产或第三方系统。 ## 这展示了什么 - 从头建立并端到端运行 SIEM 和 HIDS,而不仅仅是查询预先构建好的系统 - 理解从原始日志到调整好的检测规则的全过程 - 拥有 Microsoft Sentinel、Entra ID、Wazuh、Docker 和 Linux 管理的实操经验 - 在信任检测规则之前对其进行验证的严谨性 ## 脱敏说明 此仓库仅记录架构和工作流。它不包含租户标识符、内部 IP 地址、VPN 密钥、与真实基础设施关联的主机名或凭据。任何重现此实验室的人都应提供自己的信息。 ## 关于 由 Edward Griggs 构建和运行。系统管理员和有志向的检测工程师,拥有联邦政府合同承包背景,已获得 Security+ 认证,正在考取 SC-200。 [LinkedIn](https://www.linkedin.com/in/edward-griggs/) · [GitHub](https://github.com/edwardjgriggs)
标签:Microsoft Sentinel, Wazuh, 安全运营, 实验室环境, 扫描框架, 请求拦截