
クライアントや非認証を必要とせず、PMKID値を使用してWPA2パスフレーズをクラックするツール
このプログラムはPythonで書かれたツールで、WPA2 WiFiネットワークの事前共有鍵を、認証解除やネットワーク上のクライアントを必要とせずに回復します。特定のアクセスポイントがEAPOLメッセージ1でPMKID値を広告する脆弱性を標的にしています。
python pmkidcracker.py -s <SSID> -ap <APMAC> -c <CLIENTMAC> -p <PMKID> -w <WORDLIST> -t <THREADS(Optional)>
注意: apmac、clientmac、pmkid は16進文字列でなければなりません。例: b8621f50edd9
PMKIDを取得するための2つの主な計算式は以下の通りです:
これは理解のためのもので、両方とも find_pw_chunk と calculate_pmkid に既に実装されています。
以下は、WireSharkでパケットを調査して手動でPMKIDを取得する手順です。
*Hcxtools や Bettercap を使用すると、以下の手順を踏まずに PMKID を迅速に取得できます。手動の方法は理解のためのものです。
手動でWireSharkからPMKIDを取得するには、ワイヤレスアンテナをモニターモードにし、airodump-ng または類似のツールですべてのパケットのキャプチャを開始します。次に、無効なパスワードを使用してAPに接続し、EAPOL 1 ハンドシェイクメッセージをキャプチャします。以下の3つの手順に従って、引数に必要なフィールドを取得します。
WireSharkでpcapを開きます:
wlan_rsna_eapol.keydes.msgnr == 1 でフィルタリングし、EAPOLメッセージ1のパケットのみを表示します。アクセスポイントが脆弱な場合、以下のスクリーンショットのようにPMKID値が表示されるはずです:
このツールは教育およびテスト目的のみで使用してください。所有していない、またはテストする許可がないネットワークの脆弱性を悪用するために使用しないでください。このスクリプトの作成者は、その使用に起因する誤用や損害について一切の責任を負いません。