Black Hat USA 2001 - Promiscuous Node Detection Using ARP Packets
三句話摘要
利用特製 ARP 數據包檢測網路上處於混雜模式的網卡。 透過巧妙構造特製 ARP 數據包利用硬體與軟體過濾的差異,可以有效檢測混雜模式網卡,但需針對不同作業系統調整測試地址並預留例外情況的判斷。 網卡過濾分為硬體過濾和軟體過濾兩層,硬體層檢查實體地址,軟體層(核心)進行額外驗證,只有兩層都通過的數據包才會觸發應答。
重點整理
重點- 1
網卡過濾分為硬體過濾和軟體過濾兩層,硬體層檢查實體地址,軟體層(核心)進行額外驗證,只有兩層都通過的數據包才會觸發應答。
- 2
檢測原理是利用多播列表外的地址或設置組位但非標準廣播的數據包,在混雜模式下這些會通過硬體層而被軟體層接受,促使系統回應;但正常模式會在硬體層被拒絕。
- 3
不同作業系統對廣播地址的判斷嚴格程度不同,Windows 95/98/ME 可能只檢查頭部一位元組,Windows 2000 檢查一個字,Linux 則逐位元組完整檢查,因此需採用不同的測試地址。
- 4
存在例外情況如舊式 NIC 預設全多播模式、某些 Linux 驅動版本不支持多播列表、安裝 WinPcap 後 Windows 會改變行為,這些會影響檢測準確性。
實用技巧與重點
乾貨- 基本技術概念
- 硬體地址(MAC)格式:6 位元組,例如 001122334455
- 組位(Group bit):硬體地址首位元組的最低有效位(LSB)
- 廣播地址:FFFFFFFFFFFF
- 標準多播地址範例:01005E000001、01005E000003
- ARP 過濾規則(Linux 核心)
- 若 ARP 訊息正確且目標不是迴路、非多播地址,則對廣播和多播數據包回應
- 數據包分類:to_us、other_host、multicast、broadcast
- 可用於檢測的數據包類型
- 未在多播列表中的多播地址數據包
- 設置組位但非標準廣播的特製地址
- 測試地址
- 標準廣播:FFFFFFFFFFFF
- 31 位假廣播:去掉最後 1 位
- 16 位假廣播:僅保留首 16 位
- 8 位假廣播:僅保留首 8 位
- 多播地址 0(未預設登錄)
- 多播地址 1(預設登錄)
- 設置組位的特製地址
- 測試結果
- Windows 95/98/ME 混雜模式:對 31 位假廣播有回應
- Windows 2000/NT4 混雜模式:對 31 位和 16 位假廣播有回應
- Linux 混雜模式:對所有組位設置的地址有回應
- 已知例外
- EtherLink 3 等舊 NIC 不支持多播列表,預設全多播
- Linux 3.3.9.0.5 的舊驅動程式版本
- Windows 2000 安裝 WinPcap 2.1 或更新版本後會回應 16 位假廣播
- 工具
- ProMiscan:混雜模式檢測軟體
- 下載位置:www.SecurityFlyday.com
結論
結論“透過巧妙構造特製 ARP 數據包利用硬體與軟體過濾的差異,可以有效檢測混雜模式網卡,但需針對不同作業系統調整測試地址並預留例外情況的判斷。”
完整解析
詳細混雜模式檢測的核心在於理解網卡如何過濾網路數據包。正常情況下,網卡的硬體過濾層只允許三類數據包通過:目標地址與自身相符的單播包、廣播地址的數據包,以及預先登錄在多播列表中的多播地址。當網卡進入混雜模式時,硬體過濾層會放行所有數據包,不再檢查地址。
然而,作業系統核心層還有第二道軟體過濾機制。即使硬體層放行了數據包,軟體層可能因為該地址不符合預期而拒絕將其交給應用層處理。Linux 核心的 ARP 模組只對四種數據包型態做出回應:發送給自己的數據包、標準廣播、已登錄的多播地址,以及全多播位設置的包。講者的創意在於發送一個地址不在多播列表中、但組位已設置的特製 ARP 數據包。在正常模式下,這類數據包會在硬體層被拒絕,系統不會回應;在混雜模式下,數據包通過硬體層,也不會被軟體層拒絕,最終觸發系統回應,從而暴露自己。
不同作業系統對廣播地址的驗證嚴格程度差異很大。講者透過實驗發現,Windows 95/98/ME 可能只檢查硬體地址的首位元組是否全為 1,導致即使最後一位只要不是 1 的假廣播也會被誤認為廣播;Windows 2000 和 NT4 驗證得更嚴格,需要前 16 位都是 1;Linux 則逐位元組完整比對。這些差異意味著不同平台需要採用不同的測試地址組合。講者還發現某些舊型網卡和特定驅動版本會預設啟用全多播模式或造成過濾行為異常,這會干擾檢測結果。講者開發的 ProMiscan 工具能自動化執行這些檢測,掃描區域網段並報告發現的混雜模式節點。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

