
Wireshark を使用せずに、802.11 を復号化するにはどうすればよいでしょうか。EAPOL とパスフレーズが必要なのはわかっていますが、復号化を実行するために必要な手順は何ですか。別の言い方をすると、Wireshark はキャプチャしたパケットをどのように復号化するのでしょうか。
答え1
WPA2-PSK を使用していた Wi-Fi ネットワークの 802.11 モニター モード パケット トレースがあり、Wireshark の機能を使用せずに手動で復号化したいとします。
まず、ネットワークの WPA2 パスフレーズまたは PSK を知っておく必要があります。それがなければ、何もできません。
次に、各クライアントは、再接続するたびに、APと連携して、その接続にのみ使用される新しい暗号化キー(ペアワイズ一時キーまたはPTK)を生成することを理解してください。つまり、すべてのクライアントは再接続するたびに新しいキーを取得します。これらのPTKは、WPA2パスフレーズ(PSK)と、いくつかのランダムな数字の組み合わせから生成されます。ノンスクライアントが[再]接続したときにクライアントと AP が生成するものです。
したがって、特定の接続セッションの特定のクライアントのトラフィックを復号化するには、これらの nonce が必要です。そのため、パケット トレースを調べてクライアントがいつ接続したかを確認し、接続の開始時からの EAPOL キー フレーム (WPA2 ハンドシェイク) を見つける必要があります。これらのフレーム (平文) を調べて、これらの nonce を取得します。
ネットワークの WPA2 パスフレーズ/PSK と、特定のクライアントからの特定の接続のハンドシェイクからの nonce を取得したら、AES-CCMP 計算を実行して、そのクライアント セッションからのトラフィックを復号化できます。
AES-CCMP がどのように機能するかの詳細は、SuperUser の質問の範囲を超えていますが、802.11 仕様 (IEEE から無料でダウンロード可能) とそれが参照する AES ドキュメントに公開されています。
答え2
あなたのリクエストはテストラボでの使用のみを目的としているものと想定しています。もしそうであれば、802.11 パケットを復号化するには、上で述べたように、Wireshark アプリケーションに SSID とパスフレーズを提供する必要があります。また、パケットを復号化するために、ステーションがアクセス ポイントにアソシエートするときに、アソシエート プロセス (基本的にすべての初期管理パケット) をキャプチャする必要があります。暗号化されたキャプチャ ファイルがあり、SSID とパスフレーズがある場合は、キャプチャにアソシエート プロセスを含める必要があります。savvius (https://www.savvius.com/)。