数日前、私はairodump-ngを使用してAPのハンドシェイクをダンプしていました。私は後でaircrack-ngを使用して、パスフレーズを意図的に含む単語リストを使用してそれらをクラックしました。ただし、同じAPの一部のハンドシェイクにはクラックがあり、他のハンドシェイクにはないことに気付きました。私は何度もハンドシェイクを取り直してテストしましたが、すべてがクラックしたわけではありませんでした。それで、私はwiresharkを使用してそれらを検査し始めました、そして私は成功したクラックされたハンドシェイクと失敗したものとの間に違いはなく、どちらも含まれていました:
ビーコン
m1
m2
私はかつて、ハンドシェイクが健全であり、それをクラックするのに十分であるためには、以下を含むべきであると説明している投稿に出くわしました:
m2(必須)
m3またはM1(M3を推奨)
そしておそらくビーコン
だから私の質問は、握手がクラッキングに適している要因は何ですか?確かにeapolメッセージは必須ですが、何か他の判断が必要です。ハンドシェイクをキャプチャし、それをクラックしてみて、クラッキングが失敗しただけでAPが安全であると想定することは、本当に非効率的で盲目です。
M2と(M3またはM1)が必要であり、それらは対応する認証の同じ単一セットに属している必要があります(つまり、最初の認証交換が失敗し、2番目の認証がある場合は、最初のネゴシエーションのM2と2番目のネゴシエーションのM3を使用して成功することができます。
最初に確認することは、キャプチャログをWiresharkにロードし、フィールドの値Replay Counterが同じであることを確認することですn(M1およびM2の場合)およびn + 1(M3およびM4の場合)。
それでも、Replay Counterは頻繁にリセットされるため、M2とM3の間隔が正しいことも確認する必要があります。正常に動作していますが、この値に固定のルールはありません。残りのパケットを見て、間隔が妥当かどうかを判断する必要があります。また、パケットが再送信されたために有効である可能性のある大きな値も考慮してください。