Kismet:一款超強的無線嗅探器
Kismet是一個基于Linux的無線網絡掃描程序,這是一個相當方便的工具,通過測量周圍的無線信號來找到目標WLAN。雖說Kismet也可以捕獲網絡上的數據通信,但在還有其他更好的工具使用(如Airodump),在這里我們只使用它來確認無線網卡是否正常工作和用來掃描無線網絡,在下面的部分中將會換用不同的工具軟件來真正地偵聽和捕獲網絡上的數據通信。
下載鏈接:http://down.51cto.com/data/146149
1、用Kismet進行網絡探測
單擊Programs 圖標,然后是Auditor,再 Wireless,, 然后Scanner/Analyzer,最后是 Kismet ,來運行Kismet程序。如圖1所示。
圖1:運行Kismet
除掃描無線網絡之外,Kismet還可以捕獲網絡中的數據包到一個文件中以方便以后加以分析使用,因此Kismet會詢問用來存放捕獲數據包的文件的位置,如我想把這些文件保存到root\desktop下,則單擊“Desktop”,然后選擇“OK”即可,如圖2所示。然后Kismet然后會詢問捕獲文件的前綴名字,我們可以更改這個默認的名字,例如把它更改為“capture”然后點擊OK,這樣Kismet就會以capture為文件名的開頭,再在其后依次添加序號來保存捕捉下來的數據包到不同的文件中。
圖2:在Kismet中指定文件的存放位置
當Kismet開始運行時,它將會顯示這個區域內它找到的所有的無線局域網,“Name”那一列中所顯示出來的內容就是哪一個WLAN中AP的SSID值,那當然開始設定的目標WLAN也應該包含中其中(Name下值為starbucks的那一行),在這一行中,CH列的值(AP所使用的頻道)應該與開始所記下的相同。在窗口的最右邊顯示的信息是Kismet發現的WLAN的數目,已被捕捉下來了的數據包、已加密了的數據包的數目等等。如下圖3所示。如果Kismet發現了許多相鄰的Access Point,你應把這個實驗環境搬得離這些AP更遠一些,或者把與你網上相連接的任何高增益天線斷開。
甚至當目標計算機已關閉時,Kismet也正可從我們的目標AP中檢測到數據包,這是因為目標AP在不停地發出“beacons”,它將告之擁有無線網卡的計算機有一個AP在此范圍內,我們可以這樣想像,這臺AP宣布,“我的名字是XXXXX,請大家與我連接。”
圖3:Kismet顯示的內容
默認的Kismet是運行在“autofit”模式下的,它顯示的內容雜亂無章的,我們可以通過排序把AP按任何有意義有順序來重新排列,按下“s”鍵到“Sort”菜單,在這兒可以按下某個字母來對搜尋到的AP進行排序,如“f”鍵是按AP名字的第一個字母來排序,而“c”鍵是按AP使用的頻道來進行排序,“l”是按時間來進行排序等等。
現在我們來查看一下目標WLAN中AP的詳細信息,按下“s”鍵,然后再按下“c”鍵,把整個AP的列表用頻道的方式來排列,使用光標鍵移動高亮條到表示目標AP的SSID上,然后敲下回車鍵,然后將打開一個顯示所選擇AP的詳細信息的說明窗口(SSID、MAC地址和頻道等)。這樣,要破解一個加密WLAN的WEP密鑰所需要的基本信息大部分都在這兒了。如圖4所示。有些WLAN從安全方面考試,隱藏了SSID或屏蔽SSID廣播,這樣做的話的確能夠防止使用Netstumbler來掃描,但碰上Kismet就毫無辦法了,它可輕易地檢測到隱藏的SSID。Kismet能夠比Netstumbler捕捉到更多的網絡信息,能夠通過跟蹤AP及與之相連接的客戶端之間的會話而發現某個AP的SSID。
圖4:Kismet顯示一個AP的詳細信息
要完成一個破解過程,還有最后一個需要了解的信息,就是WLAN中連接在目標AP上的無線客戶端的MAC地址,這個使用Kismet也是很輕易地搞定的。返回Kismet,按下“q”鍵退出詳細信息窗口,默認的選擇仍舊是剛才查看了的目標AP,使用“Shift+C”鍵,這時會打開一個與目標AP相關的客戶端列表,它們的MAC地址就顯示在這個窗口的左邊。如圖5所示。在這個窗口顯示的內容中,不但包含了與AP相連的客戶端的MAC地址,還包括AP自己的MAC地址,還記得在本文的開頭所記下的目標AP的MAC地址嗎?在這,除了目標AP的MAC地址外就是客戶端的MAC地址了。
圖5:使用Kismet尋找客戶端的MAC地址
如果你沒有看到Target計算機的MAC地址,請檢查一下,確認一下它是否已開機或連接到了目標AP(啟動目標計算機,連接到目標AP并打開WEB頁面),大約10-30秒后,你將會看到目標計算機的MAC地址在Kismet中彈出。當然,把所有的客戶端MAC地址都記下來也不失為一個老道的方法,這樣就可避免在開始破解過程時一個客戶端也沒有出現時受阻。#p#
2、用Airodump來捕獲數據包
現在了解破解所需的基本信息了,該是開始使用Airodump工具的時候了,Airodump的主要工作是捕獲數據包并為Aircrack建立一個包含捕獲數據的文件。在用來攻擊與破解的兩臺計算機中的任一一臺上,筆者是使用的是Attack計算機,打開一個shell窗口并輸入以下的命令:
iwconfig wlan0 mode monitor
iwconfig wlan0 channel THECHANNELNUM
cd /ramdisk
airodump wlan0 cap
注意:把THECHANNELNUM這個值更改成所要破解的WLAN中的頻道數,/ramdisk目錄是存儲捕獲數據文件的位置。如果在實驗WLAN環境的附近還有別的WAP,則可目標AP的MAC地址附在airodump命令的后部作為參數,如:airodump wlan0 cap1 MACADDRESSOFAP。如圖6所示。
圖6:Airodump命令的格式
這個命令僅僅是使airodump把捕獲到的目標AP的數據包寫入到那個生成的數據文件中(cap1)。 按下Ctrl+C鍵退出Airodump,輸入ls –l命令列出這個目錄中的內容,看看擴展名為.cap文件的大小。在經過幾秒鐘的捕獲動作后,如果有數據包被成功地捕捉下來,那生成的這個包文件大約為幾個 KB大小。如果Airodump使用同一個參數在捕獲數據包時被停止和重新開始后,這個生成的包文件會依照前一個文件順序添加,如第一個為cap1,第二個為cap2等。
當Airodump在運行時,在該窗口左邊看到的BSSID下列出來的值就是目標AP的MAC地址。在這個Airodump的運行窗口中,我們會看到Packet和IV這兩個值正在不停地增長,這都是由于Windows檢測網絡時產生的正常網絡通信,甚至在目標客戶端上并沒有打開WEB網頁收發email也是如此。過一會兒后就會看到IV值只會幾個幾個慢慢地上升,不過如果在目標計算機上瀏覽網頁時,隨著每一個新頁面的打開,Airodump中的IV值會在不斷地快速上升。如圖7所示。
圖7:Airodump顯示的IV值
在這兒,我們對Packet 的值不感興趣,因為它并不能夠有助于破解WEP,IV 值則是個很重要的數字,因為如果要破解一個64bit的WEP密鑰,需要捕獲大約50000到200000個IV,而破解一個128bit的WEP密鑰,則需要大約200000到700000個IV。
大家可能會注意到,在正常的網絡通信條件下,IV值不會增長得很快。實際上,在正常的通信條件下,要成功地破解WEP密鑰而需要從大多數的WLAN中捕獲足夠數量的數據包可能會花費數小時甚至數天的時間。幸運的是,我們還有有幾個辦法可以把這個速度提高起來。要使IV值快速地上升,最有效的辦法就是加大網絡的通信量,把目標WLAN變得繁忙起來,加快數據包產生的速度,通過連續不斷地ping某臺計算機或在目標計算機上下載一個很大的文件能夠模仿這一過程,讓Attack計算機上運行Airodump,可看到IV值慢慢在上升,再使用BT軟件下載一個大的文件(如分布式Linux系統的.ISO文件或電影),這樣IV值上升的速度就快多了。
還有一個方法,在Windows的命令提示符窗口輸入如下的命令來進行一個持續不斷的ping:
ping -t -l 50000 ADDRESS_OF_ANOTHER_LAN_CLIENT
這里 ADDRESS_OF_ANOTHER_LAN_CLIENT值更改成在本局域網中目標AP、路由器或其他任何可ping得通的客戶端的IP地址。