n2h-git/arkcybr-soc-workflows
GitHub: n2h-git/arkcybr-soc-workflows
一套面向安全运营中心的 n8n 威胁情报查询工作流,自动聚合多个情报源数据并生成格式化报告。
Stars: 0 | Forks: 0
# ArkCybr SOC — n8n 威胁情报工作流
这是一套强化的 n8n 工作流集合,专为安全运营中心 (SOC) 的威胁情报查询设计。这些工作流通过中央调度器接收入侵指标 (IOC),并返回汇总了来自多个威胁情报源数据的格式化 HTML 报告。
## 架构
```
┌──────────────┐ ┌──────────────────┐
│ Security │────▶│ Dispatcher │
│ Onion Chat │ │ (Basic Auth + │
│ or Webhook │ │ input validation)│
└──────────────┘ └───────┬──────────┘
│ regex routing
┌──────────────┼──────────────┐──────────────┐
▼ ▼ ▼ ▼
┌────────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐
│ IP │ │ Domain │ │ Hash │ │ CVE │
│ Reputation │ │ Reputation│ │ Reputation│ │ Info │
└────────────┘ └───────────┘ └───────────┘ └───────────┘
```
## 工作流
| 工作流 | 文件 | 节点 | 来源 |
|----------|------|-------|---------|
| **调度器** | `dispatcher.json` | 12 | 通过正则匹配将 IOC 路由到子工作流 |
| **IP 信誉** | `ip-reputation.json` | 18 | VirusTotal, Shodan, AbuseIPDB, MISP |
| **域名信誉** | `domain-reputation.json` | 21 | VirusTotal, Shodan, urlscan.io, MISP |
| **哈希信誉** | `hash-reputation.json` | 19 | VirusTotal, HybridAnalysis, MalwareBazaar, MISP |
| **CVE 信息** | `cve-info.json` | 7 | CIRCL 漏洞 API (CVE 5.0) |
## 安全强化
所有工作流均已采取以下强化措施:
- **零硬编码 API 密钥** — 所有凭证均使用 n8n 的凭证管理器 (Header Auth, Query Auth 或原生集成)
- **防范 XSS** — 所有用户提供的值在插入模板前,均通过统一的 `esc()` 函数进行了 HTML 转义
- **输入验证** — 调度器在进行路由之前,会使用严格的正则表达式验证 IOC 格式
- **身份验证** — 调度器 webhook 通过 Header Auth 凭证使用 Basic Auth 进行保护
- **响应优化** — 通过仅提取所需字段,将 HybridAnalysis 的响应体积从 6.6MB 精简至约 200 字节
- **无敏感固定数据** — 所有测试/固定数据均已清理;无泄露的 cookie、IP 或会话 token
## 前置条件
### n8n 实例
- 自托管的 n8n (已在 v1.x Docker 部署中测试)
- 在 n8n 凭证管理器中配置凭证 (见下文)
### 所需凭证
| 凭证名称 | 类型 | 使用者 |
|----------------|------|---------|
| `VirusTotal API` | 原生 VirusTotal | IP, 域名, 哈希 |
| `Shodan Query Auth` | Query Auth (`key` 参数) | IP, 域名 |
| `AbuseIPDB API` | Header Auth (`Key` 标头) | IP |
| `Hybrid Analysis API` | Header Auth (`api-key` 标头) | 哈希 |
| `Malware Bazaar API` | Header Auth (`Auth-Key` 标头) | 哈希 |
| `MISP API` | 原生 MISP | IP, 域名, 哈希 |
| `Dispatcher Basic Auth` | Header Auth (`Authorization` 标头) | 调度器 |
### 外部服务
您将需要以下服务的 API 密钥:
- [VirusTotal](https://www.virustotal.com/) (免费版即可)
- [Shodan](https://www.shodan.io/) (免费版即可)
- [AbuseIPDB](https://www.abuseipdb.com/) (免费版即可)
- [Hybrid Analysis](https://www.hybrid-analysis.com/) (需要免费账户)
- [MalwareBazaar](https://bazaar.abuse.ch/) (免费)
- [MISP](https://www.misp-project.org/) (自托管实例)
- [CIRCL CVE API](https://vulnerability.circl.lu/) (无需身份验证)
## 安装说明
### 1. 导入工作流
通过 n8n UI 导入每个 JSON 文件:
1. 打开 n8n → **Workflows** → **Import from File**
2. 首先导入 `dispatcher.json`
3. 导入四个子工作流
或者通过 CLI:
```
# 复制 workflows 到 n8n container
docker cp workflows/ n8n-n8n-1:/tmp/
# 逐一导入
docker exec n8n-n8n-1 n8n import:workflow --input=/tmp/workflows/dispatcher.json
docker exec n8n-n8n-1 n8n import:workflow --input=/tmp/workflows/ip-reputation.json
docker exec n8n-n8n-1 n8n import:workflow --input=/tmp/workflows/domain-reputation.json
docker exec n8n-n8n-1 n8n import:workflow --input=/tmp/workflows/hash-reputation.json
docker exec n8n-n8n-1 n8n import:workflow --input=/tmp/workflows/cve-info.json
```
### 2. 配置凭证
导入后,打开每个工作流并将凭证分配给相应的节点:
- 点击任何带有 ⚠️ 警告的节点 → 从您的凭证管理器中选择匹配的凭证
- 调度器的 Execute Workflow 节点需要更新子工作流 ID,以匹配您的实例
### 3. 更新 MISP URL
这些工作流指向一个自托管的 MISP 实例。在工作流 JSON 文件中搜索 `misp.ardyzone` 并将其替换为您自己的 MISP 实例 URL。
### 4. 更新调度器子工作流 ID
在 `dispatcher.json` 中,Execute Workflow 节点通过 ID 引用子工作流。导入后,请更新每个 Execute Workflow 节点,使其指向您实例中正确的工作流。
### 5. 激活
1. 首先激活子工作流 (IP、域名、哈希、CVE)
2. 最后激活调度器
3. 在激活之前清除任何固定的测试数据
## 运行 Naabu
### 通过 Security Onion
调度器旨在接收来自 Security Onion 的 SOC 控制台或任何 HTTP 客户端的查询:
```
# IP lookup
curl -X POST https://your-n8n.example.com/webhook/dispatcher \
-H "Authorization: Basic " \
-H "Content-Type: application/json" \
-d '{"query": "8.8.8.8"}'
# Domain lookup
curl -X POST https://your-n8n.example.com/webhook/dispatcher \
-H "Authorization: Basic " \
-d '{"query": "example.com"}'
# Hash lookup (SHA-256)
curl -X POST https://your-n8n.example.com/webhook/dispatcher \
-H "Authorization: Basic " \
-d '{"query": "44d88612fea8a8f36de82e1278abb02f"}'
# CVE lookup
curl -X POST https://your-n8n.example.com/webhook/dispatcher \
-H "Authorization: Basic " \
-d '{"query": "CVE-2024-3400"}'
```
### 响应格式
所有子工作流均使用支持深色模式的 [Bulma CSS 框架](https://bulma.io/) 返回带有样式的 HTML 报告。
## 测试
每个子工作流都包含可供您使用的测试数据:
- **IP**: `1.1.1.1` (良性), `185.220.101.1` (Tor 出口节点)
- **域名**: `google.com` (良性), `malware.testcategory.com`
- **哈希**: `24d004a104d4d54034dbcffc2a4b19a11f39008a575aa614ea04703480b1022c` (WannaCry SHA-256)
- **CVE**: `CVE-2024-3400` (Palo Alto PAN-OS), `CVE-2017-0147` (EternalBlue)
## 项目结构
```
.
├── README.md
├── CHANGELOG.md
├── LICENSE
└── workflows/
├── dispatcher.json
├── ip-reputation.json
├── domain-reputation.json
├── hash-reputation.json
└── cve-info.json
```
## 致谢
最初基于 [InTheCyber SOC 工作流模板](https://github.com/InTheCyber)。经过强化并重新品牌化,用于 [ArkCybr](https://arkcybr.net) SOC 运营。
## 许可证
MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。
标签:Homebrew安装, IOC查询, n8n工作流, SOC运营, 威胁情报, 开发者工具, 请求拦截