BESamples/Wazuh-SOAR-Lite-PowerShell
GitHub: BESamples/Wazuh-SOAR-Lite-PowerShell
基于 PowerShell 的轻量级 SOAR 实验项目,将 Wazuh 告警与可重复的事件响应 playbook 连接,覆盖检测、分流、遏制、证据收集和报告生成全流程。
Stars: 0 | Forks: 0
# Wazuh SOAR-Lite PowerShell Playbook 实验项目
这是一个安全的实验性 PowerShell SOAR-lite 项目,旨在将 Wazuh 告警与可重复的事件响应 playbook 连接起来。
其目标不是取代企业级的 SOAR 平台,而是为了演示一个实用的工作流程:
**检测 → 分流 → 遏制 → 证据收集 → 案例报告**
## 项目概述
本实验使用 PowerShell 脚本来模拟针对常见 Wazuh 实验告警的 SOAR playbook:
- 敏感文件 / DLP 风格的发现
- YARA 恶意软件风格的发现
- 可疑的 PowerShell 活动
- 侦察 / Nmap 风格的扫描活动
每个 playbook 都会创建一个案例文件夹,收集证据,编写笔记,并生成 Markdown 格式的事件报告。
## 项目存在的原因
仅凭 SIEM 告警无法了解全貌。一名 SOC 分析师还需要知道:
- 是什么触发了告警?
- 应该收集哪些证据?
- 采取哪种遏制操作是安全的?
- 应该记录哪些内容?
- 应该如何关闭该事件?
本项目展示了使用 Wazuh 和 PowerShell 完成该过程的操作。
## 仓库结构
```
Wazuh-SOAR-Lite-PowerShell/
├── src/
│ └── Wazuh-SOAR-Lite.ps1
├── playbooks/
│ ├── Invoke-DLPPlaybook.ps1
│ ├── Invoke-YARAPlaybook.ps1
│ ├── Invoke-PowerShellTriagePlaybook.ps1
│ └── Invoke-ReconPlaybook.ps1
├── tools/
│ └── New-LabTestFiles.ps1
├── docs/
│ ├── Playbook-Templates.md
│ └── Lab-Report-Template.md
├── samples/
│ └── sample-wazuh-alerts.json
├── .gitignore
├── LICENSE
└── README.md
```
## 环境要求
- Windows 10、Windows 11 或 Windows Server 2019/2022 实验机
- PowerShell 5.1 或更高版本
- 建议使用管理员权限的 PowerShell 进行防火墙拦截测试
- 对于阶段 1 的手动测试,Wazuh agent 是可选的
## 快速开始
以管理员身份打开 PowerShell 并运行:
```
Set-ExecutionPolicy Bypass -Scope Process -Force
cd .\Wazuh-SOAR-Lite-PowerShell\src
.\Wazuh-SOAR-Lite.ps1
```
主菜单允许你运行以下 playbook:
1. DLP / 敏感文件 Playbook
2. YARA 恶意软件分流 Playbook
3. 可疑 PowerShell 分流 Playbook
4. 侦察 / Nmap Playbook
5. 打开案例文件夹
6. 创建实验测试文件
## 默认运行时文件夹
默认情况下,脚本会使用以下实验文件夹:
```
C:\Wazuh-SOAR\Cases
C:\Wazuh-SOAR\Quarantine
C:\SensitiveData\Scan
C:\Wazuh-Test
```
这些文件夹被 Git 有意忽略,以防止真实的案例文件被意外上传。
## 安全的默认设置
本项目在编写时采用了安全的实验默认设置:
- 默认将文件复制到隔离区,而不是直接删除。
- 防火墙拦截是可选的,必须使用 `-BlockIp` 请求。
- 不包含任何 API key、公司数据、用户数据或真实的客户数据。
- 示例告警均为虚构的实验案例。
## 示例命令
针对测试文件运行 DLP playbook:
```
.\playbooks\Invoke-DLPPlaybook.ps1 -FilePath "C:\SensitiveData\Scan\sample_pii.txt" -RuleId "100103"
```
运行 YARA 风格的 playbook:
```
.\playbooks\Invoke-YARAPlaybook.ps1 -FilePath "C:\Wazuh-Test\evil.txt" -RuleId "100302"
```
运行 PowerShell 分流:
```
.\playbooks\Invoke-PowerShellTriagePlaybook.ps1 -RuleId "100102"
```
运行侦察 playbook 且不进行拦截:
```
.\playbooks\Invoke-ReconPlaybook.ps1 -SourceIp "192.168.56.50" -RuleId "100200"
```
运行侦察 playbook 并设置实验性防火墙拦截:
```
.\playbooks\Invoke-ReconPlaybook.ps1 -SourceIp "192.168.56.50" -RuleId "100200" -BlockIp
```
## 建议的 Wazuh 告警映射
| Wazuh 告警类型 | 示例规则 ID | Playbook |
|---|---:|---|
| 敏感文件创建 | 100103 | DLP / 敏感文件 Playbook |
| PowerShell 执行 | 100102 | 可疑 PowerShell 分流 |
| YARA 匹配 | 100302 | YARA 恶意软件分流 |
| Nmap / Kali 扫描 | custom | 侦察 / Nmap Playbook |
## 待添加的截图
将截图添加到未来的 `screenshots/` 文件夹中:
- Wazuh 告警视图
- 触发的规则 ID
- PowerShell playbook 输出
- 创建的案例文件夹
- 生成的事件报告
- 隔离区文件夹证明
## 简历要点示例
构建了一个基于 PowerShell 的 SOAR-lite 事件响应实验环境,并与 Wazuh 告警集成,包含了针对 DLP 发现、YARA 检测、可疑 PowerShell 活动和网络侦察的 playbook。实现了案例文件夹创建、证据收集、隔离操作和事件报告生成的自动化。
## 免责声明
本项目仅供实验和教育使用。未经批准,请勿在生产系统上执行防火墙拦截或文件隔离等遏制操作。
标签:AI合规, IPv6, Libemu, PowerShell, SOAR, Wazuh, 安全运营, 扫描框架, 自动化响应, 防御加固