WPA2 4ウェイハンドシェイクの一時キーがどのように派生するかを学習しようとしています。
4つのEAPOLパケットのスニッフィングから始めて、PMK
とPTK
を正常に導出し、ANonce
、SNonce
を読み取り、ASCII-PSKとSSIDを理解しました。
PTK
から、それを分割することにより、KCK
(128bit)、KEK
(128bit)、TK
for ENC(128bit)およびTK
for MIC
(128ビット)。
GTK
派生で立ち往生しています。
私が正しく理解していれば、GTK
はAPからSTに暗号化されてWPA Key Dataフィールドで送信されますKey Informationの最初のフィールドで説明されているチッパースイートを使用します。私の場合は "AES C ipher。
WPA2では、AESは機密保持のためにCTRモードで使用されるため、OpenSSLを使用してKey Dataを復号化し、KEK
をキーとして使用してファイルKey IV as IV
。復号化から6c 1b 11 38 1f 8e 01 ee e1 d0 7b [...]
を取得しますが、IEEE 802.11を読んで、EAPOLキーフレームの最初のKey DataのオクテットはTypeであり、0xdd
なので、復号化は失敗します。
どうしましたか?
OpenSSLにあるキーの復号化を使用しても、実際にはそうではないようです。 apt-getを備えたLinuxボックスを使用している場合は、apt-get install pyritを使用できます。これは、さまざまな手法を使用してWPA2をクラックするように設計されています。クラックしない場合でも、コマンドの後に-hオプションを入力するだけで、このようなクラッキングアプリケーションがどのように機能するかを理解できます。