Black Hat USA 2000 - John McDonald's Group Talk
三句話摘要
Checkpoint Firewall 1 的多個認證與協議層漏洞及其利用方法。 防火牆安全不能依賴單一產品的配置,而需多層防禦、來自不同廠商,並嚴格遵循最小權限原則與反欺騙保護。 認證繞過的兩條路徑:FWA1 加密金鑰分佈均勻,攻擊者可盲猜傳送零位元組待解密;更直接的方式是在 control.map 中針對 127.0.0.1 關閉認證,再在協議層冒充該地址即可完全跳過認證。
重點整理
重點- 1
認證繞過的兩條路徑:FWA1 加密金鑰分佈均勻,攻擊者可盲猜傳送零位元組待解密;更直接的方式是在 control.map 中針對 127.0.0.1 關閉認證,再在協議層冒充該地址即可完全跳過認證。
- 2
FTP 協議層漏洞源於防火牆只檢查 IP 封包的離散 TCP 資料而非重組完整 TCP 流。攻擊者可在 PORT 指令中使用超過八位元的數值(如 256),導致防火牆與實際 FTP 伺服器對埠號的理解產生差異,進而執行未授權的反彈攻擊與 RPC 服務利用。
- 3
FWZ 封裝(IP Protocol 94)是為 SecureMote 用戶端設計的輕量級隧道協議,但防火牆會無條件解封並轉發所有 FWZ 封包,無需認證或加密。攻擊者可藉此傳送本應被路由表丟棄的封包,突破現有存取控制。
- 4
反向欺騙攻擊依賴反欺騙保護配置不當。即使啟用反欺騙,仍可透過多播地址(224.0.0.1)或防火牆外部介面本身發動攻擊,只要存在允許該流量的規則(如預設的 DNS port 53 規則)。
實用技巧與重點
乾貨- 工具與協議:
- FWA1(Firewall 1 Authentication)
- FWZ 封裝(IP Protocol 94)
- FTP Ozone(Doug 開發的工具)
- ton(FWZ 封裝工具)
- frag router(路由器重寫工具)
- 具體技術細節:
- Firewall 1 版本 4.0 與 4.1
- 連線追蹤表(connection table)與待決表(pending table)
- 虛擬碎片整理(virtual defragmentation)
- TCP 資料驗證機制檢查第一個片段
- UDP 連線應答預設開啟(tick mark)
- 多播地址 224.0.0.1
- 攻擊參數例示:
- FTP PORT 命令改寫:172.16.0.2 vs 172.16.1.2(進位差異)
- 埠碰撞:顯示埠 59589 + 6000 = 65589,mod 65536 = 53(DNS 埠)
- 反向欺騙源埠:port 20、port 21(FTP)
- MSS(Maximum Segment Size)手動調整以分割封包
- 序列號冒用與重連機制
- 硬化建議:
- 禁用隱式規則(DNS、control 連線、ICMP)
- 設定反欺騙保護於所有介面
- 在邊界路由器篩除 Protocol 94
- 分離 DMZ 服務到不同 IP(每個服務獨立 IP)
- 使用多個防火牆、來自不同廠商
- VPN 加密管理連線
結論
結論“防火牆安全不能依賴單一產品的配置,而需多層防禦、來自不同廠商,並嚴格遵循最小權限原則與反欺騙保護。”
完整解析
詳細這場演講展示了 Checkpoint Firewall 1 在協議層與狀態追蹤機制上的一系列漏洞。講者從認證開始說明:雖然 FWA1 加密金鑰理論上均勻分佈,但更實用的攻擊方式是利用組態缺陷——許多管理員在 control.map 中為 127.0.0.1 地址關閉認證以簡化部署,卻忽視了協議層並不驗證來源 IP 真實性的事實。攻擊者只需在內部協議訊息中宣稱自己是 127.0.0.1,防火牆就會放行。
FTP 協議層的漏洞更深入。防火牆僅檢查單一 IP 封包中的離散 TCP 資料來驗證 PORT 或 PASV 指令,而不重組完整 TCP 流。當攻擊者在 PORT 命令中使用超過單一八位元的數值(如 256 而非 0),防火牆因進位邏輯與實際 FTP 伺服器產生不同的埠號理解,造成「端點歧義」。例如防火牆理解為 172.16.1.2 但實際伺服器看到 172.16.0.2。講者以此為基礎演示了對內部 Solaris TTDB 服務的反彈攻擊,將惡意程式碼透過現有 FTP 連線經由未開放的高編號埠送入,再以反向 shell 通道(經由 DNS port 53 傳送 X11 顯示訊號)逃逸。
FWZ 封裝(IP Protocol 94)的設計旨在支援 SecureMote VPN 用戶端,卻成了全面的隧道。攻擊者可將任意 IP 封包封裝在 IP Protocol 94 內、指向防火牆外部介面,防火牆會無條件解封並轉發,毋須認證。只需在 IP ID 欄位設為 1,利用簡單的 XOR 混淆反解,就能傳送本應被路由丟棄的內部地址流量。
反向欺騙攻擊則展示了反欺騙保護配置的複雜性。即使管理員在所有外部介面設定反欺騙,仍可從多播地址(224.0.0.1)或防火牆外部介面本身發動攻擊。講者透過 frag router 重寫多播目標,搭配預設允許的 DNS port 53 規則,成功訪問防火牆本身的 SNMP 服務。這說明「最小權限原則」的重要性——即使反欺騙完整啟用,也不應有「any source any destination」的寬鬆規則。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

