首页 / n8n 工作流模板 / 在 n8n 中使用 Icypeas 执行单域名或公司安全扫描

在 n8n 中使用 Icypeas 执行单域名或公司安全扫描

Perform a domain search (single) with Icypeas

此工作流通过 API 使用 Icypeas 自动执行域名或公司安全扫描,需要手动执行和有效的凭据。

手动触发3 个节点开发者工具API 集成安全手动触发

工作流介绍

工作流分析:使用 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 模式实践,如有时限的签名和基于标头的身份验证。

分步工作流逻辑

  1. 触发执行

    • 用户在 n8n 编辑器中单击“执行工作流”。
    • 手动触发节点激活并将控制权传递给下一个节点。
  2. 身份验证和签名生成

    • 代码节点执行 JavaScript:
      • 定义常量:基本 URL、API 路径、HTTP 方法。
      • 加载用户提供的 API_KEY、API_SECRET 和 USER_ID。
      • 生成当前 ISO 时间戳。
      • 构建有效负载字符串:${METHOD}${PATH}${TIMESTAMP}(小写)。
      • 使用 crypto.createHmac() 使用 API_SECRET 生成 SHA1 哈希。
      • 将生成的 signature 与其他值一起存储在 $json.api 下。
  3. 准备并发送扫描请求

    • 数据流向HTTP 请求节点:
      • URL 动态设置为 https://app.icypeas.com/api/domain-search。
      • 方法为 POST。
      • 标头 X-ROCK-TIMESTAMP 使用生成的时间戳填充。
      • 授权标头使用表达式构建:{{ $json.api.key }}:{{ $json.api.signature }}。
      • 正文包含一个参数:domainOrCompany(例如,google)。
  4. API 调用执行

    • n8n 将经过身份验证的 POST 请求发送到 Icypeas。
    • Icypeas 验证签名和时间戳。
    • 如果有效,它将排队一个新的域搜索任务。
  5. 查看结果

  6. 可选后续操作

    • 将来的增强功能可能包括轮询结果、解析发现或导出报告。

摘要

此工作流例证了 n8n 如何能够简化与需要加密身份验证的第三方 API 的安全交互。通过结合手动启动、动态代码执行和 HTTP 请求,它能够使用 Icypeas 进行高效、可审计且可重复的域侦察。通过正确的设置——特别是插入有效的凭据并启用 crypto 模块——它将成为任何 OSINT 工具包的宝贵资产。

使用方法:下载 JSON 文件,然后在 n8n 中选择“从文件导入”。