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 调整和网络持久化——重现了生产环境中常见的问题。 ![Wazuh Dashboard 概览](https://static.pigsec.cn/wp-content/uploads/repos/cas/6d/6d6914df8d091ea680c6a2c4579235e8dcc36ca1df215e368785d22996a9b856.png) *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 上可以清晰地看到在攻击发生的确切时间出现了告警高峰 ![Multiple Windows Logon Failures 规则](https://static.pigsec.cn/wp-content/uploads/repos/cas/5a/5ad06a37952edf2bba7fa56fadc7c646ed58b8c7702d50164e1f2f4a8a8b272b.png) *负责检测的 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 ![PowerShell Abuse 场景的 Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/cas/e7/e763d91fd60927e2ea9bc09f1ca936892dc3db7a11b1a341440154dbce7d2f11.png) *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端点安全, 安全实验室, 安全检测与响应, 红队行动