工作流介绍
工作流分析:使用 Icypeas 执行(单个)域搜索
此 N8n 工作流模板旨在自动化使用 Icypeas 执行单个域或公司侦察扫描的过程。Icypeas 是一个强大的开源情报 (OSINT) 工具,可帮助揭示与目标域或组织相关的数字足迹、子域、关联电子邮件地址和其他公开暴露的信息。该工作流通过处理身份验证、生成安全签名以及触发域扫描,与 Icypeas API 无缝集成,所有这些都在 n8n 自动化平台内完成。
工作流功能
此工作流的主要功能是通过 Icypeas API 启动域或公司扫描。它从手动触发开始,使用用户的 API 凭据(密钥、密钥和用户 ID)对用户进行身份验证,生成用于安全的加密签名请求头,并向 Icypeas API 端点发送 POST 请求以开始扫描指定的域或公司名称。执行后,扫描将在 Icypeas 平台上运行,并且结果可以直接在您的 Icypeas 仪表板中查看。
此自动化消除了手动 API 调用的需求,并确保了域调查的安全、可重复执行——非常适合进行表面暴露评估的网络安全专业人员、渗透测试人员、威胁搜寻者或 IT 管理员。
主要特性和功能
- 安全身份验证:使用
crypto模块实现 HMAC-SHA1 签名生成,以安全地签署 API 请求。 - 动态凭据处理:使用基于时间戳签名的运行时生成标头来满足 Icypeas 的安全要求。
- 手动执行控制:手动触发,允许用户按需运行扫描。
- 可自定义的目标输入:允许用户直接在 HTTP 请求节点中定义要扫描的域或公司。
- 自托管兼容性:包含有关在自托管 n8n 实例中启用所需
crypto模块的指南。 - 通过便签清晰的文档:嵌入的说明性注释指导用户完成设置、配置和使用。
主要节点及其用途
1. 点击“执行工作流”时 (手动触发节点)
- 类型:
n8n-nodes-base.manualTrigger - 用途:作为工作流的起点。当用户在 n8n UI 中单击“执行工作流”按钮时启动执行。
- 功能:提供一种简单的方法来测试或手动启动域扫描,而无需计划或外部触发器。
2. 便签(们) (文档节点)
- 类型:多个
n8n-nodes-base.stickyNote节点 - 用途:在画布内充当嵌入式文档面板。
- 内容包括:
- 工作流目的概述。
- 将 API 凭据插入代码节点的说明。
- 在自托管环境中启用
crypto模块的步骤。 - 配置 HTTP 请求节点(标头、正文参数)的指南。
- 查看 Icypeas Web 界面中结果的链接。
这些节点不具备功能性,但对于新用户的上手和确保正确设置至关重要。
3. 向您的 Icypeas 帐户进行身份验证 (代码节点)
- 类型:
n8n-nodes-base.code - 语言:JavaScript (
jsCode) - 用途:生成所有必需的身份验证数据,包括:
- 当前时间戳(ISO 格式)
- 完整 API URL
- 源自方法、路径、API 密钥和时间戳的 HMAC-SHA1 签名
- 设置的关键变量:
$input.first().json.api = { timestamp, secret: API_SECRET, key: API_KEY, userId: USER_ID, url: "https://app.icypeas.com/api/domain-search", signature: generatedSignature } - 安全说明:依赖于 Node.js
crypto模块;必须在自托管设置中启用。
此节点准备了与 Icypeas 进行安全通信所需的上下文数据。
4. 运行域搜索(单个) (HTTP 请求节点)
- 类型:
n8n-nodes-base.httpRequest - 方法:POST
- URL:动态设置为
={{ $json.api.url }} - 发送的标头:
X-ROCK-TIMESTAMP:={{ $json.api.timestamp }}- Authorization:通过凭据构建为
{{ $json.api.key }}:{{ $json.api.signature }}
- 正文参数:
domainOrCompany:默认值设置为"google"(用户可修改)
- 身份验证类型:基于标头的 (
httpHeaderAuth),使用名为“Header Auth account”的存储凭据 - 用途:执行实际的 API 调用以在 Icypeas 服务器上启动域扫描。
结果不会直接在 n8n 中返回,而是由 Icypeas 异步处理。
用例和优势
✅ 理想用途:
- 网络安全评估:快速评估组织的公共攻击面。
- 渗透测试准备:在参与之前收集子域和联系信息。
- 品牌监控:检测公司域或子公司的未经授权使用。
- 漏洞赏金研究:跨多个目标自动化初始侦察步骤。
- IT 安全审计:定期检查与公司关联的未知资产。
🌟 优势:
- 自动化效率:消除了重复的手动 API 调用。
- 提高准确性:减少了签名请求中的人为错误。
- 集成就绪:以后可以扩展以接受来自电子表格、Webhook 或表单的输入。
- 可扩展的基础:此单次扫描版本可以演变为批量处理工作流。
- 教育价值:演示了安全的 API 模式实践,如有时限的签名和基于标头的身份验证。
分步工作流逻辑
-
触发执行
- 用户在 n8n 编辑器中单击“执行工作流”。
- 手动触发节点激活并将控制权传递给下一个节点。
-
身份验证和签名生成
- 代码节点执行 JavaScript:
- 定义常量:基本 URL、API 路径、HTTP 方法。
- 加载用户提供的
API_KEY、API_SECRET和USER_ID。 - 生成当前 ISO 时间戳。
- 构建有效负载字符串:
${METHOD}${PATH}${TIMESTAMP}(小写)。 - 使用
crypto.createHmac()使用API_SECRET生成 SHA1 哈希。 - 将生成的
signature与其他值一起存储在$json.api下。
- 代码节点执行 JavaScript:
-
准备并发送扫描请求
- 数据流向HTTP 请求节点:
- URL 动态设置为
https://app.icypeas.com/api/domain-search。 - 方法为 POST。
- 标头
X-ROCK-TIMESTAMP使用生成的时间戳填充。 - 授权标头使用表达式构建:
{{ $json.api.key }}:{{ $json.api.signature }}。 - 正文包含一个参数:
domainOrCompany(例如,google)。
- URL 动态设置为
- 数据流向HTTP 请求节点:
-
API 调用执行
- n8n 将经过身份验证的 POST 请求发送到 Icypeas。
- Icypeas 验证签名和时间戳。
- 如果有效,它将排队一个新的域搜索任务。
-
查看结果
- n8n 中不捕获直接输出。
- 用户将被引导登录 Icypeas Business Office 查看扫描结果。
-
可选后续操作
- 将来的增强功能可能包括轮询结果、解析发现或导出报告。
摘要
此工作流例证了 n8n 如何能够简化与需要加密身份验证的第三方 API 的安全交互。通过结合手动启动、动态代码执行和 HTTP 请求,它能够使用 Icypeas 进行高效、可审计且可重复的域侦察。通过正确的设置——特别是插入有效的凭据并启用 crypto 模块——它将成为任何 OSINT 工具包的宝贵资产。
使用方法:下载 JSON 文件,然后在 n8n 中选择“从文件导入”。