工作流介紹
工作流程分析:使用 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 Request 節點中定義要掃描的網域或公司。
- 自我託管相容性:包含在自我託管 n8n 實例中啟用所需
crypto模組的指南。 - 透過便利貼提供清晰的文件:嵌入式說明筆記引導使用者完成設定、配置和使用。
主要節點及其用途
1. 點擊「執行工作流程」時 (手動觸發節點)
- 類型:
n8n-nodes-base.manualTrigger - 用途:作為工作流程的起點。當使用者點擊 n8n UI 中的「執行工作流程」按鈕時啟動執行。
- 功能:提供一種簡單的方法來測試或手動啟動網域掃描,而無需排程或外部觸發器。
2. 便利貼(們) (文件節點)
- 類型:多個
n8n-nodes-base.stickyNote節點 - 用途:作為畫布內嵌入式文件面板。
- 內容包括:
- 工作流程目的概述。
- 將 API 憑證插入程式碼節點的說明。
- 在自我託管環境中啟用
crypto模組的步驟。 - 配置 HTTP Request 節點的指南(標頭、主體參數)。
- 查看 Icypeas 網頁介面中結果的連結。
這些節點不具功能性,但對於新使用者上手和確保正確設定至關重要。
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 Request 節點)
- 類型:
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 Request 節點:
- URL 動態設定為
https://app.icypeas.com/api/domain-search。 - 方法為 POST。
- 標頭
X-ROCK-TIMESTAMP填充了生成的時間戳記。 - 授權標頭使用表達式建構:
{{ $json.api.key }}:{{ $json.api.signature }}。 - 主體包含一個參數:
domainOrCompany(例如google)。
- URL 動態設定為
- 數據流向HTTP Request 節點:
-
API 調用執行
- n8n 將經過驗證的 POST 請求發送到 Icypeas。
- Icypeas 驗證簽章和時間戳記。
- 如果有效,它會將新的網域搜索任務加入隊列。
-
查看結果
- n8n 中沒有直接捕獲輸出。
- 使用者被引導登錄 Icypeas Business Office 以查看掃描結果。
-
可選後續操作
- 未來的增強功能可能包括輪詢結果、解析發現或導出報告。
摘要
此工作流程例證了 n8n 如何簡化與需要加密驗證的第三方 API 的安全互動。透過結合手動啟動、動態程式碼執行和 HTTP 請求,它能夠使用 Icypeas 進行高效、可審計且可重複的網域偵察。透過正確的設定——特別是插入有效的憑證並啟用 crypto 模組——它將成為任何 OSINT 工具包的寶貴資產。
使用方法:下載 JSON 檔案,然後在 n8n 中選擇「從檔案匯入」。