malekgulam/Soc-Home-Lab

GitHub: malekgulam/Soc-Home-Lab

一个基于 Wazuh、Sysmon、Suricata 和 Shuffle 构建的家庭 SOC 检测工程实验室,用于开发、验证安全检测规则并记录完整的调查流程。

Stars: 0 | Forks: 0

# Wazuh 检测工程实验室 一个自建的家庭 SOC 实验室,旨在使用 Wazuh、Sysmon、Suricata、Atomic Red Team 和 Shuffle SOAR 来开发、验证和记录端点与网络检测。 本项目的目的不仅仅是部署安全工具,而是为了理解遥测数据是如何生成的、检测规则是如何编写和验证的、告警是如何调查的,以及富化工作流如何提高分析师的效率。 本仓库中包含的所有检测都在一个隔离的虚拟实验室中进行了测试,并记录了它们的实现、测试方法、调查过程、观察结果和已知限制。 ## 架构 ![架构](https://static.pigsec.cn/wp-content/uploads/repos/cas/ba/ba502dad4d1149c1c4e1897d23187790cb36bd6e41308635ca91e86ec8766ecf.png) 更多架构详情请参见: - [架构文档](architecture/README.md) ## 实验室概述 | 组件 | 用途 | |-----------|---------| | **Wazuh Manager** | 集中式日志收集、检测引擎和告警管理 | | **Windows 11 端点** | 通过 Sysmon 和 Windows 安全日志生成端点遥测数据 | | **Sysmon** | 高保真端点事件收集 | | **Atomic Red Team** | 攻击模拟和检测验证 | | **Suricata IDS** | 网络入侵检测 | | **Shuffle SOAR** | 自动化富化工作流 | | **VirusTotal** | IP 信誉富化 | | **VirtualBox** | 虚拟实验室环境 | ## 目标 本仓库侧重于检测工程的四个领域: - 使用真实的端点和网络遥测数据构建检测 - 通过受控的攻击模拟验证检测 - 使用分析师 playbook 记录调查程序 - 使用 SOAR 自动化重复的分析师任务 该实验室不仅仅演示工具安装,更强调理解安全事件如何在检测 pipeline 中流转——从遥测生成到调查。 ## 检测覆盖范围 | ATT&CK 战术 | 技术 | 检测 | |--------------|-----------|-----------| | Credential Access | T1003.001 | LSASS 进程访问 | | Execution | T1059.001 | PowerShell EncodedCommand | | Persistence | T1136.001 | 创建本地管理员账户 | | Discovery | T1046 | 网络服务发现 | | Credential Access | T1110.001 | SSH 暴力破解检测 | ## 实验室工作流 ``` Attack Simulation │ ▼ Windows / Network Telemetry │ ▼ Wazuh Agent │ ▼ Wazuh Manager │ ▼ Custom Detection Rules │ ▼ Alert Generation │ ▼ Analyst Investigation │ ▼ SOAR Enrichment │ ▼ Threat Intelligence Context ``` ## 功能 ### 端点检测工程 - Sysmon 遥测数据收集 - Windows 安全日志监控 - 自定义 Wazuh 检测规则 - MITRE ATT&CK 映射 - Atomic Red Team 验证 ### 网络检测 - Suricata IDS 集成 - SSH 暴力破解检测 - 网络扫描检测 - 通过 `eve.json` 进行数据包检查 ### 调查 - 特定检测的 playbook - 证据收集 - 时间线分析 - 分类指导 - 误报考量 ### SOAR - Shuffle 云端集成 - 自动 VirusTotal IP 富化 - 基于 Webhook 的工作流执行 - 分析师富化输出 ## 检测规则 | 规则 ID | 检测 | ATT&CK | 日志来源 | |---------|-----------|---------|------------| | **100100** | LSASS 进程访问 | T1003.001 | Sysmon Event ID 10 | | **100101** | PowerShell EncodedCommand | T1059.001 | Sysmon Event ID 1 | | **100102** | 添加本地管理员 | T1136.001 | Windows Security Event ID 4732 | 每条规则的详细文档可在 **detections** 目录中找到。 ## 检测验证 本仓库中包含的每个检测都经过了受控测试验证。 验证方法包括: - Atomic Red Team - 原生 Windows 命令 - PowerShell 模拟 - Nmap - SSH 暴力破解测试 每份检测文档包含: - 检测逻辑 - 测试方法 - 告警证据 - 调查笔记 - 已知限制 - 误报考量 ## 调查 Playbook 本仓库包含分析师 playbook,描述了在生成告警后应如何进行调查。 每个 playbook 包含: - 触发条件 - 调查工作流 - 时间线分析 - 证据收集 - 分类决策 - 建议的响应 - 误报指导 当前的 playbook 包括: - LSASS 凭据转储 - PowerShell EncodedCommand - 创建本地管理员账户 - 网络扫描与 SSH 暴力破解 ## SOAR 集成 该实验室通过 Webhook 集成将 Wazuh 与 Shuffle 云端连接起来。 当 Wazuh 生成满足配置阈值的告警时: 1. Wazuh 将告警发送给 Shuffle。 2. Shuffle 提取端点 IP。 3. 自动查询 VirusTotal。 4. 返回信誉数据。 5. 分析师无需离开调查工作流即可接收到丰富的上下文。 工作流文档包含: - 工作流设计 - Node 配置 - 变量映射 - 执行证据 - 经验教训 ## 仓库结构 ``` . ├── architecture/ ├── detections/ ├── playbooks/ ├── screenshots/ ├── soar/ ├── setup/ └── README.md ``` ## 使用的技术 | 类别 | 技术 | |----------|--------------| | 操作系统 | Windows 11 Enterprise Evaluation, Ubuntu Server 22.04, Kali Linux | | 检测平台 | Wazuh 4.12 | | 端点遥测 | Sysmon (SwiftOnSecurity configuration) | | 网络 IDS | Suricata | | 攻击模拟 | Atomic Red Team, PowerShell, Nmap | | SOAR | Shuffle Cloud | | 威胁情报 | VirusTotal | | 虚拟化 | Oracle VirtualBox | ## 实验室环境 | 机器 | 角色 | 地址 | |---------|------|---------| | Ubuntu Server | Wazuh Manager + Suricata | `192.168.100.10` | | Windows 11 | 受监控的端点 | `192.168.100.20` | | Kali Linux | 攻击机 | `192.168.100.30` | 虚拟机通过隔离的内部网络进行通信,同时通过独立的 NAT 适配器保持互联网访问,以便进行更新和软件安装。 ## 文档 以下文件中提供了详细的文档: | 文档 | 描述 | |----------|-------------| | [设置指南](docs/setup.md) | 环境搭建与安装 | | [架构](architecture/README.md) | 实验室架构与遥测数据流 | | [检测规则](detections/) | 自定义检测规则文档 | | [Playbooks](playbooks/) | 调查与响应 playbook | ## 截图 | 类别 | 位置 | |----------|----------| | 检测规则 | ![LSASS 检测](https://static.pigsec.cn/wp-content/uploads/repos/cas/47/47299c2faa0d3a204407a3aaabe7702a119503519a0167ed073677c7bb6784ed.png) | | Wazuh 告警 | ![LSASS 告警](https://static.pigsec.cn/wp-content/uploads/repos/cas/47/47299c2faa0d3a204407a3aaabe7702a119503519a0167ed073677c7bb6784ed.png) | | 网络检测 | ![Suricata 检测](https://raw.githubusercontent.com/malekgulam/Soc-Home-Lab/main/screenshots/network_scan/network_scan_dashboard.png) | | SOAR 工作流 | ![Shuffle 工作流](https://raw.githubusercontent.com/malekgulam/Soc-Home-Lab/main/screenshots/soar/workflow_canvas.png) | 仓库中的截图展示了规则创建、告警生成、调查证据、工作流执行和富化结果。 ## 当前限制 本项目旨在作为一个学习和验证环境,而不是生产环境的 SOC 部署。 当前的限制包括: - 单个受监控的 Windows 端点 - 单个 Wazuh manager - 无集中式身份验证 - 有限的攻击覆盖范围 - 无高可用性部署 - 无大规模遥测数据量 - 基于云的 Shuffle 部署,而非自托管基础设施 这些限制在影响到具体检测或工作流的地方已作说明。 ## 参考 - Wazuh 文档 - Microsoft Sysmon 文档 - SwiftOnSecurity Sysmon 配置 - Atomic Red Team - MITRE ATT&CK 框架 - Suricata 文档 - Shuffle 文档 - VirusTotal API 文档 ## 仓库目标 本仓库展示了检测的完整生命周期: ``` Attack Simulation │ ▼ Telemetry Collection │ ▼ Detection Development │ ▼ Rule Validation │ ▼ Alert Investigation │ ▼ Threat Intelligence Enrichment │ ▼ Documentation ``` 该仓库不仅仅展示检测,还记录了用于开发、验证、调查和自动化检测的工程过程。 ## 许可 本仓库仅用于教育目的。 请仅在您拥有或明确获得授权进行测试的系统中使用所有攻击模拟。
标签:Metaprompt, SOAR, Sysmon, Wazuh, 安全实验室