MajesticTrickster/SOC_Automation-Public
GitHub: MajesticTrickster/SOC_Automation-Public
一个集成了 Wazuh、TheHive 与 Shuffle 的 SOC 自动化框架,用于实现威胁检测、案例管理和编排响应的端到端自动化。
Stars: 1 | Forks: 0
# 🛡️ SOC 自动化
## 📋 目录
- [第 6 章 — Wazuh 安装(第 1 阶段)](#chapter-6--screenshot-of-development-phase-1)
- [第 7 章 — TheHive 安装(第 2 阶段)](#chapter-7--screenshot-of-development-phase-2)
- [第 8 章 — 配置(第 3 阶段)](#chapter-8--screenshot-of-development-phase-3)
- [第 9 章 — Shuffle + TheHive(第 4 阶段)](#chapter-9--screenshot-of-development-phase-4)
## 6 使用 Vultr Ubuntu 服务器安装 Wazuh
我们使用 **Vultr** 作为云平台来配置 Wazuh 服务器,而不使用本地虚拟机。

**通过 SSH 连接到服务器:**
```
ssh root@65.20.92.112
# 从 Vultr 控制台复制密码以供后续使用
```
**安装 Wazuh(一体化安装):**
```
curl -sO https://packages.wazuh.com/4.7/wazuh-install.sh && sudo bash ./wazuh-install.sh -a
# 如果依赖项检查失败,请使用:
curl -sO https://packages.wazuh.com/4.7/wazuh-install.sh && sudo bash ./wazuh-install.sh -a --ignore-check
```

**安装完成后,访问仪表板:**
```
URL: https://65.20.92.112:443
Username: admin
Password:
```


# 7 使用 Vultr Ubuntu 服务器安装 TheHive
使用一个带有公网 IP **65.20.68.44** 的独立 Vultr 实例来部署 TheHive。

**连接到 TheHive 服务器:**
```
ssh root@65.20.68.44
```
**安装 Docker 和 Docker Compose:**
```
sudo apt update
sudo apt install docker.io -y
sudo systemctl enable docker
sudo systemctl start docker
sudo apt install docker-compose -y
```
**创建 TheHive 安装目录:**
```
mkdir thehive-docker
cd thehive-docker
nano docker-compose.yml # Paste your docker-compose config here
```
**启动所有容器:**
```
sudo docker-compose up -d
# 验证正在运行的容器(应看到 cassandra、elasticsearch、thehive)
sudo docker ps
```
**在浏览器中访问 TheHive:**
```
URL: http://65.20.68.44:9000
Username: admin@thehive.local
Password: secret
```

## 8 Wazuh 配置
部署一个新代理以收集并集中来自 Windows 10 终端的日志。

**步骤:**
1. 进入 Wazuh 仪表板 → **端点摘要** → **部署新代理**
2. 添加你的 Wazuh 公网 IP:`65.20.92.112`
3. 分配代理名称
4. 复制生成的命令并在 Windows 10 的 PowerShell 中运行
```
# 在 Windows 10 VM 上运行 — PowerShell(以管理员身份)
net start wazuhsvc
```
```
# 在 Wazuh 服务器上 — 打开所需端口
ufw allow 1515
ufw allow 1514
```
## 8 Windows 10 配置
编辑位于以下路径的 `ossec.conf` 文件:
```
C:\Program Files (x86)\ossec-agent\ossec.conf
```
以 **管理员** 身份打开记事本并编辑该文件:
```
Application
eventchannel
Microsoft-Windows-Sysmon/Operational
eventchannel
```

保存后,进入 **服务** → 找到 **Wazuh** → **重新启动**。

### 8.3 生成 Mimikatz 遥测
**Mimikatz** 是一个用于提取 Windows 凭据的后渗透工具。我们运行它来生成真实的遥测数据,以便 Wazuh 可以进行检测。

**下载并运行 Mimikatz:**
```
https://github.com/gentilkiwi/mimikatz/releases
```
1. 下载 `mimikatz_trunk.zip`
2. 解压并进入 `x64` 文件夹
3. 打开 PowerShell(Shift + 右键 → 在此处打开 PowerShell)
```
.\mimikatz.exe
```

**在 Wazuh 服务器上启用日志归档:**
```
# 首先备份
cp /var/ossec/etc/ossec.conf ~/ossec_backup.conf
# 编辑配置
nano /var/ossec/etc/ossec.conf
# 更改:no → yes
# 更改:no → yes
# 重启服务
systemctl restart wazuh-manager.service
# 在 Filebeat 中启用归档
nano /etc/filebeat/filebeat.yml
# 设置 archives.enabled: true
systemctl restart filebeat.service
```

### 8.4 在 Wazuh 中创建索引
```
Wazuh Dashboard → Management → Index Patterns → Create index pattern
→ Type: wazuh-archives-*
→ Next Step → Select: @timestamp
→ Create Index Pattern
→ Go to Discover → Select wazuh-archives-*
→ Search: mimikatz
```


### 8.5 在 Wazuh 中创建自定义规则
```
Wazuh Dashboard → Server Management → Rules → Custom rules → Edit
```
添加以下规则:
```
sysmon_event1
(?i)mimikatz\.exe
mimikatz usage detected
T1003
```

保存后点击 **重新启动** 以应用规则。
在 Windows 10 上重新运行 `.\mimikatz.exe` — 警报现在应出现在 **wazuh-alerts** 中:

## 9 设置 Shuffler.io
**Shuffle**(shuffler.io)是一个开源的 SOAR 平台,允许安全团队通过最少的编码构建可视化自动化工作流。

**步骤:**
1. 在 [shuffler.io](https://shuffler.io) 创建账户
2. 创建一个 **新工作流** → 拖放 **Webhook** 触发器
3. 复制 Webhook URL 并将其粘贴到 Wazuh 服务器上的 `ossec.conf` 中:
```
nano /var/ossec/etc/ossec.conf
```
```
shuffle
https://shuffler.io/api/v1/hooks/
100002
json
```
```
systemctl restart wazuh-manager.service
```
4. 在 Shuffle 中点击 **启动** 以激活 Webhook。

**添加 SHA256 哈希捕获:**
- 添加 **Shuffle Tools → Regex Capture Group**
- 输入数据:`$exec`
- 正则表达式:`SHA256=([0-9A-Fa-f]{64})`
**连接 VirusTotal:**
- 添加 **Virustotal v3** 应用 → 使用你的 API 密钥进行认证
- 操作:**获取哈希报告**
- 哈希值:来自 SHA256 正则步骤的输出
- 设置头部为 `application/json`

重新运行 `.\mimikatz.exe` → Shuffle 将接收 Wazuh 警报并通过 VirusTotal 进行增强。
### 9.2 在 TheHive 中创建用户

**步骤:**
1. 登录 TheHive:`admin@thehive.local` / `secret`
2. 进入 **管理 → 组织** → 创建新组织:`SOC-TheHive`
3. 在 SOC-TheHive 内部创建两个用户:
| 类型 | 名称 | 登录邮箱 |
|---------|--------------------|--------------------------------------|
| 普通 | NSinha | sinhasudarshan17@gmail.com |
| 服务 | Service_sudarshan | sudarshan2004sinha@gmail.com |
4. 为 `Service_sudarshan` 生成 **API 密钥**并复制
5. 为两个用户设置密码

**将 TheHive 连接到 Shuffle:**
- 在 Shuffle 中添加 **TheHive** 应用
- 粘贴 API 密钥
- URL:`http://65.20.68.44:9000`
- 操作:**创建警报**
- 在 **高级** 选项卡中编辑请求体:
```
{
"description": "$exec.title",
"externallink": "${externallink}",
"flag": false,
"pap": 2,
"severity": "3",
"source": "$exec.pretext",
"sourceRef": "$exec.rule_id",
"status": "New",
"summary": "mimikatz activity detected on host: $exec.all_fields.full_log.win.system.computer",
"tags": ["T1003"],
"title": "$exec.title",
"tlp": 2,
"type": "internal"
}
```

保存工作流并重新运行 Mimikatz。你应该在 Shuffle 中看到 **status: 201**,表示警报已成功创建。


## ✅ 总结
| 阶段 | | 状态 |
|------|------|------|
| 第 1 阶段 | 在 Vultr(65.20.92.112)上安装 Wazuh | ✅ 已完成 |
| 第 2 阶段 | 在 Vultr(65.20.68.44)上安装 TheHive | ✅ 已完成 |
| 第 3 阶段 | 配置 Windows 代理,检测到 Mimikatz,创建自定义规则 | ✅ 已完成 |
| 第 4 阶段 | Shuffle 工作流 → VirusTotal 增强 → TheHive 警报创建 | ✅ 已完成 |
## 📚 参考资料
- https://documentation.wazuh.com/current/index.html
- https://docs.strangebee.com/resources/thehive4py/
- https://shuffler.io/
- https://github.com/gentilkiwi/mimikatz/releases
标签:AMSI绕过, CIDR查询, Docker, Docker Compose, FTP漏洞扫描, Shuffle, SOAR, SOC自动化, TheHive, Vultr, Wazuh, WSL, 云服务器, 威胁检测, 安全编排, 安全运营中心, 安全防御评估, 工作流自动化, 网络映射, 自动化响应, 自动工单, 集成平台