Kraizem/SOC-Detection-Lab-Wazuh

GitHub: Kraizem/SOC-Detection-Lab-Wazuh

基于Wazuh构建的SOC检测实验室,演示了端点监控、自定义规则编写和MITRE ATT&CK映射的完整流程。

Stars: 0 | Forks: 0

# 使用 Wazuh 构建 SOC 检测实验室 ## 项目概述 本项目演示了如何使用 Wazuh 实现安全运营中心 (SOC) 检测实验室,以监控端点活动、分析日志、检测可疑行为,并将警报映射到 MITRE ATT&CK 框架。 该实验室模拟了三种真实的攻击者场景,涵盖网络侦察、可疑命令执行和异常网络活动——所有这些都通过自定义 Wazuh 规则进行检测和警报。 ## 实验室架构 SOC Architecture Diagram SOC 实验室环境包括: - **Windows 端点** — 运行 Sysmon 的目标机器 - **Wazuh Agent** — 安装在 Windows 端点上以收集日志 - **Wazuh Manager** — 接收和分析日志,应用检测规则 - **Wazuh Indexer** — 存储和索引警报数据 - **Wazuh Dashboard** — 可视化警报并支持威胁狩猎 来自 Windows 端点的日志被转发到 Wazuh Manager 进行分析和警报生成。 ## 端点监控 Windows 端点配置了 **Sysmon** 以捕获详细的系统活动,包括: - 进程创建 (Event ID 1) - 网络连接 (Event ID 3) - 命令执行 - Windows Event Logs 这些日志被转发到 Wazuh 进行监控和检测。 ## 攻击模拟 为了测试 SOC 实验室的检测能力,模拟了三种攻击场景。 ### 1. 网络侦察 – 端口扫描 (UC1) 使用 Nmap 从攻击机向 Windows 端点模拟网络侦察。 **使用的命令:** ``` nmap -sS -p- ``` **目标:** 发现目标机器上的开放端口和运行服务。 此活动生成了大量连接尝试,这些尝试被捕获在网络和防火墙日志中,随后由 Wazuh 分析。 ### 2. 可疑命令执行 (UC2) 在获得对 Windows 端点的访问权限后,通过 `cmd.exe` 手动执行了以下枚举命令: **使用的命令:** ``` whoami net user ipconfig /all ``` | 命令 | 目的 | |---|---| | `whoami` | 识别当前用户上下文和权限 | | `net user` | 枚举机器上的本地用户账户 | | `ipconfig /all` | 收集完整的网络配置详细信息 | 这些命令被 **Sysmon (Event ID 1 – Process Creation)** 捕获并转发到 Wazuh 进行分析。 ### 3. 可疑网络活动 (UC3) 模拟了异常的出站网络连接,以复制入侵后行为,例如 C2 通信或横向移动尝试。 **模拟的活动:** - 从 `cmd.exe` 和 `powershell.exe` 发起的出站连接 - 针对非常见端口 (4444, 1337, 8888) 的连接 - 来自单个进程的高频连接尝试 这些被 **Sysmon (Event ID 3 – Network Connection)** 捕获,并在 Wazuh 内部与 UC2 命令执行活动相关联,以识别完整的攻击序列。 ## 用例 ### 用例 1 – 网络侦察检测 **MITRE ATT&CK:** [T1046 – Network Service Discovery](https://attack.mitre.org/techniques/T1046/) **描述:** 攻击者执行网络侦察,使用 Nmap 发现目标 Windows 端点上的开放端口和运行服务。这通常是攻击链中的第一步。 **攻击模拟:** ``` nmap -sS -p- ``` **日志样本 (Wazuh 警报):** ``` { "rule": { "id": "100003", "level": 14, "description": "Multiple connection rejections from same source – Possible full port scan (nmap -p-)" }, "data": { "srcip": "192.168.1.100", "action": "DROP", "frequency": "50+ in 60 seconds" }, "mitre": { "technique": "Network Service Discovery", "id": "T1046" } } ``` **检测逻辑:** - 当同一源 IP 在 60 秒内发生 50 次以上连接拒绝时,触发自定义 Wazuh 规则 `100003` - 警报级别设置为 **14 (high)** ### 用例 2 – 可疑命令执行 **MITRE ATT&CK:** [T1059 – Command and Scripting Interpreter](https://attack.mitre.org/techniques/T1059/) **描述:** 获得 Windows 端点访问权限的攻击者手动执行系统枚举命令,以收集有关环境的信息。 **攻击模拟:** ``` whoami net user ipconfig /all ``` **日志样本 (Sysmon Event ID 1 → Wazuh 警报):** ``` { "rule": { "id": "100011", "level": 11, "description": "Sysmon: net user executed – Local user account enumeration detected (T1059)" }, "data": { "win.eventdata.image": "C:\\Windows\\System32\\net.exe", "win.eventdata.commandLine": "net user", "win.system.eventID": "1", "win.eventdata.user": "DESKTOP-XXX\\attacker" }, "mitre": { "technique": "Command and Scripting Interpreter", "id": "T1059" } } ``` **检测逻辑:** - 规则 `100010` 通过 Sysmon Event ID 1 检测 `whoami.exe` - 规则 `100011` 通过匹配进程映像和命令行参数检测 `net user` - 规则 `100012` 通过匹配进程映像和 `/all` 标志检测 `ipconfig /all` - 如果在 120 秒内执行了 2 个或更多这些命令,复合规则 `100013` 将在 **level 14** 触发 ### 用例 3 – 可疑网络活动 **MITRE ATT&CK:** [T1049 – System Network Connections Discovery](https://attack.mitre.org/techniques/T1049/) **描述:** 在初始枚举之后,观察到源自 Windows 端点上 shell 进程的异常出站网络连接。Wazuh 将进程活动与网络日志相关联,以识别可疑行为。 **日志样本 (Sysmon Event ID 3 → Wazuh 警报):** ``` { "rule": { "id": "100021", "level": 11, "description": "Sysmon: Shell process initiated outbound network connection – Suspicious activity (T1049)" }, "data": { "win.eventdata.image": "C:\\Windows\\System32\\cmd.exe", "win.eventdata.destinationIp": "203.0.113.45", "win.eventdata.destinationPort": "4444", "win.eventdata.initiated": "true", "win.system.eventID": "3" }, "mitre": { "technique": "System Network Connections Discovery", "id": "T1049" } } ``` **检测逻辑:** - 规则 `100020` 标记指向已知可疑端口的出站连接 - 规则 `100021` 标记任何进行出站连接的 shell 进程 - 规则 `100022` 在单个进程在 60 秒内建立 20 个以上出站连接时触发 - **关联规则 `100023`** (level 15 – critical) 在检测到网络活动的时间处于 UC2 侦察命令发生后的 5 分钟内时触发,从而识别完整的攻击链 ## 检测工程 在 Wazuh 中创建了自定义检测规则以检测所有三个用例。规则文件位于 [`rules/`](./rules/) 文件夹中。 | 规则文件 | 用例 | 规则 ID | |---|---|---| | `uc1_nmap_recon.xml` | 网络侦察 | 100001 – 100003 | | `uc2_suspicious_commands.xml` | 可疑命令执行 | 100010 – 100013 | | `uc3_network_activity.xml` | 可疑网络活动 | 100020 – 100023 | ## 警报调优 通过以下方式执行警报调优,以减少误报并提高检测准确性: - 调整规则频率阈值 - 为每个规则设置适当的时间窗口 - 使用复合规则在发出警报之前关联相关事件 ## MITRE ATT&CK 映射 | 技术 | ID | 用例 | 检测方法 | |---|---|---|---| | Network Service Discovery | [T1046](https://attack.mitre.org/techniques/T1046/) | UC1 – 网络侦察检测 | 自定义 Wazuh 规则触发于网络日志中的 Nmap 扫描模式 | | Command and Scripting Interpreter | [T1059](https://attack.mitre.org/techniques/T1059/) | UC2 – 可疑命令执行 | Sysmon Event ID 1 (Process Creation) 转发至 Wazuh;对 `whoami`, `net user`, `ipconfig` 发出警报 | | System Network Connections Discovery | [T1049](https://attack.mitre.org/techniques/T1049/) | UC3 – 可疑网络活动 | Wazuh 关联 Sysmon 网络事件和进程日志以检测异常出站连接 | ## 使用的技术 | 工具 | 角色 | |---|---| | Wazuh 4.x | SIEM / 检测引擎 | | Sysmon 13.x | 端点遥测 | | Nmap | 攻击模拟 (侦察) | | Windows Event Logs | 日志源 | | MITRE ATT&CK Framework | 威胁映射 | ## 结果 ### Wazuh Manager – 成功启动 ![Screenshot 2026-01-25 214945](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/9adeabab40195630.jpg) Wazuh v4.14.2 已在 Ubuntu 服务器上成功部署并启动。所有核心服务确认运行中,包括 `wazuh-apid`、`wazuh-analysisd`、`wazuh-remoted`、`wazuh-logcollector` 和 `wazuh-modulesd`。Manager 已完全运行,准备接收来自 Windows 端点 Agent 的日志。 ### Wazuh Dashboard – 实时警报源 (威胁狩猎视图) ![Screenshot 2026-01-25 214944](https://github.com/user-attachments/assets/3a520c3b-4ad6-4f74-9f7a-6e059936580e) Wazuh Dashboard 在 24 小时窗口内从受监控的 Windows 端点 (`DESKTOP-6B015RT`) 捕获了 **494 条警报**。警报源显示了各种规则严重级别(级别 3–9),包括: - **用户账户更改** (Rule 60110) — 在 `net user` 命令模拟期间触发 - **用户组已更改** (Rule 60170) — 在枚举活动期间标记 - **服务启动类型更改** (Rule 61104) — 在后渗透行为期间检测到 - **CIS Benchmark 违规** (Rules 19005–19009) — SCA 策略合规性警报 这表明 Wazuh 在整个攻击模拟过程中积极监控端点活动,并生成映射到真实安全事件的警报。 ## 展示的技能 - 日志分析和威胁检测 - 自定义 Wazuh 规则创建和调优 - 使用 Sysmon 进行端点监控 - MITRE ATT&CK 映射 - 检测工程和警报关联 - SOC 实验室环境搭建和配置
标签:AMSI绕过, Beacon Object File, BurpSuite集成, Cloudflare, CTI, GitHub Advanced Security, HTTP/HTTPS抓包, MITRE ATT&CK, Nmap, Redis利用, RFI远程文件包含, SOC实验室, Sysmon, Wazuh, Windows 安全, 后渗透, 威胁检测, 安全加固, 安全运营中心, 实验环境, 态势感知, 插件系统, 攻击模拟, 数据统计, 流量嗅探, 端口扫描, 端点监控, 网络安全, 网络安全审计, 网络映射, 自定义规则, 虚拟驱动器, 防御 evasion, 隐私保护, 驱动签名利用