brookbdt/SOC-Homelab-Detection-Lab

GitHub: brookbdt/SOC-Homelab-Detection-Lab

一个基于 Wazuh 的 SOC 家庭实验室,演示完整的检测工程流程,包括攻击模拟、自定义检测规则编写和事件响应文档。

Stars: 0 | Forks: 0

# SOC 家庭实验室检测实验 一个功能完备的安全运营中心 家庭实验室,旨在使用开源工具展示检测工程、日志分析和事件响应能力。 ## 构建初衷 为了培养和展示实际的 SOC 分析师和检测工程技能——不仅仅是工具安装,而是检测真实攻击技术、编写映射到 MITRE ATT&CK 的自定义检测规则,以及生成事件响应文档的能力。 ## 架构 ![Lab Architecture](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/9d75447c11162059.png) **组件:** - **Wazuh SIEM 4.9.2** — 通过 Docker 部署(manager、indexer、dashboard),用于集中式日志收集、关联和告警 - **Windows 11 ARM VM** — 受监控端点,安装了 Sysmon 以获取丰富的进程/注册表/网络遥测数据 - **Ubuntu 24.04 Server VM** — 受监控端点,使用 auditd 进行系统调用日志记录 - **Wazuh Agents** — 安装在两台虚拟机上,实时将日志转发至 SIEM ## 模拟攻击 | # | 攻击 | MITRE ATT&CK | 目标 | 检测方法 | |---|--------|-------------|--------|-----------------| | 1 | SSH 暴力破解 | T1110 — Brute Force | Ubuntu | 失败认证日志关联 | | 2 | Windows 侦察 | T1082, T1016 — System/Network Discovery | Windows | Sysmon 进程创建 (Event ID 1) | | 3 | 计划任务持久化 | T1053.005 — Scheduled Task | Windows | Sysmon 命令行监控 | | 4 | 注册表 Run Key 持久化 | T1547.001 — Registry Run Keys | Windows | Sysmon 注册表修改 (Event ID 13) | ### Windows 上的持久化模拟 计划任务创建 (`schtasks`)、注册表 Run Key 修改 (`reg add`) 以及清理操作 —— 均被 Sysmon 捕获并转发至 Wazuh: ![Persistence Simulation on Windows](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5445c7f843162100.png) ## 检测证据 ### SSH 暴力破解检测 Wazuh 仪表盘显示自定义规则 100001 在多次 SSH 登录失败尝试后触发,同时关联了 `sshd` 和 PAM 事件: ![SSH Brute Force Detection](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e959ab8d67162102.png) ### Windows 攻击检测 所有三个 Windows 自定义规则依次触发 —— 侦察命令 (100002)、计划任务持久化 (100003) 和注册表 Run Key 修改 (100004): ![Windows Attack Detections](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e57ae8590c162103.png) ## 自定义检测规则 所有规则均位于 [`detection-rules/local_rules.xml`](detection-rules/local_rules.xml) 并映射到 MITRE ATT&CK: | Rule ID | 描述 | MITRE ID | Level | |---------|-------------|----------|-------| | 100001 | SSH 暴力破解 — 120秒内多次登录失败 | T1110 | 10 | | 100002 | 检测到 Windows 侦察命令 | T1082, T1016 | 8 | | 100003 | 已创建计划任务 — 潜在持久化 | T1053.005 | 10 | | 100004 | 注册表 Run Key 已修改 — 潜在持久化 | T1547.001 | 10 | ## 事件报告 每次模拟攻击都有相应的事件响应报告,记录了检测、调查和响应建议: 1. [SSH 暴力破解攻击](incident-reports/01-ssh-brute-force.md) 2. [Windows 侦察](incident-reports/02-windows-reconnaissance.md) 3. [通过注册表 Run Keys 持久化](incident-reports/03-persistence-registry-runkey.md) ## 我学到了什么 1. **检测工程关乎理解攻击者行为,而不仅仅是编写正则表达式。** 将规则映射到 MITRE ATT&CK 迫使你思考攻击者为什么做某事,而不仅仅是他们输入了什么。 2. **遥测质量决定检测质量。** 如果没有 Sysmon,Windows 提供的可见性非常有限。默认 Windows 事件日志与 Sysmon 增强的遥测数据之间的差别,就是猜测与确知之间的差别。 3. **误报是一个真正的挑战。** 像 `whoami` 和 `systeminfo` 这样的命令经常被管理员合法使用。编写既能捕捉攻击者又不会让分析师淹没在噪音中的规则,需要进行基线化和调优。 ## 仓库结构 ``` soc-homelab-detection-lab/ ├── README.md ├── architecture/ │ └── lab-diagram.png ├── detection-rules/ │ └── local_rules.xml ├── attack-simulations/ │ ├── brute-force-ssh.sh │ ├── windows-recon.ps1 │ └── persistence-simulation.ps1 ├── incident-reports/ │ ├── 01-ssh-brute-force.md │ ├── 02-windows-reconnaissance.md │ └── 03-persistence-registry-runkey.md ├── setup/ │ ├── wazuh-docker-setup.md │ ├── windows-vm-setup.md │ └── ubuntu-vm-setup.md └── screenshots/ ``` ## 设置说明 请参阅 [setup/](setup/) 目录以获取分步部署指南: 1. [Wazuh Docker 部署](setup/wazuh-docker-setup.md) 2. [Windows VM + Sysmon 设置](setup/windows-vm-setup.md) 3. [Ubuntu VM + auditd 设置](setup/ubuntu-vm-setup.md) ## 使用的工具 - **Wazuh 4.9.2** — 开源 SIEM/XDR - **Sysmon** — Windows 端点遥测 (SwiftOnSecurity 配置) - **auditd** — Linux 审计框架 - **Docker** — Wazuh 栈的容器部署 - **UTM** — macOS 虚拟化 (Apple Silicon 原生) - **MITRE ATT&CK** — 检测规则映射框架
标签:AI合规, AMSI绕过, BurpSuite集成, Cloudflare, Conpot, Cutter, Docker, HTTP/HTTPS抓包, Libemu, MITRE ATT&CK, Sysmon, Wazuh, Windows安全, 后渗透, 威胁检测, 安全实验室, 安全运营中心, 安全防御评估, 家庭实验室, 库, 应急响应, 态势感知, 无线安全, 渗透测试防御, 端点安全, 管理员页面发现, 网络安全, 网络攻击模拟, 网络映射, 补丁管理, 请求拦截, 隐私保护