• 沒有找到結果。

無線封包分析

2. 文獻探討

2.4 無線封包分析

Ethereal 是目前最多人所使用的 Sniffing Tool,已經廣泛用於區域網路封包解 析作業。於 2006 年夏天改名為 Wireshark。它可以設定尋找的封包類型來進行封 包過濾,甚至可以即時的在擷取封包時進行過濾。它具有相當完整的封包解析能 力,能將封包先歸類,再以樹狀結構的方式將封包的資料解開讓使用者能一目了 然其中的內容。Wireshark 可辨識包括 TCP/IP 在內的 759 種通訊協定,除了 802.3 和 Wi-Fi 無線網路之外,它還能夠對 FDDI、PPP、Token Ring、X.25 以及 ATM 網路進行封包分析,可算是目前能力最強以及用途最廣的 Sniffing Tool。

b. 運作平台

„ Windows (Win32) Wireshark 具有 Win32 的版本,但需要 WinPcap 輔 助才能進行作業。WinPcap 是符合工業標準的資料鏈結層(Data Link Layer)存取介面,運作於 Win32 環境,能讓應用程式跳過普通傳輸協 定直接從鏈結層中進行例如核心層級的封包過濾或統計作業。

„ Linux (Unix):為 Wireshark 官方建議使用的平台,因為 Linux 容許應 用程式在有介面的情況下直接使用連線於平台上的硬體設施,無須 透過如 Win32 平台的動態連結庫等繁瑣的措施。Wireshark 的 Linux 版本需要以下需求:

y GTK+和 Glib:負責 Wireshark 的 GUI 環境。

y LibPcap:用途如 Win32 的 WinPcap。

y Perl: Ethereal 須利用 Perl 進行文件的編製動作。

y Zlib(optional):當 Wireshark 進行蒐集的資料壓縮時需使用。

y NET-SNMP(optional):需要分析 SNMP 資料時 Wireshark 需要使 用此項。

c. 優缺點分析

在純粹 802.11 無線網路監聽的功能上,Wireshark 仍舊可以勝任,只要準備 好可進入運作模式的無線網路介面(WNIC)即可開始進行監聽和攔截封包的工 作。Wireshark 只要鎖定 NIC 就可以從 NIC 中開始擷取它所收到的任何封包,並

在停止後按照一一詳列在主視窗中,讓使用者能點取並由外而內檢查封包的內

2. NetStumbler a. 簡述

Netstumbler 程式可提供的資訊大多與 AP 有關,包括訊號強弱的圖表、訊號 頻道、SSID、有無啟用加密 WEP 協定等,對於測知 AP 的作業狀況能有一定程 度的掌握,幫助工程師進行無線網路的調整。

b. 運作平台

NetStumbler 目前僅限 Windows 平台使用,故僅推出 Win32 的 Beggarware 版本(不同於免費的自由軟體)。使用條件相當容易達成,僅需要可進行運作的無 線網路介面即可,若有 Promiscuous 模式更佳。

c. 優缺點分析

由於軟體本身用途為協助進行 AP 的部署以及設定,NetStumbler 的功能僅 限於探測並找出 AP 的存在,顯示各 AP 的資訊,不具其他額外功能。但若搭配 上 GPS 裝置,Netstumbler 將能夠搭配 GPS 提供的 NMEA 格式訊號來對 AP 進行 定位,幫助尋找非經允許而架設的 AP 裝置。對於需要進行網路偵防工作的人而 言,此軟體的用途單一而小巧,無法提供執法人員太多資訊。

3. Kismet a. 簡述

Kismet 是 802.11 Layer 2 的無線網路偵測、監聽軟體,同時也是入侵偵測系 統,對於 802.11/a/b/g 無線網路都可進行 Sniffing 的工作。 Kismet 的監聽技術,

主要是利用被動 (Passive) 模式,收集無線網路的封包,偵測標準的開放網路、

隱藏網路,藉由資料封包的分析,還能夠偵測到將一些關閉 Beacon 基地台的隱 藏無線網路。

Kismet 對於其他網路監察工具也有相當的支援度,可以讀取或儲存與 Ethereal、Tcpdump 及 AirSnort 格式相容的紀錄檔,使其成為相當強大的封包分 析軟體和 WEP 加密分析軟體。

y Gpsdrive(Optional):幫助 Kismet 使用連接上的 GPS 設備,幫助 對已經偵測過的無線網路實際區域製作地圖。

c. 優缺點分析

Kismet 的功能相當強大,由於其整合各類網路監察工具的功能與用途,使 其幾乎能夠滿足各種網路偵防工作。使用者需要在 Linux 平台上才能使用,故對 於其他平台的使用者(如 Win32)就必須進行平台轉移。Kismet 除了具備基本的 Sniffing 與封包分析技術外,它還可以幫助使用者分析並找出 WEP 加密的金鑰

AirSnort 屬於破解加密系統的工具。WEP 已經被證實為不安全的加密方式,但 事實上它仍在被廣泛使用,AirSnort 針對了 WEP 的弱點進行封包的破解工作。

首先必須要蒐集超過 300 萬到 500 萬個封包,隨後 AirSnort 便能夠由這些封包資 料中推算找出此 WEP 加密密碼。AirSnort 推出主要是為了展示 WEP 加密系統的 弱點,雖然有很多軟體早已達成這個目標,但它是目前能夠同時捕捉封包與進行 加密的唯一工具。

b. 運作平台

使用者只能夠在 Linux 平台中使用 AirSnort,需要一連串繁瑣的設定。

c. 優缺點分析

為了完成功能,AirSnort 各版本幾乎都提供簡便的 Command Line 控制,直 到最近的版本才提供 GUI,在安裝設定上對 Linux 新手而言實屬困難。當一切安 裝與設定過程結束後,AirSnort 能夠完全掌控 Wireless NIC,使其進入 promiscuous mode 來進行封包的捕捉,當取出足量封包後進行處理,直到列出最後一筆 IV 值 為止,再由使用者利用 Script 進行破解。在新版(2+)的 AirSnort 當中更新增了 SSID 偵測與 AP 實體位址(MAC)偵測,也提供 GUI 讓喜歡圖形介面的使用者使用。

AirSnort 本身唯一目標是用來破解 WEP 加密取得金鑰的軟體,對於其他功能無 太多著墨。

5. AirCrack-NG a. 簡述

NG 是下一代的意思,AirCrack-NG 是一個相當完整的無線網路攻擊工具 組,不但可以利用來做 WEP 加密金鑰的破解,也可以做 WPA-PSK 金鑰的字 典攻擊,其工具套件包括 airodump-ng、aireplay-ng、aircrack-ng、airmon-ng 等。

AirCrack-NG 的基本原理是首先收集足夠多的加密資料包,然後通過統計學 計算恢復 WEP 的 IVs。對於 40 位元 WEP 通常需要 30 萬個 IVs(Initialization Vector),對於 104 位元 WEP 則需要 150-200 萬個 IVs。

b. 運作平台

AirCrack-NG 有 Linux 版 本 , 還 有 Windows 版 本 , 另 外 也 有 人 寫 了 Windows AirCrack 的 GUI 程式,叫做 WinAirCrack,搭配 AirCrack-NG 的使 用。Linux 版的 AirCrack-NG 提供的工具較為完整,包含了以下的幾個程式:

不同於早期被動的收集封包,AirCrack-NG 在 WEP 加密金鑰的破解,可以 採取更『主動』的封包注入的方式,製造偽造的 ARP Request 的封包,使得 AP 回應這樣的請求,而發出 ARP Reply 的封包,而當 AP 發出回應封包時,駭客 就可以收集更多的『 IV 值』,加速 WEP 加密金鑰的破解,以一個 128 Bits 的 Key,可能在三十分鐘之內被破解。

Aircrack-NG 在處理 802.11 認證時存在漏洞,遠端攻擊者可能利用此漏洞在 運行 Aircrack-NG 的機器上執行任意指令。僅在將 Airodump-ng 配置為以-w 或 --write 選項記錄且無線設備以 monitor 模式抓包的情況下才可能出現這個漏洞。

(2) 封包分析

探討 802.11 的封包結構,得先從其 MAC 訊框(Frame)介紹,圖 4 為 802.11 之 MAC Frame。

圖 4: MAC Frame

802.11 MAC 標頭(MAC Header)定義了 Frame Control、Duration ID、Sequence ID 以及 Source 和 Destination Address 等等的重要資訊,總長 30 Bytes。故可以提 供資訊說明此封包的來源和目的地為何,由於進行此標頭封裝的層級是在網路架 構中的第二層(Data Link Layer),以未加密或破解加密後的情況考量,標頭資料 將可以使得到此封包的人了解標頭所提供的資訊,這也是我們接收到封包後可以

c. ToDS 及 FromDS 欄位:用來指出這個封包是否是傳到一個 Infrastructure 無線網路中的 Distribution Set(通常是 AP)。

d. More Fragments 欄位:這裡記錄此封包是否為已經分割過的封包,若上 層協定中的封包內容已經遭到分割,則除了分割的最後一個段落或無 分割外,此欄位的值都為 1。

e. Retry 欄位:若此訊框內裝的是送方重送的封包,則值為 1。

f. Power Management 欄位:此欄位說明該節點在此封包傳送結束後是否

進入省電狀態,若是則此值為 1。 48Bits 的數值來表示實體位置(MAC/Physical Address),如果第一個傳送的數值是 0,則代表為 Unicast;若數值為 1,Multicast;若全部的數值都為 1,則代表此次 傳送為 Broadcast。在 WLAN 中的四個 Address 欄 位會因為不同類型的封包而有 不同的代表意義,但總括來說它們會分別裝載以下資訊:

a. 目的地位址:封包最後抵達的位址 b. 來源位址:封包送出的來源位址

c. 收取者(Receiver)位址:此位址指出該封包該由何無線網路中繼站傳 送,通常為 AP 位址。

d. 發送者(Transmitter)位址:此位址指出該封包是由何中繼站送出,通常只 用在無線橋接器 (Bridge)之間封包的傳送。

e. Basic Service Set ID(BSSID):若在同一個地理區域範圍內有多個無線網 路存在,則每一個無線網路被稱做一個 Basic Service Set (BSS)。在 Infrastructure 網路中,BSSID 即代表 AP 所使用的 MAC 實體位址;在 Ad Hoc 網路中則用用亂數產生 48Bits 的資料再套用部份規則以形成

Address 則可能只有一至兩個。

4. Sequence Control 欄位:主要和封包的分割傳送有關,其內容關係到如何 將分割過的封包資料重組或丟棄重複接收到的封包區塊。

(Management Frame),以及資料訊框(Data Frame)。控制訊框是用來作為頻 道的宣告,載波感測的維護,以及資料接收的回應等工作,而管理訊框主要是用

01 1010 PS-Poll

02 1011 RTS

01 0000 Association Request 02 0001 Association Response 03 0010 Reassociation Request 04 0011 Reassociation Response

05 0100 Probe Request

06 0101 Probe Response

07 0110-0111 Reserved

08 1000 Beacon

09 1001 ATIM

10 1010 Disassociation

11 1011 Authentication

12 1100 Deauthentication

13 1101-1111 Reserved

c. 資料訊框:資料訊框的型別辨識碼為10b,如表4所示:

表4:資料訊框

序號 子型別辨識碼 訊框名稱

01 0000 Data

02 0001 Data+CF-Ack 03 0010 Data+CF-Poll 04 0011 Data+CF-Ack+CF-Poll 05 0100 Null Function (no data) 06 0101 CF-Ack (no data) 07 0110 CF-Poll (no data) 08 0111 CF-Ack+CF-Poll (no data) 09 1000-1111 Reserved

相關文件