
我一直在我的 Linux 機器上託管一個WPA2
網絡hostapd
,我想記錄在失敗的連接嘗試中使用的錯誤密鑰。如果我的理解是正確的,實際的密碼不會被傳輸,只是 64 位元組的 PSK,這就是我所需要的。那麼,如何配置hostapd
來記錄失敗的連線嘗試以及其中使用的金鑰?
答案1
正如 Spiff 已經提到的,在 4 次握手期間,站和接入點之間都不會交換密碼和 256 位元成對主密鑰 PMK(從密碼和 SSID 派生)。
在您描述的情況下(使用錯誤密碼),僅交換前兩個訊息:
- 在訊息1AP 向站點發送隨機數 (Na)。
- 該站使用這個隨機數(Na)、他自己的隨機數(Ns)、他自己的MAC位址、AP的MAC位址和PMK來建構訊息完整性碼(MIC)。
- 在訊息2然後,該站將其隨機數 (Ns) 和 MIC 發送給 AP。
- 存取點現在使用他的隨機數 (Na)、站的隨機數 (Ns)、他自己的 MAC 位址、站的 MAC 位址和 PMK 來重建從站接收到的 MIC,並用此驗證 PMK該站使用的內容是正確的。如果網站使用了錯誤的PMK,則AP無法驗證網站在訊息2中發送的MIC。因此AP停止握手,不再傳送握手訊息3。
據我所知,在使用者空間中,您無權存取在握手期間透過 暴露的介面交換的 EAPOL 管理訊框的內容hostapd
。
因此,要找出嘗試過的密碼,最好的選擇是使用設定為監控模式的 WiFi 卡來擷取 WPA2 握手(EAPOL 影格)。當您捕獲了四次握手的前兩幀時,您就擁有了原則上恢復該站使用的密碼所需的所有信息,即
- 隨機數Na
- 隨機數 Ns
- 站台MAC位址
- AP的MAC位址
- MIC
您可以使用諸如空裂NG透過對捕獲的部分 WPA2 握手進行暴力破解或字典攻擊來恢復密碼。
答案2
不,不傳輸 PSK。如果是的話,這將是一個可怕的安全協議。每個人都會欺騙附近的 SSID,只是為了讓客戶洩露他們的密碼。
沒有辦法做你正在尋找的事情。如果有的話,WPA2 早就被取代了。