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运营, 威胁情报, 开发者工具, 请求拦截