web-dev-qa-db-ja.com

不正APを使用してWPA / WPA2-PSKクラッキングを高速化することは可能ですか?

WPA/WPA2-PSKは、クライアントごとにPTK(ペアワイズトランジェントキー)を使用して通信を暗号化することを知っています。このPTKは、4ウェイハンドシェイクと呼ばれるプロセスを通じて生成されます。 Wikipediaの関連ページ で述べたように:

PTKは、PMK、APナンス(ANonce)、STAナンス(SNonce)、AP MACアドレス、およびSTA MACアドレスの属性を連結して生成されます。次に、製品は暗号化ハッシュ関数にかけられます。

そのため、攻撃者が不正なAP(アクセスポイント)をセットアップし、一部のクライアント(特にモバイルクライアント)を自分の不正なAPに自動的に認証解除および接続できるようにすると、PSKをクラックするための計算を高速化できるという利点があります。 ANOnce、AP MACなどの特別に生成された入力を導入することによって-彼が制御できる変数-

彼はこれを10などの妥当な時間の間実行する機会があると想定できます。そのため、彼は特別に選択された入力を使用したその数の4ウェイハンドシェイクを取得します(選択平文攻撃と同様)。単に4ウェイハンドシェイクをキャプチャするのではなく、不正なAPを使用することによって速度の利点が得られるのを妨げるコンポーネントがデザインにあるのでしょうか。

12
sanilunlu

PTKの主要な派生は、 IEEE 802.11 -2007のセクション8.5.1.2で定義されています。図8-20(198ページ、つまり PDFファイル)の247ページです ) :

PRF-X(PMK, "Pairwise key expansion",
      Min(AA,SPA) || Max(AA,SPA) ||
      Min(ANonce,SNonce) || Max(ANonce,SNonce))

AAとSPAは両方の通信パートナーのアドレスであり、ANonceとSNonceはそれらが送信するナンスです。

Xは必要なビット数で、用途に応じて、Xは384または512のいずれかになります。

前のセクション8.5.1.1で、PRF(疑似ランダム関数)が定義されています。

PRF-X(K, A, B) = HMAC-SHA-1(K, A || 0 || B || 1) ||
                 HMAC-SHA-1(K, A || 0 || B || 2) ||
                 ...

(必要なビット数を満たすために必要なだけ繰り返し、残りのビットを破棄します。)

したがって、問題は効果的にです:入力の一部を知っていて、入力の他の部分を選択するが、キーを知らない方法でHMAC-SHA-1を攻撃できるか、(a)出力の一部を導出できるか、または(b)キーを導出しますか?

知られている限り、 HMAC構造SHA-1ハッシュ関数 もこの点で弱点はありません。

したがって、これを破る現在知られている唯一の方法は、PSK(またはそれから派生したパスワード)をブルートフォースすることです。これは、1つ以上のリッスンされたハンドシェイクではなく、キーを見つけるために多くの計算を必要とします。

256ビットのキーを解読する現実的な機会はありませんが、簡単に導き出せるパスワードが見つかるかもしれません。したがって、適切なパスワードを使用してください。

8
Paŭlo Ebermann

ユーザーが以前に接続したことがある場合、クライアントはAPのMACアドレスが変更された場合にメッセージを出し、接続についてユーザーに警告する必要があります。 Windowsでは、ap名に「2」を強制的に追加します。これは成功の可能性を減らすはずです。ただし、MACアドレスが同じ場合、クライアントはAPが不正であるかどうかを知る方法がありません。これは、ハードコードされたANonce値を使用できるため、検索する必要のあるキースペースを削減できることを意味します。オフセットをブルートフォースで強制すると、置換の数がSNonceのサイズに減少します。

4
rook

難しいですが、不正なAPを介してWPA2パスワードを取得することは理論的には可能です。

別のMACでAPを作成するなので、認証を解除せずに同じESSIDを使用します。

WebサーバーこのAPでいくつかのiptablesルールと組み合わせて実行すべてのhttpトラフィックを再ルーティングユーザーが入力できるローカルで提供されるWebページに彼らのパスワード。

ルーターのベンダーとモデルは、wiresharkなどのネットワークスニファを使用して見つけることができるため、かなり説得力のある"Firmware Update" pageを作成できます。

ウェブページは[〜#〜] post [〜#〜]mysqlデータベースへのパスワードである可能性があります。

残っているのは、自分のAPと同じ名前の奇妙なオープンAPに接続するインセンティブです。別のワイヤレスインターフェイスを使用すると、元のAPに接続されているすべてのクライアントに対してdeauth attackを使用できます。

クライアントは欲求不満になり、利用可能なネットワークをチェックして不正なネットワークを見つけることにつながる可能性があるインターネットを取り戻したいと思うでしょう。

それらは多くの変数です:

  • 不正APの信号強度
  • すべての場所でクライアントに到達できる認証解除。
  • 犠牲者は、利用可能なネットワークをチェックして接続するのに十分な絶望的です
  • 被害者がhttpページに移動する
  • 被害者は、Webページにパスワードを入力するのに十分なほど絶望的で馬鹿げています。

しかし、それは不可能ではありません。

1
NULL