KeyFrame內部研究專用

Efficient Bug Bounty Automation Techniques, Gunnar Andrews | Bug Bounty Village, DEF CON 32

Bug Bounty Village·4月14日週一·22 min英文

三句話摘要

高效漏洞賞金自動化技術:從被動偵察、資料收集到資料工程的完整工作流。 高效的漏洞賞金自動化不在規模或蠻力,而在於用被動智慧的資料來源和自建基礎設施來最大化資訊收集效率,配合嚴謹的資料工程才能真正將海量資料轉化為漏洞發現。 資源效率優於覆蓋面積:暴力破解是最後的手段,應先窮盡所有被動偵察技術,這樣能用最少成本獲得最大發現量;講者日監控數百萬域名,幾乎全部來自被動源。

重點整理

重點
  • 1

    資源效率優於覆蓋面積:暴力破解是最後的手段,應先窮盡所有被動偵察技術,這樣能用最少成本獲得最大發現量;講者日監控數百萬域名,幾乎全部來自被動源。

  • 2

    多層次被動資訊源的整合:SSL 證書日誌(Gungnir 可 20 秒內捕獲新證書)、反向 DNS 查詢、被動 DNS 資料庫(VirusTotal、SecurityTrails)等互補使用,能發現大量資產而無需主動掃描。

  • 3

    自建關鍵基礎設施勝過依賴第三方:PowerDNS Recursor + Redis 的自有 DNS 解析叢集可完全控制引數和監控,僅需月均 $25 成本就能處理每秒 12.5 萬查詢;關鍵是實現持續 5+ 天的重試列表,捕捉短期不可用但後來恢復的服務。

  • 4

    資料儲存方式決定發現效率:正確的資料庫設計(同時維護子域名和 IP,而非單一主鍵)是將"海量資料"轉化為"更多漏洞"的前提;平文字檔案方案會在後期陷入困境。

實用技巧與重點

乾貨
  • 工具
  • Caduceus:IPv4 SSL 證書掃描,提取域名與對應 IP
  • Gungnir:CT 日誌實時爬取(≤20 秒捕獲新證書)
  • cert.sh:CT 日誌查詢(可能延遲 48 小時)
  • ZDNS:反向 DNS 查詢工具
  • Harpy:虛擬主機掃描(基於 Caduceus 輸出)
  • Power DNS Recursor:遞迴 DNS 解析器
  • DNS DIST:DNS 負載均衡
  • S-Map:基於 Shodan 的被動埠掃描
  • Redis:快取與重試佇列
  • GitHub Subdomains(作者:Gwen)
  • 效能資料
  • DNS 叢集月成本:~$25
  • 吞吐量:125,000 queries/秒
  • 日處理量:600-800 百萬請求
  • 重試時長:5+ 天持續佇列
  • 被動 DNS 來源
  • VirusTotal、SecurityTrails、Common Crawl、Wayback Archive
  • DNS 記錄型別
  • A、AAAA、CNAME、MX、NS
  • 掃描策略
  • Lambda 架構:每個例項新 IP,用於高速並行掃描
  • 使用者代理:使用最新 Chrome UA,每月更新
  • 單 GET 請求獲取:二階資源、狀態碼、CSP、Cookie、標題

結論

結論

高效的漏洞賞金自動化不在規模或蠻力,而在於用被動智慧的資料來源和自建基礎設施來最大化資訊收集效率,配合嚴謹的資料工程才能真正將海量資料轉化為漏洞發現。

完整解析

詳細

Gunnar Andrews 在這次演講中分享了他多年來積累的漏洞賞金自動化核心哲學與實踐方法。整個框架的出發點是:用最低成本和最少資源獲得最大的發現效率,而非盲目追求掃描規模。

他開篇就表明立場——不做任何必要前的暴力破解。日監控數百萬個域名和海量端點,全部透過被動手段發現。這個策略的邏輯是:暴力破解本質是猜測,而現代網際網路提供了足夠多的其他技術手段,只有真的"沒招了"才退而求其次。這樣既能維持低成本,又不會因大規模掃描而觸發 ISP 或雲廠商的封禁。

資訊收集層:多源被動偵察

SSL 證書是發現資產的金礦。講者開發了 Caduceus 工具對整個 IPv4 地址空間進行證書掃描,從證書的 CN 和 SAN 欄位提取域名,同時儲存對應 IP。這樣既能獲得子域名,還保留了 IP-域名的關聯。對於想要最新發現的資產,Gungnir 實時爬取 CT 日誌(Merkle 樹結構的公開證書日誌),能在新證書頒發後 20 秒內捕獲;相比之下,cert.sh 雖然功能強大且可歷史查詢,但某些 CT 日誌在其資料庫中可能延遲 48 小時。講者還透過反向 DNS 查詢(PTR 記錄)來發現與特定 IP 關聯的域名——用 ZDNS 等工具遍歷整個 IPv4 空間。這些技術合起來能從被動 DNS 資料庫(VirusTotal、SecurityTrails、Wayback Archive 等)中獲得大量已記錄的資產。

但講者強調了一個常見的坑:不要無腦使用所有資料來源。他以 Subfinder 為例,用 --all 標誌跑 tesla.com,結果執行 43 秒卻因為 Common Crawl 出錯返回負數條結果。去掉問題源後,僅需 10 秒就能獲得相同結果。這意味著要麼自己寫查詢邏輯(完全理解每個資料來源的行為),要麼至少要審計工具的輸出和效能。

DNS 解析與快取:自建叢集的必要性

這是講者強調最多的一個環節。公開的 DNS 解析器(如 Trickest 列表中的服務)雖然便捷,但存在速率限制、超時和隱藏的行為差異。他在安全諮詢工作中發現過多個 DNS 接管漏洞,這些漏洞在所有公開解析器上顯示為"無錯誤",但在特定的遞迴解析器上卻返回 SERVFAIL——恰好是他能接管的情況。這說明邊緣節點的公開解析器在追求速度和規模時可能做了不適合 bug bounty 獵人的折衷。

講者的解決方案是用 PowerDNS(三個元件:Authoritative Server、Recursor、DNS DIST)構建自有 DNS 解析叢集。Recursor 是遞迴解析器,DNS DIST 是負載均衡,兩者透過 Keepalived 等工具實現虛擬 IP,讓整個叢集對外呈現統一端點。月成本約 $25,卻能處理每秒 12.5 萬查詢,完全無速率限制,所有引數都由自己控制。關鍵改進是用 Redis 維護一個域名快取和重試佇列,記錄每個域名的最後解析時間和重試次數。單次解析嘗試會漏掉大量資產(某些服務短時間不可用),持續 5 天或更長的重試佇列才能捕獲這些恢復的服務。

埠與網路指紋識別:被動優先

講者拒絕直接的全量主動埠掃描。他用 S-Map 工具針對 Shodan 進行被動查詢(Shodan 已包含大量已知開放埠的資料),然後只對這些結果進行主動驗證。這樣既能發現埠,又避免了向無關 IP 發起數百萬個 SYN 包而遭到反爆。至今未被封禁正是這個策略的證明。

對於網路端點和資源發現,一個 GET 請求就能獲取豐富資訊:二階資源(JavaScript、S3 桶等)、HTTP 狀態碼、CSP 頭、Cookie 等。講者透過爬取發現的頁面來擴充套件資產列表,但避免過度掃描以防觸發 WAF。為了高速掃描又不被封禁,他建議利用 AWS Lambda——每個 Lambda 例項都帶新 IP,分散掃描任務能有效規避 IP 級別的速率限制和封禁。

資料工程:從資料到漏洞的橋樑

講者最後強調的是資料組織的重要性。許多獵人只維護子域名列表,結果喪失了大量關聯資訊。正確的做法是同時維護子域名和 IP 地址,並在兩者之間交叉引用。這涉及資料庫設計而非平文字檔案——後者在資料量增長後會變得難以管理。講者推薦了相關資料工程書籍(Audible 有音訊版),雖然枯燥但價值巨大。核心觀點是:海量資料 = 更多漏洞,但前提是正確利用

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web2 安全」的內容

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car
7 min
Web2 安全英文PODCAST8月25日

SANS Stormcast Tuesday, August 25th, 2026: DOUBLECUP PNG; WebAudio Fingerprinting; Expired Domains; Android; Car

SANS Stormcast

  • PNG 容器攻擊的簡易性設計:Double Cup 不依賴複雜的 Exif 或隱寫技術,只用 PNG 副檔名和檔頭來偽裝,核心是利用 findstr 指令的常見可用性讓執行變得無需額外工具。
  • Web Audio API 的隱密指紋識別:音訊於增益零的無聲狀態下播放,使用者完全無感,但錄製波形足以建立裝置特徵,在瀏覽器原生功能層面難以區分是反詐欺還是過度追蹤。
  • 域名過期引發的串聯漏洞:DMARC 報告端點使用過期域名是常見疏漏,允許攻擊者透過簡單的域名註冊取得他人的 SPF/DKIM 錯誤報告,進而收集目標系統配置情報。
Risky Bulletin: Expired credit cards can be used for malicious transactions
5 min
Web2 安全英文PODCAST8月24日

Risky Bulletin: Expired credit cards can be used for malicious transactions

Risky Business

  • 支付安全的非對稱風險:Visa卡利用未加密的卡片資料與NFC通訊,攻擊者可藉由中間人技術竄改過期日期進行交易,但MasterCard、美運卡與Discover的防護更完善,顯示不同發卡機構的安全架構存在明顯差異。
  • 國家級駭客活動的連鎖延伸:北韓Lazarus集團在2月單一事件已累積100名受害者,涵蓋大學、警察部門、媒體與醫療機構,伊朗駭客則針對基礎建設如電力系統發動破壞性攻擊,反映地緣政治在網路戰爭中的升溫。
  • AI加速漏洞生態的雙面刃:AI工具催生近2萬份漏洞概念驗證代碼發布,但同時也導致大量失效漏洞代碼氾濫,增加資安團隊甄別真實威脅的難度;Mayer Protocol遭攻擊事件中,駭客用AI鏈接六個無關的小漏洞完成盜竊170萬美元的攻擊。
SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware
5 min
Web2 安全英文PODCAST8月24日

SANS Stormcast Monday, August 24th, 2026: More Entra Powershell; Entra Vulnerability; GitLab Vuln (and PoC); GTA 6 Leak Malware

SANS Stormcast

  • Microsoft EntraID 的遠端代碼執行漏洞已由微軟修補,初期報告顯示已遭利用但後來更正為未遭利用。這反映 Microsoft 在雲端軟體安全上的透明度提升,對漏洞採用與內部軟體相同的 CVE 編號和公告流程。
  • PowerShell 指令碼可用於驗證 MFA 部署完整性,特別是找出未啟用 MFA 的遺漏帳號。同時可以分析 EntraID 登入日誌中的異常行為,如風險係數評估和地理位置檢測,幫助組織快速識別可疑登入。
  • GitLab 的 GraphQL 代碼注入漏洞允許未認證攻擊者刪除或修改儲存庫,潛在導致供應鏈攻擊。已有公開概念驗證 (PoC) 存在,使用內部部署 GitLab 的組織必須立即修補。