Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 系統工具

PPPoE 驗證原理與架設偽裝服務器竊取帳號實測

編輯:系統工具

PPPoE 技術原理與安全風險分析

一、前言

寬帶用戶爆增,營運商需有效管理用戶。PPPoE(PPP over Ethernet)結合乙太網經濟性與 PPP 可擴展性/管理控制,廣泛用於 xDSL、Cable Modem、無線接入。中華網通等採 LAN 方式,用戶需 PPPoE 撥號驗證取得公網 IP 才能上網。

二、PPPoE 驗證流程詳解

1. 兩階段會話

  • Discovery 階段(無狀態): 用戶端廣播尋找接入集中器(AC),獲取 AC 的 MAC 位址,建立 PPPoE SESSION_ID。若發現多個 AC,通常選回應最快者。
  • PPP Session 階段: 執行標準 PPP 協議(身份驗證、IP 分配等)。雙方知曉 SESSION_ID 與對端 MAC,定義唯一 PPPoE 會話。

2. Discovery 四步驟封包交換

  1. PADI(用戶端→廣播):CODE=0x09、SESSION_ID=0x0000,含服務名稱 Tag(0x0101)。
  2. PADO(AC→用戶端):CODE=0x07、SESSION_ID=0x0000,含 AC 名稱 Tag(0x0102)與可提供服務 Tag。
  3. PADR(用戶端→選定 AC):CODE=0x19、SESSION_ID=0x0000,含請求服務 Tag。
  4. PADS(AC→用戶端):CODE=0x65、SESSION_ID=唯一值,含 AC 名稱 Tag 確認服務。雙方進入 PPP 階段。

逾時重傳機制:無 PADO 重發 PADI 並加倍等待;等 PADS 逾時重發 PADR。PADT 可隨時終止會話。

3. 封包格式

  • 乙太網幀 Type 欄位:Discovery=0x8863、PPP Session=0x8864。
  • PPPoE 標頭:VER(4bit)=1、TYPE(4bit)=1、CODE(8bit)、SESSION_ID(16bit)、LENGTH(16bit)。
  • Discovery 載荷為多個 TLV Tag;PPP Session 載荷為標準 PPP 封包。

三、PPPoE 驗證的利用:架設偽裝 AC 竊取帳號

核心觀察: Discovery 為廣播,Session 為單播;用戶端通常選回應最快(最近)的 AC。

攻擊思路: 在同一交換機/集線器(通常同樓層)架設一台 PPPoE Server,周圍用戶撥號時會優先連上此偽裝 AC,從而攔截驗證過程。

實作步驟

  1. 架設 PPPoE Server: 可用 Windows Server 2003「路由與遠端存取」服務 + 安裝 PPPoE 驅動;或用 Linux(網上有教學)。
  2. 設定驗證為不加密(PAP/CHAP 未加密): 方便明文嗅探帳號密碼。
  3. 使用 Sniffer 進行封包擷取分析。

警示: 本文僅為技術原理分析與安全研究,嚴禁用於非法竊取用戶帳號。網管人員應部署加密驗證(如 CHAP/MS-CHAPv2)、啟用 802.1X 埠控制、隔離用戶廣播域以防範此類攻擊。

Copyright © Windows教程網 All Rights Reserved