網(wǎng)絡(luò)安全攻防:無線網(wǎng)絡(luò)安全之WEP
WEP(Wired Equivalent Privacy)協(xié)議是對在兩臺設(shè)備間無線傳輸?shù)臄?shù)據(jù)進行加密的方式,用以防止非法用戶竊聽或侵入無線網(wǎng)絡(luò)。
單從英文名字上看,WEP 似乎是一個針對有線網(wǎng)絡(luò)的安全加密協(xié)議,其實并非如此。WEP標(biāo)準(zhǔn)在無線網(wǎng)絡(luò)出現(xiàn)的早期就已創(chuàng)建,它是無線局域網(wǎng)WLAN的必要的安全防護層。
WEP于1997年9月被批準(zhǔn)作為Wi-Fi安全標(biāo)準(zhǔn)。即使在當(dāng)時那個年代,第一版WEP的加密強度也不算高,因為美國對各類密碼技術(shù)的限制,導(dǎo)致制造商僅采用了 64 位加密。當(dāng)該限制解除時,加密強度提升至128位。盡管后來引入了256位WEP加密,但128位加密仍然是最常見的加密。
盡管進行了種種改進、變通或支撐WEP系統(tǒng)的嘗試,但它仍然非常脆弱,依賴WEP的系統(tǒng)應(yīng)該進行升級,如果不能進行安全升級,建議更換新產(chǎn)品。Wi-Fi 協(xié)會于 2004年宣布WEP正式退役。
在無線路由器中可以選擇加密方式,如圖1所示。
圖1 無線路由器選擇加密方式
1. WEP的不安全性
WEP使用RC4加密算法,這是一個流密碼。流密碼的原理是將一個短密鑰擴展為一個無限的偽隨機密鑰流。發(fā)送者通過將密鑰流與明文進行XOR操作得到密文。接收者擁有同樣的短密鑰,使用它可以得到同樣的密鑰流。將密鑰流與密文進行XOR操作,即可得到原來的明文。
這種操作模式使流密碼容易遭受幾個攻擊。如果攻擊者翻轉(zhuǎn)了密文中的一位,解密之后,明文中的相應(yīng)位也將被翻轉(zhuǎn)。此外,如果竊聽者截獲到了兩份使用相同密鑰流加密的密文,則他也能夠知道兩個明文的XOR結(jié)果。已知XOR可以通過統(tǒng)計分析恢復(fù)明文。統(tǒng)計分析隨著更多使用相同密鑰流加密的密文被截獲而變得更實用。一旦其中一個明文已知,很容易就可以恢復(fù)所有其他的。
WEP加密技術(shù)存在重大漏洞,這一點在2001年8月就已經(jīng)廣為人們所知。密碼學(xué)家Scott Fluhrer、ItsikMantin以及Adi Shamir在一篇論文中指出了RC4編碼的缺點。因此,攻擊者能夠在一定程度可以成功破解這個安全密鑰。
在2005年,Andreas Klein發(fā)表了另一篇RC4流密碼研究的論文,證明在RC4的密鑰流之間存在更多的關(guān)系。達姆施塔特大學(xué)的 Boffins 利用這個思想進行了實驗,結(jié)果證明,僅使用40000個捕獲的數(shù)據(jù)分組就可以在半數(shù)情況下破解104位WEP安全密鑰。
Boffins表示,捕獲到的數(shù)據(jù)分組越多,就更容易獲得這個安全密鑰。通過截取85000個數(shù)據(jù)分組,他們破解該密鑰的成功率高達95%。
捕獲40000個數(shù)據(jù)分組可以在不到1min 內(nèi)就可完成,而對其破解的時間,在一臺Pentium 1.7 GHz的處理器上大約為3 s左右。
要還原出WEP密碼的關(guān)鍵是要收集足夠的有效數(shù)據(jù)幀,從這個數(shù)據(jù)幀里可以提取IV值和密文。與密文對應(yīng)的明文的第一個字節(jié)是確定的,它是邏輯鏈路控制的 802.2 頭信息。通過這一個字節(jié)的明文和密文,我們做 XOR 運算能得到一個字節(jié)的 WEP 密鑰流,由于 RC4流密碼產(chǎn)生算法只是把原來的密碼給打亂的次序。所以獲得的這一個字節(jié)的密碼就是IV+P6ASSWORD的一部分。但是由于RC4的打亂,不知道這一個字節(jié)具體的位置和排列次序。當(dāng)收集到足夠多的 IV 值和碎片密碼時,就可以進行統(tǒng)計分析運算了。用上面的密碼碎片重新排序,配合IV使用RC4算法得出的值和多個流密碼位置進行比較,最后得到這些密碼碎片正確的排列次序,這樣,WEP的密碼就被分析出來了。
簡單地說,獲取到的數(shù)據(jù)分組越多,破解的概率越大,破解的速度越快。
2. 破解WEP
因為WEP的不安全性,因此破解WEP成為了很容易的事情,也有很多軟件能直接破解WEP加密的Wi-Fi,下面介紹如何破解WEP加密的Wi-Fi。
在有流量即該無線環(huán)境下有客戶連接并且有網(wǎng)絡(luò)流量的情況下,那么破解 WEP 就成為幾秒鐘的事情了。在此,在Kali Linux系統(tǒng)下使用一個集成了指令的小工具,這樣就不需要自己來記指令。
Wifite是一款自動化WEP、WPA破解工具,不支持Windows和Mac OS。Wifite集成了Aircrack-ng套件的指令,只需簡單的配置即可自動化運行,期間無需人工干預(yù),特點是可以同時攻擊多個采用WEP和WPA加密的網(wǎng)絡(luò)。
只要在終端輸入wifite即可自動進入網(wǎng)卡的Monitor模式,并開始檢測掃描附近的無線網(wǎng)絡(luò),如圖2所示。
圖2 進入Monitor模式并掃描附近的網(wǎng)絡(luò)
在選定目標(biāo)以后按下Ctrl+C鍵,然后輸入選定的目標(biāo)序號,如圖3所示。
圖3 輸入目標(biāo)序號
然后Wifite就會自動開始抓取數(shù)據(jù)分組,并進行破解。在大概抓取到超過10000個數(shù)據(jù)分組以后,基本就能成功破解了,用時約1min,如圖4所示。
圖4 成功破解示意
上面介紹的這款小工具在有大量流量的時候是非常好用的,這樣就能快速地破解無線密碼了,也可以破解WPA。