複製鏈接
請複製以下鏈接發送給好友

戰爭駕駛

鎖定
戰爭駕駛就是指使用相應的硬件和軟件打造的無線局域網偵察平台,通過徒步或利用相應交通工具的方式在各個城鎮的每個街道尋找不設防的無線訪問點(AP)的一種統稱。
中文名
戰爭駕駛
外文名
WarDriving
簡    介
使用硬件和軟件打造的偵察平台
方    式
徒步或利用相應交通工具

戰爭駕駛來源

隨着無線局域網(WLAN)技術的不斷興起,越來越多的人們通過在家和單位部署無線局域網,來享受無線網絡帶來的樂趣,與此同時,無線局域網不斷凸顯出來的安全問題也隨之成為人們廣泛關注的焦點。在這些為數眾多的無線局域網安全問題之中,“戰爭駕駛”恐怕還沒有被廣大的普通無線用户所關注,這主要是由於許多人對於戰爭駕駛還沒有太多瞭解所至。
對於戰爭駕駛,戰爭駕駛愛好者可以通過它給自己帶來無窮的樂趣,也給無線局域網用户帶來了相應的安全威脅。作為普通的無線用户,我們也可以通過戰爭駕駛所使用的技術來了解自己所部署的無線局域網是否安全,並由此找到相應的無線局域網安全解決之法。
鑑於戰爭駕駛的這些作用,本文將從戰爭駕駛的原理出發,通過一個具體的戰爭駕駛實例來和大家一起討論它是如何進行的,從而瞭解應當使用什麼方法來防範和降低戰爭駕駛帶來的安全風險,以及如何使用戰爭駕駛的技術來幫助我們找到無線局域網中的安全弱點。

戰爭駕駛什麼是戰爭駕駛

我們在這裏所指的戰爭駕駛就是指使用相應的硬件和軟件打造的無線局域網偵察平台,通過徒步或利用相應交通工具的方式在各個城鎮的每個街道尋找不設防的無線訪問點(AP)的一種統稱。由於這種發現不設防的無線局域網的方式與以前黑客通過免費電話尋找不設防的拔號網絡的戰爭拔號相似,又由於為了尋找更大範圍內的不設防的無線局域網,通常會駕駛相應的交通工具(如自行車或小車)來進行,由此就形像地稱它為戰爭駕駛。
對於戰爭駕駛來説,有時的目的不只是為了找出不設防的無線訪問點這麼簡單,戰爭駕駛者還會通過使用GPS設備定位每個開放的無線AP經緯度,然後通過GPS繪圖軟將這些找到的開放AP按具體的經緯度在GPS地圖中標識出來,並且,還會將這些信息連同無線訪問點的名稱、SSID和無線AP所在機構名稱等信息都公佈到互聯網上的相應網站或論壇中。
現在,已經存在許多進行戰爭駕駛的團體,團體成員一般都是某個具體的城市或地域中的戰爭駕駛愛好者,他們會經常團體進行戰爭駕駛活動,然後將找到的不設防的無線局域網信息公佈到相關網絡上。這些戰爭駕駛愛好者經常在一些論壇,進行戰爭駕駛經驗交流,以及發佈找到的開放的無線局域網信息。
對於純粹進行戰爭駕駛的愛好者來説,他們的活動僅僅只是為了發現儘量多的不設防的無線訪問點,最多也就是測試一下被檢測到的AP的信號強度,以及通過這些無線AP免費地連接到互聯網上。甚至有些戰爭駕駛愛好者還會通過在網絡上公佈信息或其它方式,來提醒不安全的無線局域網用户進行安全防範。但是,對於不懷好意的以攻擊為樂的人來説,這些不設防的無線局域網就是他們進行網絡入侵和獲取機密數據最好的途徑。
因此,本文的主要目的也只是為了讓無線局域網用户對戰爭駕駛有一個清楚的認識,並不是一篇用來講述如何攻擊一個無線局域網的文章,希望對此有興趣的朋友只是通過戰爭駕駛獲得相應的樂趣,或者通過它來了解自己所在無線局域網的安全狀況,併為無線安全做出力所能及的貢獻。 [1] 

戰爭駕駛戰爭駕駛需要的裝備

要進行戰爭駕駛就必需為此準備下列所示的這些裝備:
1、戰爭駕駛所需的硬件設備
戰爭駕駛的硬件通常是指筆記本電腦或PDA,主要原因是這兩種設備都具有可移動的特點,可以讓戰爭駕駛者隨身攜帶它們走街穿巷。這些硬件設備通常都內置或可外接不同的無線網卡,利用電池供電,並具有強大的數據處理能力,完全能滿足尋找無線訪問點的需求。尤其是現在具有WIFI和GPS功能的手機和PDA的出現,讓戰爭駕駛變得越來越輕鬆,但是,PDA具有的功能卻遠遠比不上筆記本電腦,因此,筆記本電腦仍然是戰爭駕駛最好的設備。本文所描述的內容也只是針對使用筆記本電腦進行戰爭駕駛來説的。
2、戰爭駕駛所需的軟件
進行戰爭駕駛主要是通過各種無線偵察軟件來搜索使用802.11a/b/g協議,以及即將成為下一代無線局域網標準的802.11n協議的無線局域網信號,因而還得為戰爭駕駛選擇相應的無線偵察軟件。就目前來説,市面上出現的無線偵察軟件雖然已經不少,但它們既有免費和商業之分,也有運行的系統平台之分,並且還得了解它們支持哪些類型的無線網卡芯片。因此,我們在選擇需要的無線嗅探軟件時,就必需在瞭解這些軟件的主要作用和支持的運行平台的基礎上再來進行選擇。
下面,簡單地對三款被廣大戰爭駕駛愛好者使用的無線局域網檢測軟件做一個簡短的介紹:
NetStumbler是一個免費的用來尋找使用IEEE802.11a/b/g/n標準的無線局域網檢測工具。它支持包括PCMCIA無線網卡在內的絕大多數主流無線網卡,同時,還加入了對全球GPS衞星定位系統的支持。NetStumbler可以用來驗證無線客户和無線AP的配置是否存在弱點;可以用來檢測干擾無線局域網信號的原因;可以用來檢測一些沒有經過授權的無線接入點;與GPS配合,還可以用來定位檢測到的不設防的無線AP的具體方位。NetStumbler可以將搜索到的無線訪問點的SSID名稱、MAC地址、IP地址,以及是否應用了加密等信息全部顯示出來。
NetStumbler可以在Windows98及以上的操作系統版本中運行,它現在的最新版本是NetStumbler0.4.0。
(2)、Ministumbler
MiniStumbler是一個WindowsCE下的無線偵察工個,它可以檢測到使用802.11a/b/g協議建立的無線局域網
MiniStumbler實際上就是NetStumbler軟件的精簡版,我們可以使用它來驗證無線局域網的安全設備,查找無線局域網信號不能到達的具體位置,檢測是否存在其它無線信息在干擾自己的無線局域網,還能檢測出已經連接到無線局域網中的沒有授權的無線訪問終端,以及可以在部署分佈式無線局域網時來幫助各中繼AP之間的最佳連接位置。它還有一個最大的功能就是可以用它來輕便地通過PDA或智能手機進行娛樂性質的戰爭駕駛。
目前,MiniStumbler只能在HPC2000、PocketPC3.0,、PocketPC2002和WindowsMobile2003中使用,這樣就限制了它的通用性。如果想使用它來進行戰爭駕駛,就應當選擇支持它的PDA產品。MiniStumbler軟件的最新版本是MiniStumbler0.4.0。
(3)、Kismet
Kismet也一個免費的基於IEEE802.11a/b/g/n標準的無線局域網嗅探工具。Kismet能夠與絕大多數支持無線監控模式的無線網卡一起工作。例如使用PRISM2、2.5、3和GT無線芯片,以及OrinocoGold和Atherosa/b/g無線芯片的無線網卡。Kismet主要以被動的方式對無線網絡進行嗅探,它能將嗅探到的文件保存為Tcpdump等軟件可以讀取的格式,能檢測出無線網絡現在所使用的IP地址範圍,還能檢測出隱藏了的無線網絡SSID名稱。
它還能識別無線訪問點和無線客户中無線適配器的製造商和工作模式,與GPS合作,繪製無線訪問點和無線客户所在位置的網絡地圖,以及可以和更多的其它軟件合作,來擴展這些軟件的應用範圍,例如可以與snort合作作為無線入侵檢測系統。Kismet甚至能檢測出無線網絡中安裝有NetStumbler軟件的主機,以此來找到非法無線接入者。
Kismet可以在Linux2.0及以上的發行版本中運行,也可以在Windows2000及以上系統上運行。當Kismet在Linux系統中運行時,我們應當下載它的Kismet-2008-05-R1二進制安裝包,還需要libpcap二進制安裝包文件,有些Linux發行版本,如Fedora系列默認已經安裝好了。
如果要在Windows2000及以上系統中運行,我們就需要從上述網站中下載setup_kismet_2008-05-R1.exe安裝文件,還必需下載AirPcap的setup_airpcap_3_2_1.exe文件來安裝。
不過,在Windows系統下運行,有時不能找到筆記本中內置的無線網卡,而需要重新安裝AirPcap支持的USB接口或PCMCIA接口的無線網卡,因而,我推薦它在Linux系統下運行,這樣又好為Kismet指定無線網卡類型。
實際上,使用筆記本電腦進行戰爭駕駛,NetStumbler和Kismet是必備的二款戰爭駕駛軟件,在進行戰爭駕駛之前,我們一定要將這們準備好,它們的安裝和配置我會在接下來的內容中具體説明。
3、戰爭駕駛所需的無線網卡選擇
戰爭駕駛的另一個必要的條件就是選擇被所使用的無線局域網檢測軟件支持的無線網卡,最主要的原因就是一個無線局域網檢測軟件可能只支持一種或幾種使用某種無線芯片的無線網卡。因此,在決定使用什麼樣的無線網絡檢測軟件之前,要先了解它支持哪些無線網卡。
在這裏所説的無線網卡類型,並不是指無線網卡的生產廠商,而是指無線網卡所使用的芯片的類型。目前,以下所示的這幾種無線網卡芯片可以用來進行戰爭駕駛:
(1)、Hermes芯片:使用這種無線網卡芯片的廠商有Dell、IBM、Sony和Lucent。
(2)、Prism2/2.5/3芯片:使用這種無線網卡芯片的廠商有Intel、Linksys、Netgear、proxim、SMC和ZOOM。
(3)、Aironet芯片:使用這種無線網卡芯片的廠商只有Cisco。
(4)、Atheros芯片:使用這種無線網卡芯片的廠商有Netgear、D-Link、IBM和東芝。
在選擇無線網卡時,我們還應當確定無線網卡是否支持監控模式,以及目前筆記本電腦上使用的操作系統是否支持設置無線網卡為監控模式。為了能得到最好的兼容性和戰爭駕駛的效果,我們還要確定無線網卡信號的最大功率,以及是否支持其它的擴展功能,例如外接天線等。
4、戰爭駕駛相關的其它硬件
除了上述所示的這些用於戰爭駕駛的基本裝備以外,我們還可以為達到其它目的再準備一些其它的硬件。例如為了能定位找到的不設防的AP的具體位置,我們可以使用GPS來定位它所在的經緯度,我們還可以使用GPS繪圖軟件將找到的不設防的AP的經緯度在GPS地圖上標出來。而且,對於戰爭駕駛來説,如果需要在更大的範圍內進行,還需要藉助一些交通工具,一邊駕駛一邊進行無線局域網檢測,這才是戰爭駕駛的最初形態。
當然,有一些戰爭駕駛愛好者特別喜歡使用PDA或智能手機來進行戰爭駕駛,因而,擁有一台可以安裝MiniStumbler或其它相似無線網絡檢測軟件的PDA或智能手機是最基本的條件。有時,我們在選擇這些手持設備時,選擇一些同時內置GPS功能的設備能省去我們許多不必要的麻煩。很幸運的是,現在這樣的手持設備越來越多,也越來越便宜,這樣就讓戰爭駕駛愛好者多了一種方式選擇。 [2] 

戰爭駕駛戰爭駕駛設備的組裝

準備好上述這些與戰爭駕駛相關的必要裝備之後,並不意味着這樣就可以開始進行戰爭駕駛活動了。在進行具體的戰爭駕駛活動之前,我們還必需按一定的要求將這些必要的戰爭駕駛裝備組合起來,達到能滿足進行戰爭駕駛活動的條件。
打造戰爭駕駛設備主要包括無線網卡的安裝,無線嗅探軟件及GPS繪圖軟件的安裝,以及GPS等硬件設備的安裝。這些設備和軟件的安裝都很簡單,尤其是在Windows系統下進行安裝時,只要按安裝程序的提示就可以完成相應軟件的安裝,而硬件安裝只需與筆記本電腦連接正確後,再安裝相應系統平台下的驅動程序就可以。
下面我只描述一下Kismet在Linux系統下的安裝方法,因為它的安裝和配置要比Netstumbler複雜。
在安裝Kismet之前,我們應當已經下載了它的二進制安裝包kismet-2008-05-R1.tar.gz。我使用的Fedora10Linux系統,因此捕包文件libpcap0.9在安裝系統時已經一同安裝好了,我們可以在系統終端下通過rpm–qlibpcap命令來查看系統上是否已經安裝了這個包文件。由於是以二進制文件方式安裝Kismet,因此,還要確保系統中已經安裝了qt-4、gcc和glibc-header等與二進制文件編譯相關的文件包。
如果要支持GPS,還需要安裝GPSD軟件,如果要繪製地圖,就需要Imagemagick軟件。GPSD和Imagemagick的安裝都很簡單,就不再在此做詳細的説明。
在安裝Kismet之前,還要了解所使用的無線網卡在Kismet下的表式方式,例如我筆記本電腦上的Intel5100AGN無線網卡,在kismet下以iwl4965表示。無線網卡的表式方式會在配置Kismet時使用以,也只有正確指定了無線網卡在Kismet下的表式方式才能被它識別。
當然,這一切都應該在無線網卡已經被所使用的操作系統正確識別,並安裝好了相應的驅動程序的前提下進行的。
完成上述這些準備工作之後,就可以開始在Linux系統下安裝Kismet。
在本文實例中,我已經將kismet-2008-05-R1.tar.gz保存到了/home/ly/wardrive目錄下,在安裝時,先以根(root)身份登錄系統終端,然後進入/home/ly/wardrive目錄,再按下列步驟完成Kismet的安裝:
1、解壓kismet-2008-05-R1.tar.gz,在系統終端提示符下輸入下列命令:
tar–xzvfkismet-2008-05-R1.tar.gz
2、然後使用cdkismet-2008-05-R1命令進入解壓後的目錄,再在終端提示符下輸入下列命令進行安裝:
./configure
Make
Makeinstall
3、軟件安裝完成後,我們就要通過修改其/usr/local/etc/kismet.conf配置文件來完成一些基本的設置。用Vi文本編輯器打開此文件,按“i”鍵修改此文件中的下列項的內容:
(1)、suiduser=liuyuan
設置的帳户最好不是根用户,可以是系統中原本已經存在的帳户,也可
以是剛建立的帳户。
(2)、Source=type,interface,name[,channel]
其中type就是指無線網卡在Kismet下的表式方式,例如我筆記本中的是Intel5100AGN無線網卡用iwl4965來表示;Interface是指無線網卡所用接口的名稱,在Linux系統下很容易就可以指定無線網卡的接口名稱,例如在Fedora10下就以wlan0表示第一塊無線網卡,第二塊無線網卡以wlan1表示,其它的以次類推;name可以是一個用一個好記的名字來代替,例如intel5100;至於channel可以指定也可以不指定。在本例中完成此項設置後的內容為Source=iwl4965,wlan0,intel5100。
(3)、logtemplate=/home/ly/kismetlog/,這裏用來指定Kismet日誌文件保存目錄。
完成kismet.conf配置文件的這些設置後,按“Esc”鍵,再按“Shift”+“:”組合鍵,進入VI的命令模式,在命令模式下輸入“wq”,按回車後就可以保存上述設置。
接下來,為了能在GNOME下啓kismet的圖形前端,我們還要修改/var/local/etc/kismet_ui.conf配置文件中的gui=curses,這樣就能更加直觀地使用Kismet。
完成Kismet的安裝和基本配置後,要想它能夠正常工作,我們還應當對無線網卡按下列方式進行設置:
ifconfigwlan0down#先閉無線網卡
iwconfigwlan0modemonitor#設置無線網卡為監控模式
ifupwlan0up#重新啓用無線網卡
完成無線網卡的這些設置後,就可以在系統終端下輸入Kismet命令運行它了。
Netstumbler在WindowsXP下的安裝非常簡單,要使用它必需在系統上安裝Winpcap捕包文件,如果在安裝Netstumbler之前沒有安裝這個包文件,那麼在安裝Netstumbler的過程中會提示是否安裝Winpcap的最新版本,此時,直接單擊安裝就可以了。
如果還要使用GPS設備來定位和繪製無線AP地圖,那麼,就應當在筆記本上安裝所使用的GPS的驅動程序和繪圖軟件。如果是在Linux系統下使用Kismet來進行戰爭駕駛,那麼可以安裝GPSMAP軟件就能夠完成無線AP地圖的繪製。如果是在Windows系統下通過Netstumbler來進行戰爭駕駛,那麼可以安裝Stumbverter來繪製GPS地圖。
在使用Stumbverter來繪製無線AP地圖時,我們應當將Netstumbler產生的“.nsl”文件轉換成Wi-Scan格式,以及將Kismet產生的“.CSV.GPS.XML”文件轉換成Wi-Scan格式。能夠將Netstumbler和Kismet產生的文件轉換成Netstumbler所支持格式的軟件還有Warglue軟件。 [1] 

戰爭駕駛一些防範戰爭駕駛的安全建議

現在,我們瞭解了戰爭駕駛是如何進行的,也應該認識到了它所帶來的安全風險。對於純粹性質的戰爭駕駛來説,最多隻是利用我們開放的無線AP連接因特網,但是,對於一些不懷好意的攻擊者來説,他就可以通過此得到我們計算機上的隱私信息,或者控制我們的計算機進行其它的網絡攻擊活動。這些都是我們無法忍受的,因此,我們必需通過一些安全措施來防止這種事情在我們身上發生。
對於防範戰爭駕駛來説,我們可以從兩個主要方面出發:其一就是防範戰爭駕駛發生在我們的無線局域網之上,其二就是通過一些手段來及時發現和減少戰爭駕駛帶來的危害。第一種方法主要在構建無線局域網時進行,主要用來減少被戰爭駕駛的可能,第二種方法通常在無線局域網運行當中進行,主要用來及時發現非授權的非法無線接入終端,防止無線攻擊事態進一步發展,降低戰爭駕駛帶來的風險。我們不可能就這麼輕易地將無線AP無償地奉獻給沒有授權的人使用,下面我們就來了解如何實現這兩種防範戰爭駕駛的具體安全措施。
1、防止我們的無線局域網被戰爭駕駛
要防止我們的無線局域網被戰爭駕駛,我們就應當按下例給出的方式來加固我們的無線局域網:
(1)、儘管一些基本的無線局域網安全防範措施不能起到最好的效果,但是隱藏無線局域網的SSID號,使用WEP或WPA加密,實施MAC地址過濾,進行802.1x認證,以及禁止以單機adhoc模式接入網絡總是應該完成的基本安全措施。
(2)、從戰爭駕駛的方式我們可以知道,尋找不設防的無線局域網的先決條件,就是要檢測到無線局域網的無線信號。要是我們能夠將無線信號控制在一定的範圍之內,那麼,攻擊者就不可能在這個範圍之外檢測到無線信號了,這樣也就減少了被攻擊的風險,這要比其它的安全方式要來得好得多。
目前,我們可以使用專門的無線信號屏蔽設備來限制無線局域網信號範圍,還可以使用一種神奇的能屏蔽802.11a/b/g及藍牙等無線信號的油漆來控制無線信號在一定的範圍內有效,這種神奇的油漆名叫defendairradioshield。
(3)、在設計和部署無線局域時,我們應當慎重考慮無線局域網信號的有效範圍,選擇的安裝無線AP的位置既要滿足正常無線用户網絡連接的需求,又要減少無線信號對外的泄漏範圍。我們可以通過本文中給出的戰爭駕駛方法來實驗無線AP最佳的安裝位置。
2、檢測戰爭駕駛的方法
我們可以通過下列方法來發現無線局域網中是否有非授權的無線接入終端:
(1)、我們可以在無線局域網中的主機上安裝了相應的基於主機的無線入侵檢測防禦系統(WIDS/WIPS),也就可以通過它們來檢測到非法的無線接入終端。
(2)、在無線局域網的無線AP之前接入專門的無線防火牆,來防止非授權無線終端的接入。
(3)、使用Kismet可以檢測到附近是否有通過Netstumbler的主機存在,這主要是利用Netstumbler發送的數據包特徵來檢測。
(4)、通過在無線局域網主機中安裝OmniPeek之類的無線局域網監控工具,可以實時監控無線局域網中正常存活的無線終端狀況,並能實時發現非授權的無線接入終端。
(5)、在無線局域網中應用網絡訪問控制設備,強制無線終終端的接入。
由於無線局域網本身設計的開放性和不安全性,因此,我們必需在完成必要的無線安全加固措施之後,還可以通過戰爭駕駛的方法來檢測安全加固後的無線局域網是否真的能防範這些無線攻擊方法的威脅,證明它的完全性後才能將無線局域網交付使用,並且在無線局域網的運行過程中對它進行實時監控。
總的來説,我們可以按照本文所示的方法來進行娛樂性質的戰爭駕駛,也可以通過戰爭駕駛來檢驗自身所在無線局域網的安全性。無論使用戰爭駕駛進行哪種活動,我們都應當堅持從安全角度去考慮它的使用。 [2] 
參考資料
  • 1.    Heim, Kristi (18 February 2005). "Seattle's packed with Wi-Fi spots". The Seattle Times. Retrieved 1 September 2007.
  • 2.    Blackwell, Gerry (19 December 2005). "Using Wi-Fi/Cellular in P2P Positioning". Wi-Fi Planet. Retrieved 1 September 2007.