MiguelM20/windows_soc_detection_lab
GitHub: MiguelM20/windows_soc_detection_lab
基于 Hyper-V、Wazuh 和 Sysmon 构建的 Windows SOC 实验室,用于安全事件监控、检测工程和 MITRE ATT&CK 映射的端到端实践。
Stars: 0 | Forks: 0
# Windows SOC 和检测工程实验室
## 概述
本项目是一个使用 Microsoft Hyper-V、Windows 11、Ubuntu Server、Sysmon 和 Wazuh 构建的自包含安全运营中心(SOC)实验室。
建立此实验室旨在练习:
- 安全事件监控
- 告警调查
- Windows 日志分析
- Sysmon 遥测分析
- MITRE ATT&CK 映射
- 检测缺口识别
- 自定义 Wazuh 规则开发
- 事件记录文档编写
所有可疑活动均是在隔离的虚拟环境中使用无害命令故意生成的。
## 架构
该环境包含:
- 一台运行 Hyper-V 的 Windows 11 Pro 主机
- 一台运行 Wazuh manager、indexer 和 dashboard 的 Ubuntu Server 虚拟机
- 一台作为受监控端点的 Windows 11 虚拟机
- 提供详细端点遥测数据的 Sysmon
- 一个负责转发 Windows 和 Sysmon 事件的 Wazuh agent
- 一个具有静态 IP 寻址和 NAT 互联网访问的专用专用网络
```
Windows 11 Endpoint
10.10.10.20
|
| Windows events and Sysmon telemetry
| TCP 1514
v
Wazuh Server
10.10.10.10
|
v
Wazuh Dashboard
|
v
SOC Investigation
```
更多信息请参阅[架构文档](docs/architecture.md)。
## 调查
### 1. 密集的失败登录尝试
针对一个不存在的 Windows 账户生成了五次失败的网络身份验证尝试。
调查识别出:
- Windows Security Event ID `4625`
- 约 64 毫秒内的五次尝试
- 源地址 `127.0.0.1`
- NTLM 网络身份验证
- 由不存在的用户名导致失败
- 自动化的类暴力破解时间间隔
最终分类:
```
True positive, benign simulation
```
[阅读失败登录调查](investigations/failed-logons.md)
### 2. 计划任务持久化
配置了一个计划任务,使其在用户登录时以 `NT AUTHORITY\SYSTEM` 身份自动执行。
调查识别出:
- 使用 `schtasks.exe` 创建任务
- 一个 `ONLOGON` 触发器
- SYSTEM 级别执行
- 登录和重启后自动执行
- Sysmon 进程和文件创建遥测
- 原始 Wazuh 规则中的检测缺口
我们创建了一条自定义 Wazuh 规则,并成功生成了一个映射到 MITRE ATT&CK 技术 `T1053.005` 的 level-10 告警。
最终分类:
```
True positive, benign simulation
```
[阅读计划任务调查](investigations/scheduled-task-persistence.md)
[查看自定义 Wazuh 规则](detections/scheduled-task-persistence-rule.xml)
### 3. 编码的 PowerShell 执行
使用 `-EncodedCommand` 参数执行了一条无害的 PowerShell 命令。
Wazuh 使用内置规则 `92057` 检测到了该活动,并生成了一个映射到 MITRE ATT&CK 技术 `T1059.001` 的 level-12 告警。
在调查过程中,Base64 payload 被解码,并确认其包含:
```
Write-Output "SOCLAB_TEST"
```
最终分类:
```
True positive, benign simulation
```
[阅读编码 PowerShell 调查](investigations/encoded-powershell.md)
## 自定义检测工程
计划任务调查揭示了一个检测缺口。
Sysmon 收集了相关的进程遥测数据,但当 `schtasks.exe` 创建任务时,原始的 Wazuh 规则并未生成告警。
我们开发了自定义规则 `100200` 以检测:
- Sysmon Process Create 事件
- `schtasks.exe` 的执行
- 包含 `/Create` 的命令行
该规则生成了一个 level-10 告警,并将此活动映射至:
```
T1053.005 - Scheduled Task/Job: Scheduled Task
```
这展示了收集遥测数据与创建可操作的安全检测之间的区别。
## 技术
- Microsoft Hyper-V
- Windows 11 Pro
- Windows 11 Enterprise Evaluation
- Ubuntu Server 24.04 LTS
- Wazuh
- Sysmon
- Olaf Hartong Sysmon Modular
- Windows Security Event Logs
- PowerShell
- MITRE ATT&CK
## 网络配置
```
Network: 10.10.10.0/24
Hyper-V gateway: 10.10.10.1
Wazuh server: 10.10.10.10
Windows endpoint: 10.10.10.20
```
静态寻址可防止 Wazuh 服务器地址在虚拟机重启后发生更改。
## 仓库结构
```
SOC-Lab-Portfolio/
├── README.md
├── docs/
│ ├── architecture.md
│ └── setup.md
├── investigations/
│ ├── encoded-powershell.md
│ ├── failed-logons.md
│ └── scheduled-task-persistence.md
├── detections/
│ └── scheduled-task-persistence-rule.xml
└── screenshots/
├── encoded-powershell/
├── failed-logons/
└── scheduled-task/
```
## 设置文档
主要配置步骤记录于此:
[阅读 SOC 实验室设置文档](docs/setup.md)
该文档排除了密码、私钥和 Wazuh 管理凭据。
## 展示技能
本项目展示了对以下方面的实践经验:
- 构建和维护虚拟 SOC 环境
- 部署和配置 Wazuh
- 安装和配置 Sysmon
- 收集端点遥测数据
- 调查身份验证和进程事件
- 分析父子进程关系
- 安全地解码 PowerShell payload
- 关联时间戳、用户、进程 ID (PID) 和进程 GUID
- 识别检测覆盖率缺口
- 开发和测试自定义 SIEM 规则
- 将安全活动映射到 MITRE ATT&CK
- 分类真阳性良性模拟
- 记录调查结果和补救措施
## 安全
未使用任何活体恶意软件。
所有活动均在隔离的虚拟机中使用无害的测试命令执行。持久化机制和输出文件在验证后已被移除。
标签:AI合规, Sysmon, Wazuh, 安全运营中心, 网络映射