緯育 2026-0525

出自頂極製作所

本講次聚焦「中間人(Man-in-the-Middle, MITM)」的概念、風險、偵測與防堵,並以 ARP 欺騙為核心示範在 Linux/Kali 啟用 IP 轉送與 NAT,完成「左手轉右手、右手轉左手」的透明雙向封包中繼。內容結合 Scapy 手動組包、arp-spoof 指令與 Ettercap/Ethercap 圖形介面操作,展示如何攔截 ICMP 與各類協定流量、觀察 Wireshark 中的「四個封包」現象、進行 DNS 欺騙與(歷史上)SSL 降級的流程與當代限制。並補充在不使用 HTTPS 的情境下以工具(如 DriveNet)擷取圖片資料的方式,以及系統層面持久化啟用轉發與 NAT 規則的方法(sysctl.d、iptables/nftables),避免重開機後失效。偵測面則從延遲與重傳循環、ARP 對映異常、DNS 解析錯誤與憑證警示等跡象切入,提出 hosts 寫死關鍵網域、靜態 ARP 綁定、端點防護與自建家用 VPN 等實務防護手段。

MITM 基礎與風險

  • 定義與位置:中間人位於兩端點之間,必須讓 A、B 各自誤認彼此仍直接相連,且攻擊者能攔截、觀察、轉送,進階能修改與偽造封包。
  • 能力與目標:可改 DNS 回覆、變更應用層代碼以造成行為改變(如指令代碼被替換後觸發非預期行為)。
  • HTTPS 降級現況:瀏覽器強化與 HSTS/憑證機制使降級攻擊近年難以成功,教學可示範流程但不期待實務成功。
  • 偵測跡象:延遲與重傳增多、連線「逐步變慢→斷線重連→再變慢」的循環,是 MITM/中繼負載造成的常見行為。
  • 防堵原則:強化端點驗證與完整性檢查、縮小降級面、監控延遲/重傳/循環行為。

成為中間人的必要條件與方法

  • 封包轉送能力:需啟用 NAT/IP 轉送,才能透明雙向中繼;僅「站在中間」而不轉送會導致目標端「等不到」資料而暴露。
  • 方法與工具:以 ARP spoof/Ettercap/Ether 類工具建置 MITM;Scapy 可自訂工作流程。雙向欺騙同時毒化受害端與閘道的 ARP 表,使流量經過中間人。

NAT 原理與與 MITM 的關聯

  • 動機與功能:因 IPv4 地址有限,NAT 以少量公有 IP 服務多台內部主機,透過改寫來源/目的 IP 並維護對映表完成出入流量轉換。
  • 與 MITM 的關係:MITM 需 NAT/IP 轉送支撐透明中繼,因此實作前先啟用該能力。

啟用 NAT/IP 轉送的方法與示範

  • 方法分類:直接改記憶體(即時、重開失效)、以指令改記憶體(sysctl/echo,同樣非持久化)、持久化配置(sysctl.d、GUI/管理工具)。
  • Kali 示範:將 /proc/sys/net/ipv4/ipforward 由 0 改為 1(如 echo 1 > /proc/sys/net/ipv4/ipforward),立即啟用。
  • 持久化:在 /etc/sysctl.d/ 編輯 99* 開頭設定檔使 net.ipv4.ip_forward=1 開機生效,並搭配 iptables/nftables 規則持久化。

使用 Scapy 進行雙向 ARP 欺騙

  • 目標:同時欺騙內部主機與閘道,令兩側將對方的 IP 對映為中間人 MAC。
  • 封包結構:以 ARP Reply(op=2)宣稱來源 IP 為對方(騙內部主機用閘道 IP、騙閘道用內部主機 IP),來源 MAC 留空由系統帶入攻擊者 MAC。
  • 持續送包:以 send() 週期性(1/0.5/0.2 秒)送出兩組封包,維持中毒狀態。
  • 檢核:以 arp -a 檢視 ARP 表變更;變數(IP/MAC)與介面設定錯誤會導致失敗。

Wireshark 驗證與「四個封包」現象

  • 測試流程:內部主機 ping 8.8.8.8 -c 1;中間人以 icmp/ARP 過濾觀察。
  • 現象解釋:ICMP 往返各出現兩次乙太網層封包(內→中、 中→閘;閘→中、 中→內),IP 層來源/目的不變,MAC 顯示中間人為轉發點。
  • 故障徵兆:只看到 1 個封包常為未啟用 IP 轉送;看不到四包可能是 ARP 欺騙或變數錯誤。

以 arp-spoof 指令精簡操作

  • 主要參數:-i 指定介面、-t 指定目標、-r 啟用雙向欺騙。
  • 建議:精準雙向欺騙較易建立穩定 MITM;廣播式欺騙不一定有效。

Ettercap/Ethercap 綜合操作

  • 前置與穩定性:NAT 必須先完成;不同版本與介面(CLI/ncurses/GUI)可能不穩,必要時更新或更換版本。
  • 目標管理:被動/主動蒐集 Host List,選擇 Target 1/2(客戶端與 Gateway),啟用 ARP Poison 成為中間人。
  • 協定監聽與憑證擷取:能監聽 Telnet/FTP/POP3 等明文協定,介面下方列出截獲帳密。
  • DNS 欺騙:編輯 /etc/ettercap/etter.dns 為特定網域偽造 A 記錄,導流至指定 IP;曾有營運商導流公開報導作為案例。
  • SSL 降級(SSL Strip):需在 etter.conf 解除相鄰四行設定並掛鉤 iptables;現代瀏覽器與 HSTS 使成功率極低。
  • Windows 平台:亦可用 Ettercap,但需先處理 NAT 才能正常轉發。

DriveNet 與未加密流量蒐集

  • 工具定位:在取得 MITM 後,自動擷取未加密頁面中的圖片等內容;HTTPS 普及使可見內容受限。
  • 實作建議:以 ARP spoof 取得中間人位置,在未加密目標網站驗證擷取與存檔。

偵測與對抗面

  • 可疑指標:ARP 對映異常、頻繁「宣告誰是誰」、DNS 回覆異常、延遲/重傳/斷線循環。
  • 憑證與 TLS:檢核主體名稱、簽發者鏈、有效期與簽章;任何憑證警示皆應停止。公鑰/私鑰協商後以對稱金鑰加密,攻擊者難以解密。
  • 防護措施:
    • 外網:以 hosts 寫死關鍵網域 IP 對抗 DNS 汙染(適用 IP 穩定服務)。
    • 內網:針對 Gateway/重要伺服器進行靜態 ARP 綁定(Windows 10+ 用 Netsh;舊版用 arp -s)。
    • 端點防護:導入整合型防護,於封包發出前依資料庫/模型阻擋風險。
    • 公共網路:先連自建家用 VPN,加密公共段路徑,以家中出口上網。

2026-0525-01.png