Nuclei: Beyond the Basic Templates by Ben Sadeghipour | Bug Bounty Village, DEF CON 33
三句話摘要
學會編寫自定義 Nuclei 模板和工作流程,從被動掃描轉變為主動發現漏洞。 不要只會執行現成模板,學會為自己的目標編寫自定義模板和工作流程,才是讓 Nuclei 真正成為高效武器的關鍵。 模板不是為了找漏洞,而是為了讓發現過程自動化。講者強調不應依賴模糊測試替代主動漏洞查詢,而是在已確認的漏洞鏈中使用,例如需要開放重定向輔助 SSRF 時。
重點整理
重點- 1
模板不是為了找漏洞,而是為了讓發現過程自動化。講者強調不應依賴模糊測試替代主動漏洞查詢,而是在已確認的漏洞鏈中使用,例如需要開放重定向輔助 SSRF 時。
- 2
標籤和嚴重性是組織 Nuclei 的關鍵。透過給模板新增標籤(如偵察、Tomcat、GitHub等),可以只執行相關模板,避免對數千個無關模板的無謂掃描。
- 3
匹配器決定掃描是否有效。需要明確指定狀態碼、正規表示式、單詞匹配或 DSL 條件,並注意「且」vs「或」的邏輯組合,一個括號位置錯誤就會導致無法匹配。
- 4
工作流程用 if-then 邏輯連結多個步驟。比如先檢測是否為 Tomcat,是的話再用特定使用者名稱密碼錶進行叢集炸彈攻擊,而不是所有工具都跑一遍。
實用技巧與重點
乾貨- 講者背景:Ben Sadeghipour (@NahamSec),累計賞金接近 $200 萬,其中 70% 來自 2022-2023 年全職投入;共同創立 Hacking Hub 公司
- 課程形式:Bug Bounty Village 講座,免費開放 30 天,需在週一前拍照獲取程式碼
- 模板必需欄位:ID(必需,包含連字元)、name、author、severity、tags、requests、matchers
- 匹配器型別:status、size、words、regex、binary、hex、xpath、dsl
- 模糊測試部分:query、path、header、cookie、body
- 攻擊型別:sniper(逐個引數)、battering ram(所有引數同時)、pitchfork(引數對應)、cluster bomb(笛卡爾積組合)
- 工具整合:Swagger JSON → Nuclei、httpx 過濾 200 狀態碼、Subfinder 發現子域、ffuf 路徑爆破
- 開源資源:可從 GitHub 下載有效載荷列表(or.txt、params.txt)、參考他人開源的模板與工作流程
- 除錯命令:`nuclei -validate -t template.yaml`、`-v`(詳細模式)
結論
結論“不要只會執行現成模板,學會為自己的目標編寫自定義模板和工作流程,才是讓 Nuclei 真正成為高效武器的關鍵。”
完整解析
詳細講者 NahamSec 指出了 Nuclei 使用中的核心矛盾:市面上大多數人都在執行社群提供的模板,卻很少有人獲得實際成果。問題不在於工具本身,而在於使用方式。大家都在用相同的模板對相同的目標進行相同的掃描,導致競爭激烈且結果重複。講者曾經也犯過這個錯誤——執行掃描後就忘記檢視結果,因為根本沒有發現任何東西。真正能用 Nuclei 發現漏洞的人,秘訣在於深度定製。
編寫有效模板的第一步是理解基本結構。每個模板需要 ID、名稱、作者、嚴重性和最關鍵的「標籤」。標籤是組織大規模模板庫的唯一方式——與其執行 10,000 個模板,不如根據嚴重性和標籤只執行與當前階段相關的模板。比如在偵察階段,標記為「recon」的模板能幫你找到 GitHub 例項、Tomcat 服務、Atlassian 工具等基礎設施資訊。然後是請求部分,可以傳送 GET、POST、DELETE 等任意 HTTP 方法,支援自定義路徑、請求體、頭部。重要的是在頭部新增 User-Agent 和其他標識,因為漏洞賞金計劃通常要求自動化掃描時包含這些標識。
匹配器是決定掃描成功與否的靈魂。講者用實際案例演示瞭如何檢測暴露的儀表板:設定狀態碼為 200,用正規表示式查詢「Engine X」版本,同時匹配「Service Status Dashboard」和「For Internal Use Only」兩個關鍵詞。這裡的邏輯至關重要——必須正確使用「且」(AND)和「或」(OR),一個括號位置錯誤就會導致模板完全不工作。許多人花 35 分鐘建立模板,最後才發現是條件邏輯的問題。
模糊測試是 Nuclei 被嚴重低估的功能。講者強調這不是用來發現新漏洞的,而是在已知的攻擊鏈中使用——比如你需要一個開放重定向來輔助 SSRF 利用。模糊測試可以針對查詢引數、路徑、頭部、Cookie、請求體等任何部分。對於開放重定向測試,可以為 redirect 引數傳入多個有效載荷(從 payloads.txt 檔案讀取),逐一嘗試不同的重定向目標。對於 XSS 測試,可以先測試括號是否閉合而不傳送完整載荷,減少日誌噪音。對於 Tomcat 預設密碼爆破,使用「叢集炸彈」攻擊型別讓使用者名稱和密碼列表做笛卡爾積組合。
工作流程(workflow)將這些能力連線起來。使用工作流程的好處是可以根據檢測結果條件執行不同分支——如果發現是 Tomcat,就用 Tomcat 相關的密碼錶爆破;如果是 Apache,就用 Apache 相關模板。結合 Subfinder 發現子域、httpx 過濾活躍服務、Nuclei 進行深度掃描、最後驗證漏洞的整個流水線,能大幅提升發現機率。講者的最佳實踐包括:始終對模板執行驗證命令、在本地建立測試環境(Python HTTP 伺服器)、信任前重複使用 `-v` 詳細模式檢視請求內容、從 GitHub 參考他人開源的模板獲得靈感。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

