MysticXTharun/wazuh-siem-detection-lab

GitHub: MysticXTharun/wazuh-siem-detection-lab

基于 Wazuh 的防御性安全实验室项目,提供自定义检测规则、Auditd 遥测、MITRE ATT&CK 映射和安全模拟脚本,帮助用户在容器化环境中练习 SIEM 检测工程与事件调查。

Stars: 0 | Forks: 0

# Wazuh SIEM 检测工程实验室 一个防御性的家庭实验室项目,演示了 Wazuh SIEM 部署、Linux 遥测数据收集、自定义检测工程、MITRE ATT&CK 映射、告警验证以及事件调查。 ## 项目亮点 - 容器化的 Wazuh 4.14.6 单节点部署 - 使用 Wazuh agent 监控 Ubuntu 终端节点 - SSH 身份验证与暴力破解检测 - 实时文件完整性监控 - Linux 账户生命周期监控 - Cron 作业持久化检测 - Auditd 命令执行监控 - SSH `authorized_keys` 持久化检测 - 七条自定义 Wazuh 关联与检测规则 - 安全、可重复的模拟脚本 ## 架构 ``` flowchart LR A["Ubuntu Endpoint"] -->|1514/TCP| B["Wazuh Manager"] B --> C["Wazuh Indexer"] C --> D["Wazuh Dashboard"] E["Auditd"] --> A F["Linux Logs"] --> A G["FIM"] --> A ``` ## 实验室环境 | 组件 | 配置 | |---|---| | Hypervisor | VMware Workstation Pro | | SIEM | Wazuh 4.14.6 | | 部署方式 | Docker Compose 单节点 | | 终端节点 | Ubuntu Linux | | Agent | Wazuh Agent 4.14.6 | | 遥测数据 | Auth 日志、Auditd 和 FIM | | ATT&CK | MITRE ATT&CK 映射 | ## 自定义检测 | 规则 ID | 级别 | 检测内容 | MITRE ATT&CK | |---|---:|---|---| | 100100 | 10 | 针对不存在用户的重复 SSH 失败 | T1110.001 | | 100110 | 12 | 受保护目录中的关键活动 | T1565.001 | | 100120 | 11 | 创建了新的本地 Linux 账户 | T1136.001 | | 100121 | 7 | 删除了本地用户或组 | 账户生命周期 | | 100130 | 12 | Cron 持久化活动 | T1053.003 | | 100140 | 10 | 执行了受监控的文件传输工具 | T1105 | | 100150 | 12 | SSH `authorized_keys` 持久化 | T1098.004 | ## 已验证的内置规则 | 规则 ID | 级别 | 描述 | |---|---:|---| | 2502 | 10 | 用户多次输入密码错误 | | 5710 | 5 | 尝试使用不存在的用户登录 | | 550 | 7 | 完整性校验和已更改 | | 553 | 7 | 文件已删除 | | 554 | 5 | 文件已添加 | | 5901 | 8 | 添加了新组 | | 5902 | 8 | 添加了新用户 | | 5903 | 3 | 用户或组已删除 | | 5402 | 3 | 成功通过 sudo 提权至 root | | 80705 | 3 | Auditd 配置已更改 | ## 仓库结构 ``` wazuh-siem-detection-lab/ ├── auditd/ │ └── wazuh-soclab.rules ├── configs/ │ └── agent-monitoring.xml ├── detections/ │ └── local_rules.xml ├── simulations/ │ ├── account-lifecycle-test.sh │ ├── auditd-command-test.sh │ ├── cron-persistence-test.sh │ └── fim-test.sh └── docs/ ├── incidents/ └── screenshots/ ``` ## 检测场景 ### SSH 身份验证攻击 通过源 IP 关联重复失败尝试,并将其映射到密码猜测行为。 ``` rule.id:"100100" ``` ### 受保护目录监控 实时检测文件的创建、修改、权限更改和删除。 ``` rule.id:"100110" ``` ### 账户生命周期 将本地账户的创建和删除提升为需分析师审查的告警。 ``` rule.id:"100120" OR rule.id:"100121" ``` ### Cron 持久化 将 `/etc/cron.d` 下的更改作为计划任务持久化进行监控。 ``` rule.id:"100130" ``` ### 文件传输工具执行 Auditd 监控 `curl` 和 `wget` 的执行情况。 ``` rule.id:"100140" ``` ### SSH 密钥持久化 对 `authorized_keys` 的更改会生成高严重性的持久化告警,且不会收集密钥内容。 ``` rule.id:"100150" ``` ## 安全模拟 这些脚本仅适用于您拥有或明确授权测试的系统。 ``` ./simulations/fim-test.sh sudo ./simulations/account-lifecycle-test.sh sudo ./simulations/cron-persistence-test.sh ./simulations/auditd-command-test.sh ``` 脚本使用临时文件和账户,并包含清理保护机制。 ## 分析师工作流 1. 验证受影响的 agent 和源 IP。 2. 审查触发事件及相关联的活动。 3. 建立时间线。 4. 将观察到的行为映射到 MITRE ATT&CK。 5. 确定活动是否已获授权。 6. 携带支持性证据上报已确认的事件。 7. 调整合法的行政管理活动以减少误报。 ## 安全说明 - 不存储任何凭据、私钥或真实的恶意负载。 - SSH 密钥内容报告已禁用。 - 模拟是受限且非破坏性的。 - 在公开仪表盘之前,应更改默认的 Wazuh 凭据。 - 生产环境的阈值需要根据具体环境进行调整。 ## 截图 ### 活跃的 Wazuh Agent ![活跃的 Wazuh agent](https://static.pigsec.cn/wp-content/uploads/repos/cas/53/5346db981024e9d00b37f9893b970eb1acd09aa456912d41d0eb1fafc8c35332.png) ### SSH 暴力破解检测 ![SSH 暴力破解告警](https://static.pigsec.cn/wp-content/uploads/repos/cas/11/11729fb4b9f870e8d71fa2456acbb37395c7339bd21315e41bed2f875acc8bfa.png) ### 文件完整性监控 ![文件完整性告警](https://static.pigsec.cn/wp-content/uploads/repos/cas/25/2589206d69eee0a739c083e363b4c1603b97fd1fd3b4db6c24b79cda55d18ace.png) ### 账户生命周期监控 ![账户生命周期告警](https://static.pigsec.cn/wp-content/uploads/repos/cas/71/71b85234d97d1197b962d28d85ee32da0c4bf949b756e497541a24af92461bbb.png) ### Cron 持久化检测 ![Cron 持久化告警](https://static.pigsec.cn/wp-content/uploads/repos/cas/2c/2c05b762d352dfdf9271f1b8d2a8888e5aa4ca75640d8d258690d019382e1d6a.png) ### Auditd 命令执行 ![Auditd 命令执行告警](https://static.pigsec.cn/wp-content/uploads/repos/cas/cf/cfb3a5b4f826c8e0f4df89a00e53a69cc46ba294934207781658b2d5bea9ce28.png) ### SSH 密钥持久化检测 ![SSH authorized keys 持久化告警](https://static.pigsec.cn/wp-content/uploads/repos/cas/d5/d543e746215b10db130cbf9470a45166d0c42e1df627523d79eac8c112ab7855.png) ## 免责声明 本仓库仅用于防御性安全教育和授权的家庭实验室测试。
标签:Wazuh, x64dbg, 安全运营, 扫描框架, 版权保护, 网络信息收集