萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 網路基礎知識

ARP 協議安全深度剖析:同網段/跨網段欺騙原理、ICMP 重定向組合拳與工程級防禦體系

一、ARP 運作機制回顧

IP 包路由到目標網段後,最終靠 MAC 地址交付。主機維護「IP→MAC」動態緩存表,緩存超時 (通常 1-20 分鐘) 後自動刷新。發送前查表無條目 → 發 ARP Request 廣播 → 目標回 ARP Reply → 更新緩存 → 發數據幀。**協議無任何認證機制**,任意主機可發送偽造 Reply 污染緩存。

二、同網段 ARP 欺騙完整攻擊鏈

場景:A(192.168.0.1, AA:AA:AA:AA:AA:AA) 信任 C(192.168.0.3, CC:CC:CC:CC:CC:CC) 開放 Telnet (23/TCP)。B(192.168.0.2, BB:BB:BB:BB:BB:BB) 想冒充 C 登入 A。

  1. B 掃描 C 漏洞 → 讓 C 宕機/下線 (消除 IP 衝突)。
  2. B 修改自身 IP 為 192.168.0.3。
  3. B 發送偽造 ARP Reply:Sender IP=192.168.0.3, Sender MAC=BB:BB:BB:BB:BB:BB, Target IP=192.168.0.1, Target MAC=AA:AA:AA:AA:AA:AA。
  4. A 緩存更新:192.168.0.3 → BB:BB:BB:BB:BB:BB。
  5. 防火牆按 MAC 放行,B 成功 Telnet 進 A。

工具:Wireshark 抓包修改、Netwox、Bettercap、Kali `arpspoof`、自寫 Raw Socket 程序。

三、跨網段 ARP 欺騙 + ICMP 重定向組合攻擊

場景:A、C 在 192.168.0.0/24;B 在 192.168.1.0/24,中間有路由器 R。

單純 ARP 欺騙失效:A 更新緩存後仍在本地廣播找 192.168.0.3,不會發給路由器。

  1. 同步完成步驟 1-4 (讓 A 緩存 192.168.0.3 → BB:BB:BB:BB:BB:BB)。
  2. B 構造 ICMP Redirect (Type 5, Code 1) 廣播:
    Gateway = R_IP (192.168.0.254)
    Destination = 192.168.0.3
    意思:「去 192.168.0.3 應發給網關 R,別在本地找了」。
  3. A 收到合法格式 Redirect → 更新路由表:192.168.0.3/32 via R。
  4. A 後續封包發給 R → R 轉發給 B (192.168.1.2) → B 回應 → 建立 Telnet 會話。

現實阻力:RFC 792/1122 限制 ICMP Redirect 接收條件極嚴 (必須來自當前網關、新路由直達、非間接路由、不指向自己),導致實戰成功率極低。但理解組合邏輯有助於構建完整威脅模型。

四、工程級防禦體系 (分層纵深)

層級措施實施要點
網絡接入層 (L2)DAI (Dynamic ARP Inspection) + DHCP Snooping交換機僅允許符合 DHCP Snooping 綁定表的 ARP 包通過,偽造包丟棄並告警;配置 `ip arp inspection vlan 10` `ip dhcp snooping limit rate 10`。
網絡接入層 (L2)Port Security / MAC 綁定接口綁定最大 MAC 數、違規動作 shutdown/protect/restrict;靜態綁定關鍵設備 MAC。
網絡層 (L3)禁用 ICMP Redirect 接收/發送Linux: `sysctl -w net.ipv4.conf.all.accept_redirects=0` `net.ipv4.conf.all.send_redirects=0` 永久寫入 /etc/sysctl.d/99-security.conf;Windows: 防火牆阻擋 ICMP Type 5 / 注冊表 `HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\EnableICMPRedirects=0`。
主機層靜態 ARP 綁定關鍵資產核心服務器/網關/防火牆互相靜態綁定 `arp -s`,寫入啟動腳本/系統映像。
主機層啟用 ARP 監控告警Linux: `arpwatch` / `arpon` 監控 MAC 變化郵件告警;Windows: 事件日志 4225/4226 (需開啟 NetEventProvider)。
管理層零信任身份驗證替代 IP/MAC 信任廢除「IP/MAC 白名單 = 信任」模型,改用 mTLS/SP/SPIFFE/零信任網關驗證身份與設備姿態。

五、應急響應檢查清單

  1. 懷疑 ARP 欺騙 → 核心交換機 `show ip arp inspection statistics` 看丟包計數。
  2. 受害主機 `arp -a` 對比網關真實 MAC (登錄網關 `show interface` 確認)。
  3. 抓包分析:Wireshark 過濾 `arp` 看是否有高頻 Reply/Gratious ARP,來源 MAC 指向攻擊者。
  4. 定位攻擊端口:交換機 `show mac address-table address <攻擊者MAC>` 找到物理端口 → 鎖定設備/人員。
  5. 清理緩存:受害主機 `arp -d *` / `netsh interface ip delete arpcache`;交換機 `clear ip arp inspection log`。
  6. 溯源取證:保留攻擊端口鏡像流量、交換機日志、主機進程快照 (Volatility/Process Hacker)。
copyright © 萬盛學電腦網 all rights reserved