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 来开发、验证和记录端点与网络检测。
本项目的目的不仅仅是部署安全工具,而是为了理解遥测数据是如何生成的、检测规则是如何编写和验证的、告警是如何调查的,以及富化工作流如何提高分析师的效率。
本仓库中包含的所有检测都在一个隔离的虚拟实验室中进行了测试,并记录了它们的实现、测试方法、调查过程、观察结果和已知限制。
## 架构

更多架构详情请参见:
- [架构文档](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 |
## 截图
| 类别 | 位置 |
|----------|----------|
| 检测规则 |  |
| Wazuh 告警 |  |
| 网络检测 |  |
| SOAR 工作流 |  |
仓库中的截图展示了规则创建、告警生成、调查证据、工作流执行和富化结果。
## 当前限制
本项目旨在作为一个学习和验证环境,而不是生产环境的 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, 安全实验室