SinishtajM/wazuh-soc-lab

GitHub: SinishtajM/wazuh-soc-lab

一个基于 Wazuh 搭建的 SOC 实验室项目,演示跨平台端点监控、自定义检测规则、调查场景分析及警报调优的完整安全运营工作流。

Stars: 0 | Forks: 0

# Wazuh SOC 实验室:Windows 和 Linux 威胁检测 ## 概述 本项目记录了一个使用 Wazuh 搭建的家庭 SOC 实验室,用于监控 Windows 和 Linux 端点。该实验室演示了端点接入、日志接入、警报审查、调查工作流、自定义检测工程、误报调优以及仪表盘证据收集。 目标不仅是安装 Wazuh,还要验证在 SOC 风格的工作流中,能够生成、审查、调优并解释有意义的遥测数据。 ## 实验室架构 | 组件 | 用途 | |---|---| | Wazuh server | Wazuh manager、indexer 和 dashboard | | Windows 端点 | Windows 安全日志、Sysmon、PowerShell 4104 日志记录、RDP/身份验证活动 | | Linux 端点 | SSH 身份验证、sudo/PAM 活动、syslog/journald、文件完整性监控 | | 管理工作站 | 用于访问 dashboard、生成测试事件并收集证据 | ![Wazuh agents 概览](https://raw.githubusercontent.com/SinishtajM/wazuh-soc-lab/main/screenshots/wazuh-agents-overview.png) ## 工具与技术 - Wazuh manager、indexer 和 dashboard - Wazuh Windows 和 Linux agent - Windows 11 端点 - Ubuntu Server 端点 - Sysmon - PowerShell 脚本块日志记录 - Windows 安全审计 - Linux journald/syslog - Wazuh 文件完整性监控 - `local_rules.xml` 中的自定义 Wazuh 规则 ## 已验证的遥测数据 ### Windows 端点 Windows 端点被配置为收集并转发: - 失败的登录:事件 ID 4625 - 成功的远程登录:事件 ID 4624 - 特权登录:事件 ID 4672 - 进程创建:事件 ID 4688 - PowerShell 脚本块日志记录:事件 ID 4104 - Sysmon 进程创建:事件 ID 1 - Sysmon 文件创建:事件 ID 11 ![Windows 身份验证链](https://raw.githubusercontent.com/SinishtajM/wazuh-soc-lab/main/screenshots/windows-authentication-chain.png) ![Windows PowerShell 4104](https://raw.githubusercontent.com/SinishtajM/wazuh-soc-lab/main/screenshots/windows-powershell-4104.png) ![Windows Sysmon 活动](https://raw.githubusercontent.com/SinishtajM/wazuh-soc-lab/main/screenshots/windows-sysmon-activity.png) ### Linux 端点 Linux 端点被配置为收集并转发: - 失败的 SSH 身份验证 - PAM 会话活动 - sudo/root 活动 - 文件完整性监控更改 ![Linux SSH 和 sudo 活动](https://raw.githubusercontent.com/SinishtajM/wazuh-soc-lab/main/screenshots/linux-ssh-sudo-activity.png) ![Linux FIM 文件删除](https://raw.githubusercontent.com/SinishtajM/wazuh-soc-lab/main/screenshots/linux-fim-file-deleted.png) ## 调查场景 1:Windows 远程管理员登录与发现 ### 场景总结 一台远程工作站尝试以本地管理员身份向 Windows 端点进行身份验证。第一次尝试失败,随后远程登录成功。登录后,通过账户枚举和 PowerShell 活动观察到了发现行为。 ### 审查的证据 | 事件 | 描述 | SOC 价值 | |---|---|---| | 4625 | 本地管理员账户登录失败 | 检测身份验证失败 | | 4624 | 使用 NTLM 成功进行远程登录 | 检测远程身份验证 | | 4672 | 分配了特殊权限 | 识别特权登录 | | 4688 | `net1 user` 进程创建 | 显示账户发现行为 | | 4104 | PowerShell 脚本块活动 | 捕获脚本内容 | | Sysmon EID 1 | PowerShell 进程活动 | 显示进程链和父进程上下文 | ### 分析师评估 此活动在实验室中是符合预期的,但在真实环境中,该链需要进一步审查,因为它类似于未经授权的远程访问及随后的发现行为。建议的操作包括验证源工作站、确认用户活动是否已授权、审查账户权限,以及搜寻额外的发现或横向移动指标。 ## 调查场景 2:Linux SSH、Sudo 和文件完整性监控 ### 场景总结 针对 Linux 端点生成了一次失败的 SSH 登录。之后,执行了 sudo/root 活动,并且从 Wazuh FIM 监控的目录中删除了一个受监控的文件。 ### 审查的证据 | 规则 | 描述 | SOC 价值 | |---|---|---| | 5760 | SSH 身份验证失败 | 检测 SSH 登录失败 | | 5501 | PAM 会话已开启 | 显示特权会话活动 | | 5402 | 成功通过 sudo 切换到 root | 检测 root 命令执行 | | 553 | 文件已删除 | 通过 FIM 检测受监控文件的删除 | ### 分析师评估 此活动在实验室中是符合预期的。在真实环境中,SSH 登录失败,随后发生 sudo/root 活动以及受监控文件被删除,这将需要验证源 IP、审查 shell 历史记录、确认该活动是否已授权,并对已删除的文件进行调查。 ## 检测工程 ### 自定义规则 100100:SSH 暴力破解关联 创建了一个自定义 Wazuh 规则,以提高来自同一源 IP 的重复 SSH 失败的严重级别。 | 字段 | 值 | |---|---| | 规则 ID | 100100 | | 严重性 | Level 10 | | 触发条件 | 120 秒内来自同一源 IP 的 3 次 SSH 登录失败 | | 源规则 | 5760 - SSH 身份验证失败 | | 目的 | 将重复的身份验证失败升级为更高优先级的暴力破解类警报 | ### 自定义规则 100101:良性 PowerShell 策略测试调优 对一项高危 Sysmon 文件创建警报进行了调查和调优。PowerShell 在用户 Temp 目录中创建了一个匹配模式 `__PSScriptPolicyTest_*.ps1` 的文件。这被评估为良性的 PowerShell 策略测试行为。 | 字段 | 值 | |---|---| | 规则 ID | 100101 | | 严重性 | Level 3 | | 父规则 | 92213 | | 目的 | 减少已知良性 PowerShell 策略测试文件的噪音,同时保留可见性 | ![自定义 Wazuh 规则](https://raw.githubusercontent.com/SinishtajM/wazuh-soc-lab/main/screenshots/custom-wazuh-rules.png) 自定义规则包含在 [`rules/local_rules.xml`](rules/local_rules.xml) 中。 ## 展示的技能 - Wazuh 部署与管理 - Windows 端点监控 - Linux 端点监控 - Sysmon 部署与验证 - PowerShell 脚本块日志记录 - Windows 安全审计策略验证 - Linux SSH/sudo/PAM 日志分析 - 文件完整性监控 - 警报分类与调查时间线 - 使用自定义 Wazuh 规则进行检测工程 - 误报调优与严重性调整 - 仪表盘保存的搜索与证据收集 - 用于作品集展示的技术文档 ## 经验教训 - 高危警报需要上下文支持。在审查了目标文件名模式和进程上下文后,确定了一个高危的 PowerShell 文件创建警报是良性的。 - 构建时间线是关键。将失败的登录、成功的登录、特权登录和发现命令放在一起审查时会变得更有意义。 - 良好的仪表盘和保存的搜索使调查更容易重复和解释。 - 检测工程包括升级和调优:提高重复 SSH 失败的信号强度,并减少已知良性 PowerShell 行为的噪音。 ## 仓库布局 ``` wazuh-soc-lab ├── README.md ├── screenshots │ ├── wazuh-agents-overview.png │ ├── windows-authentication-chain.png │ ├── windows-powershell-4104.png │ ├── windows-sysmon-activity.png │ ├── linux-ssh-sudo-activity.png │ ├── linux-fim-file-deleted.png │ └── custom-wazuh-rules.png └── rules └── local_rules.xml ``` ## 备注 本项目是在受控的实验室环境中完成的。所有警报和场景均是为了学习、验证和作品集文档记录而有意生成的。
标签:AI合规, AMSI绕过, Wazuh, x64dbg, 威胁检测, 安全运营中心, 实验室环境, 终端检测与响应, 网络映射