documentationprincess/wazuh-incident-investigation-lab

GitHub: documentationprincess/wazuh-incident-investigation-lab

一个完整的 Wazuh + Sysmon Windows 端点事件调查实验,演示多阶段调查流程并揭示检测覆盖范围的规则配置盲区。

Stars: 0 | Forks: 0

# Wazuh 事件调查实验室 ## 多阶段 Windows 端点分析 一次受控的 PowerShell 执行告警被用作 Windows 端点调查的起点。我关联了 Wazuh 和 Sysmon 遥测数据,重建了活动时间线,将工件与已确认的指示器区分开来,将观察到的行为映射到 MITRE ATT&CK,并调查了为什么几个在本地记录的事件没有作为分析师可见的 Wazuh 告警出现。 关键发现并非遥测失败。Sysmon Event ID 3、13 和 22 被生成并解码,但它们的 Wazuh 基础规则被配置为 level 0。如果没有更高级别的匹配逻辑,这些通用事件就不会作为标准告警出现。这暴露了**检测覆盖范围的局限性**,而不是收集失败。 ## 本项目展示了什么 - 告警分类和证据驱动的调查 - 父子进程分析 - 跨 Wazuh 和本地 Sysmon 日志的时间线重建 - DNS、网络、文件和注册表遥测审查 - 海量事件过滤 - 检测覆盖范围分析 - MITRE ATT&CK 映射 - 范围、严重性、置信度和响应建议 - 工件与入侵指示器之间的明确区分 ## 调查摘要 Wazuh 规则 **92027** 检测到 `powershell.exe` 在端点 `DESKTOP-HG3TI6H` 上生成另一个 PowerShell 进程。子进程以高完整性级别运行并执行了: ``` Write-Output 'PROJECT2-INITIAL-EXECUTION'; whoami; hostname ``` 周围的调查发现了: - PowerShell 子进程执行和主机/用户发现 - 在用户的 Temp 目录中创建 `project2-stage.ps1` - 针对 `example.com` 的 DNS 查询 - 与 PowerShell 关联的网络连接 - 在当前用户的 Run key 下创建 `Project2LabTest` 值 初始进程事件和文件创建在 Wazuh 中可见。DNS、网络和注册表事件在本地 Sysmon 中得到确认,但未在 Wazuh 威胁狩猎中作为匹配的告警出现。 ![Wazuh PowerShell 威胁狩猎视图](https://static.pigsec.cn/wp-content/uploads/repos/cas/08/08420a99695709637b161631f7fe00a3a3721b39ef489b60b7d68e254c83f215.png) ## 时间线 | 时间 | 活动 | 证据来源 | Wazuh 可见性 | |---|---|---|---| | 20:39:49 | PowerShell 子进程和发现 | Wazuh + Sysmon | 是 | | 20:43:05 | 针对 `example.com` 的 DNS 查询 | 本地 Sysmon | 无匹配告警 | | 20:44:25 | 针对 `example.com` 的 DNS 查询 | 本地 Sysmon | 无匹配告警 | | 20:57:59 | 创建 `project2-stage.ps1` | Wazuh + Sysmon | 是 — level 15 | | 20:59:27 | 针对 `example.com` 的 DNS 查询 | 本地 Sysmon | 无匹配告警 | | 20:59:28 | PowerShell 网络连接 | 本地 Sysmon | 无匹配告警 | | 21:00:46 | 设置 Run-key 值 | 本地 Sysmon | 无匹配告警 | ## 进程关系 ``` powershell.exe — PID 29068 │ └── powershell.exe — PID 33496 Integrity: High Command: -NoProfile -Command "Write-Output 'PROJECT2-INITIAL-EXECUTION'; whoami; hostname" ``` ## 检测覆盖范围发现 Wazuh Sysmon 规则集包含以下基础规则: | Sysmon 事件 | 活动 | Wazuh 基础规则 | Level | |---|---|---:|---:| | Event ID 3 | 网络连接 | 61605 | 0 | | Event ID 13 | 设置注册表值 | 61615 | 0 | | Event ID 22 | DNS 查询 | 61650 | 0 | 这解释了为什么端点生成了遥测数据,而 Wazuh 没有为这些事件显示通用的分析师可见告警。需要更高级别的规则来匹配感兴趣的行为,并将选定的事件提升为告警。 ## 最终评估 **评估:** 可疑的多阶段端点活动,需要进一步调查 **严重性:** 在受控场景中为高 **置信度:** 高置信度认为记录的端点活动已发生;中等置信度认为仅使用可用的遥测数据即可将每个事件进行因果关联 **范围:** 一个受监控的 Windows 端点 在生产环境中,命令执行、发现、脚本创建、网络活动和与持久化相关的注册表修改的组合将证明升级是合理的。但是,`powershell.exe`、`example.com` 和 `notepad.exe` 是合法的工件,其本身并不具有独立的恶意性。 ## MITRE ATT&CK 映射 | 观察到的行为 | 技术 | ID | |---|---|---| | PowerShell 执行 | Command and Scripting Interpreter: PowerShell | T1059.001 | | 用户发现 | System Owner/User Discovery | T1033 | | 主机名发现 | System Information Discovery | T1082 | | Run-key 修改 | Boot or Logon Autostart Execution: Registry Run Keys / Startup Folder | T1547.001 | ## 仓库结构 ``` . ├── README.md ├── docs/ │ ├── 01-case-summary.md │ ├── 02-investigation.md │ ├── 03-detection-coverage.md │ ├── 04-mitre-and-response.md │ └── 05-lessons-learned.md └── screenshots/ ``` ## 文档 - [案例摘要](docs/01-case-summary.md) - [调查与时间线](docs/02-investigation.md) - [检测覆盖范围分析](docs/03-detection-coverage.md) - [MITRE 映射与响应建议](docs/04-mitre-and-response.md) - [经验教训](docs/05-lessons-learned.md) ## 环境 - Windows 10 端点 - Sysmon 15.21 - Wazuh 4.14.6 - Ubuntu 24.04.4 ARM64 Wazuh 管理器 VM - Apple Silicon 上的 UTM
标签:Sysmon, Wazuh, 安全运营, 库, 应急响应, 扫描框架