PedroMSBarros/Mini-Soc-Lab
GitHub: PedroMSBarros/Mini-Soc-Lab
一个基于 Wazuh SIEM 与 Sysmon 构建的微型安全运营中心实验室,通过模拟真实攻击验证开源 SIEM 的检测能力并完成 MITRE ATT&CK 映射。
Stars: 0 | Forks: 0
# Mini SOC 实验室 — 使用 Wazuh SIEM 进行攻击检测
**作者:** Pedro
**日期:** 2026年7月
**代码库:** Metazoa Store(个人作品集)| 网络安全项目 #1
## 📋 执行摘要
本项目记录了构建**微型 SOC(安全运营中心)实验室**的过程,旨在模拟针对 Windows endpoint 的真实攻击,并验证开源 SIEM (Wazuh) 的检测能力,将每项技术映射到 **MITRE ATT&CK** 框架。
该实验室涵盖了 Blue Team 操作的完整周期:**遥测数据收集 → 事件关联 → 告警生成 → 调查 → 分诊(包括误报排除)**。
## 🎯 目标
从零开始构建一个具备检测功能的环境,能够识别真实入侵中常见的三大类攻击:
1. **通过暴力破解进行初始访问** (credential access)
2. **通过 PowerShell 执行混淆代码** (execution / defense evasion)
3. **本地权限提升** (privilege escalation)
## 🏗️ 环境架构
```
┌─────────────────────────┐ ┌──────────────────────────┐
│ Kali Linux (Atacante) │ │ Windows 10 (Vítima) │
│ 192.168.56.x │─────────▶│ 192.168.56.101 │
│ crackmapexec / hydra │ ataques │ Sysmon + Wazuh Agent │
└─────────────────────────┘ └─────────────┬────────────┘
│ eventos (porta 1514)
▼
┌──────────────────────────┐
│ Wazuh Manager (Ubuntu) │
│ 192.168.56.10 │
│ Wazuh Indexer + Dashboard │
│ Filebeat │
└──────────────────────────┘
```
所有虚拟机均运行在 **VirtualBox** 中,通过 **Host-only** 网络 (`192.168.56.0/24`) 互连,除了临时下载工具外,与互联网保持隔离。
## 🧰 技术栈
| 组件 | 功能 |
|---|---|
| **Ubuntu Server 26.04 LTS** | 承载 Wazuh Manager、Indexer 和 Dashboard 的主机操作系统 |
| **Wazuh 4.14.5** (Manager, Indexer, Dashboard) | SIEM — 收集、关联、告警和可视化 |
| **Sysmon** (SwiftOnSecurity 配置) | Windows 下进程、DLL 和文件的详细遥测 |
| **Filebeat** | 将 Manager 的告警发送至 Indexer |
| **Windows 10 Home** | 受监控的“受害”endpoint |
| **Kali Linux** | “攻击者”机器 |
| **crackmapexec / Hydra** | 攻击模拟工具 |
安装是通过 `apt` **手动完成的**(未使用辅助安装程序),这带来了真实的集成挑战——例如 TLS 证书配置、Filebeat 调整和网络持久化——重现了生产环境中常见的问题。

*Windows10-Vitima agent 的总体 Dashboard:24小时内收集了 569 个事件,按规则组(sysmon、windows_security、sca)进行细分,并自动映射了 PCI DSS compliance。*
## 🔴 场景 1 — 通过 SMB 进行暴力破解
**MITRE ATT&CK 技术:** T1110 (Brute Force)
### 攻击执行
在 Windows-Vítima 上创建了一个使用弱密码(`senha123`)的测试用户(`funcionario`)。从 Kali 中,使用 `crackmapexec` 针对 SMB 服务(端口 445)测试了包含 10 个密码的 wordlist:
```
crackmapexec smb 192.168.56.101 -u funcionario -p senhas.txt
```
**结果:** 8 次失败的尝试 (`STATUS_LOGON_FAILURE`) 随后是 1 次成功——这是典型的暴力破解攻击成功的特征。
### 检测
Wazuh 自动捕获了该模式,无需自定义规则:
- **9 个身份验证失败事件 + 5 个成功事件**在同一时间段内被关联
- **自动映射 MITRE ATT&CK:** Brute Force、Valid Accounts、Account Access Removal、Domain Accounts
- Dashboard 上可以清晰地看到在攻击发生的确切时间出现了告警高峰

*负责检测的 Wazuh 规则(ID 60204)详情:在 240 秒的时间窗口内关联来自同一 IP 地址的多次登录失败,映射至 MITRE ATT&CK(Brute Force / Credential Access)以及 PCI DSS、GDPR、HIPAA 和 NIST 800-53 等 compliance 框架。*
## 🟡 场景 2 — 滥用 PowerShell
**MITRE ATT&CK 技术:** T1059.001 (Command and Scripting Interpreter: PowerShell), T1105 (Ingress Tool Transfer)
### 攻击执行
在 Windows-Vítima 上模拟了攻击者后渗透阶段常用的三种技术:
1. **使用 Base64 encoding 的命令** (`-EncodedCommand`) — 一种用于规避命令行分析的混淆技术
2. **Bypass Execution Policy** (`-ExecutionPolicy Bypass`)
3. **Download cradle** (`IEX (New-Object Net.WebClient).DownloadString(...)`) — 用于直接在内存中下载并执行 payload 的模式
### 检测
结果:在 15 分钟的时间窗口内产生了 **229 个事件**和 **6 个严重级别(15)的告警**。
- **规则 92211** 明确指出:*"Powershell.exe spawned a powershell process which executed a base64 encoded command"*,并在 `commandLine` 字段中捕获了可完整解码的命令
- **规则 92213** 检测到在通常与恶意软件关联的临时文件夹中创建了多个 `.ps1` 文件
- **Download cradle 在 Wazuh 采取行动之前就被 Windows Defender 拦截** —— 证明了纵深防御(endpoint + SIEM)
- 自动映射的 MITRE 技术:PowerShell、Command and Scripting、Ingress Tool Transfer、Lateral Tool Transfer

*15 分钟时间窗口内的 229 个事件和 6 个严重告警(级别 15),以及 MITRE ATT&CK 技术分布:PowerShell、Ingress Tool Transfer、Lateral Tool Transfer、DLL Search Order Hijacking 等。*
### 误报调查
在分析过程中,一个 `FodHelper.exe` 的执行事件(以 `NT AUTHORITY\SYSTEM` 身份运行)引起了注意,因为这是一种已知的 **UAC Bypass (T1548.002)** 技术。调查分为 3 个步骤进行:
1. 检查由 FodHelper 生成的子进程 → 未发现
2. 检查此类 bypass 中使用的注册表键 (`HKCU\Software\Classes\ms-settings\shell\open\command`) → **不存在**
3. 时间关联 → 事件发生在测试开始之前
**结论:** 误报,属于操作系统的合法活动。这种分诊过程——区分真实告警与系统噪音——是 SOC 分析师日常工作的核心技能。
## 🟠 场景 3 — 权限提升(Unquoted Service Path)
**MITRE ATT&CK 技术:** T1574.009 (Hijack Execution Flow: Path Interception by Unquoted Path)
### 构建漏洞
故意创建了一个路径**未加引号**且包含空格的 Windows 服务:
```
C:\Program Files\Empresa Teste\App Vulneravel\servico.exe
```
并以 `LocalSystem` 权限运行。
### 利用
一个二进制文件(重命名的 `cmd.exe`)被放置在路径的第一个断点处——`C:\Program.exe`——模拟一个已经在磁盘上拥有有限写入权限的攻击者。启动服务时,Windows 尝试按顺序执行路径的每个片段,并在找到合法路径之前先找到了恶意二进制文件。
### 检测与取证证据
Sysmon 捕获了极其详细的执行信息:
| 字段 | 值 |
|---|---|
| `image` | `C:\Program.exe` |
| `originalFileName` | `Cmd.Exe` *(即使重命名也能揭示伪装的二进制文件)* |
| `integrityLevel` | **System** |
| `commandLine` | `C:\Program Files\Empresa Teste\App Vulneravel\servico.exe` |
`integrityLevel: System` 字段是证明权限提升成功的确凿证据:一个由“攻击者”控制的二进制文件以 Windows 最高的完整性级别运行。
## ✅ 结论
该实验室端到端验证了 **Sysmon → Wazuh Agent → Wazuh Manager → Filebeat → Indexer → Dashboard** 的 pipeline,无需自定义规则即可有效检测出三大类不同的攻击——仅使用 Wazuh 的默认规则集结合成熟的 Sysmon 配置(SwiftOnSecurity)。
### 展现的技能
- 手动部署完整的 SIEM(不使用辅助安装程序),包括排查 TLS 证书、身份验证和网络持久化问题
- 配置符合市场最佳实践的 endpoint 遥测 (Sysmon)
- 使用市场标准攻击性工具(Hydra、CrackMapExec)模拟真实攻击(T1110、T1059.001、T1105、T1574.009)
- 告警分析与 MITRE ATT&CK 映射
- 分析分诊 —— 能够利用技术证据识别并排除误报,从而避免告警疲劳
### 下一步计划
- 为模拟的特定场景创建自定义检测规则(`local_rules.xml`)
- 增加第二个 endpoint 以模拟横向移动来扩展实验室
- 为每个场景编写事件响应 playbook 文档
*该环境的构建与文档记录属于网络安全 / SOC Analyst 学习作品集的一部分。*
标签:DNS 反向解析, Wazuh, Web报告查看器, Windows端点安全, 安全实验室, 安全检测与响应, 红队行动