Black Hat USA 2001 - Building A Blind IP Spoofed Portscanning Tool
三句話摘要
盲目 IP 欺騙掃描技術——利用 TCP/IP 協議中 ID 號的可預測性,通過偽造源地址進行隱形遠端端口掃描。 TCP/IP 協議中可預測的 ID 號遞增模式使隱形端口掃描成為可能,提醒我們 IDS 日誌並非完全可信,多層防禦策略必不可少。 第一,TCP/IP 協議中 ID 號的遞增模式因作業系統而異,可作為系統指紋識別的依據。Windows 95 每個數據包遞增 1、Windows 2000 遞增 254(實際上是字節順序問題,本質也是 1)、Solaris 遞增 256、Cisco 則在三次握手完成後才開始遞增。這些差異使 ID 號成為判別目標系統的關鍵。
重點整理
重點- 1
第一,TCP/IP 協議中 ID 號的遞增模式因作業系統而異,可作為系統指紋識別的依據。Windows 95 每個數據包遞增 1、Windows 2000 遞增 254(實際上是字節順序問題,本質也是 1)、Solaris 遞增 256、Cisco 則在三次握手完成後才開始遞增。這些差異使 ID 號成為判別目標系統的關鍵。
- 2
第二,盲目 IP 欺騙掃描的基本原理是:攻擊者向誘餌主機發送 SYN 封包取得其初始 ID 號,再向目標主機發送偽造的 SYN 封包(聲稱來自誘餌主機)。若目標端口開放,會回覆 SYN-ACK 給誘餌主機,誘餌主機隨即發送 RST 封包導致 ID 號增加;若端口關閉,目標只回覆 RST 封包,誘餌主機不會回應,ID 號維持不變。藉此判斷端口狀態而不暴露攻擊者身份。
- 3
第三,實際應用中需要為每個端口發送約 20 個探測數據包而非單一封包,計算 ID 號增量的平均值以消除噪音。即使在 50% 丟包率下仍能獲得可靠結果,端口開放時 ID 號增量會產生明顯峰值,端口關閉時保持低增幅,形成清晰的對比。
- 4
第四,防火牆防禦效果取決於具體配置。狀態防火牆在快速模式下仍可能允許 SYN 封包通過,無法完全防止此技術。唯有 Solaris 和 OpenBSD 的隨機 ID 號生成方式能夠有效防禦,其他主流系統的 ID 號都具高度可預測性。
實用技巧與重點
乾貨- 作業系統 ID 號遞增模式
- Windows 95:+1
- Windows 2000:+254(實際相當於 +1)
- Solaris:+256
- Cisco:握手後才遞增
- OpenBSD/FreeBSD:隨機數
- 能防禦此技術的作業系統:僅 Solaris 和 OpenBSD
- Spoofer 工具參數
- 源 IP:偽造來源(誘餌主機位址)
- 目標 IP:掃描目標
- 誘餌主機開放端口:必須知道一個開放端口以維持連線
- 延遲設定:預設 40 毫秒、陸地網路可降至 1 毫秒、PPP 鏈路可設為 2 秒
- 每個端口探測數據包數:約 20 個
- 下載位址:labs.defcom.com
- 掃描準確度與實際條件
- 網際網路測試誤差:約 2%(與 nmap 相比)
- 誘餌主機條件:活動用戶不能過多,避免 ID 號波動過大
- 多誘餌主機:可使用但產生時間效應和抖動,需更長時間間隔
- TCP 協議特性
- 僅 TCP 數據包遞增 ID 號
- ICMP 數據包不影響 ID 計數
- ID 號僅用於 TCP 會話追蹤
結論
結論“TCP/IP 協議中可預測的 ID 號遞增模式使隱形端口掃描成為可能,提醒我們 IDS 日誌並非完全可信,多層防禦策略必不可少。”
完整解析
詳細盲目 IP 欺騙掃描是一種利用 TCP/IP 協議設計缺陷進行隱形端口掃描的技術。講者 Thomas Olsen 指出,TCP/IP 頭部中的 ID 號長期被安全領域忽視,但其遞增模式極具可預測性,且因作業系統而異。在傳統的 TCP 三次握手中,每個數據包都會導致 ID 號遞增。Windows 95 每次加 1,Windows 2000 加 254(實際上是字節順序問題,本質仍為 1),Solaris 則以 256 為增量。不同的遞增方式使攻擊者可透過觀察 ID 號變化模式來識別目標系統類型。Cisco 設備更特殊,在完成三次握手前不會遞增 ID 號。只有 Solaris 和 OpenBSD 使用真正的隨機 ID 號生成,其他主流系統的 ID 號都可預測。
盲目 IP 欺騙掃描的工作原理為:攻擊者先選擇一個受信任的「誘餌主機」(如某公司的網頁伺服器),向其發送 SYN 封包以獲取當前 ID 號和遞增方式。接著向目標主機發送偽造的 SYN 封包,聲稱來自誘餌主機。若目標端口開放,會回覆 SYN-ACK 給誘餌主機;誘餌主機收到意外封包後回覆 RST 封包,導致其 ID 號增加。攻擊者再次查詢誘餌主機 ID 號,若增加則端口開放,若不變則端口關閉。藉此方式,攻擊者的真實 IP 位址永不出現在目標的入侵偵測系統日誌中,所有紀錄都指向誘餌主機。
實際應用中面臨的最大挑戰是噪音。若誘餌主機有其他網路活動,ID 號增長會不可預測。講者改進技術,不再只發送單一探測封包,而是為每個端口發送約 20 個數據包。透過計算 ID 號增量的平均值,即使丟包率達 50%,掃描仍能準確。端口關閉時 ID 號大約以 1 為單位遞增;端口開放時增加約 20,形成明顯峰值,使結果更可靠。
講者示範的 Spoofer 工具需配置源 IP、目標 IP、誘餌主機的開放端口及探測延遲。延遲設定至關重要——預設 40 毫秒,本地網路可降至 1 毫秒,低速鏈路需設為 2 秒。工具自動遍歷已知服務端口進行掃描。網際網路實測顯示,準確度與 nmap 差異僅約 2%,證明技術可行性。
防禦方面,講者指出現代防火牆難以有效防止此攻擊。狀態防火牆在某些快速模式配置下仍允許 SYN 封包通過。真正能防禦的只有 Solaris 和 OpenBSD,因其使用隨機 ID 號。這說明安全社區對此技術的理解和防禦準備嚴重不足。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

