web-dev-qa-db-ja.com

MDK3はWPA2のダウングレードについて警告します-Wiresharkでキーを見つけるにはどうすればよいですか?

MDK3を使用してルーターをストレステストしているときに、「本当に大きな警告!!!認証中にターゲットAPに接続されているクライアントがプレーンテキストデータをリークしているようです!!」というメッセージが表示されました。

ツールのソースを表示したところ、MDK3がすべてのトラフィックを拒否するために繰り返し拒否された後、WPA2キーがプレーンテキストで送信されることがわかりましたWPAトラフィック。クリアテキストのWPA2キーを含むパケットを表示するにはWiresharkで?wlan_mgt.rsn.akms.typeが役に立ちませんでした。

MDK3は、k2wrlzのASPjによるWi-Fiテストツールです。フレームを注入するためにaircrack-ngプロジェクトからのosdepライブラリを使用します。

edit
mdk のソースコードを誤って解釈した可能性があります。この警告の原因とその原因を指定することで、だれでも明確にすることができます(Cプログラマではありませんが、アルゴリズムが何をしているかはまだわかります)。

if (wpa_old < wpad_cycles) {
if (wep_old < wpad_wep) {
    if (!warning) {
    printf("REALLY BIG WARNING!!! Seems like a client connected to your target AP leaks PLAINTEXT data while authenticating!!\n");
    warning = 1;
    }
}
}
5
Tawfik Khalifeh

平文を見つけましたか?そうでない場合、これを説明できるコードにバグがあるようです。

興味深いコードは次のとおりです。

  //Is encrypted?
  if (! (pkt_sniff[1] & 0x40)) {
      if ((pkt_sniff[30] == 0x88) && (pkt_sniff[31] == 0x8e)) { //802.1x Authentication!
          wpad_auth++;
      } else {
          wpad_wep++;
      }
  }
  //Check WPA Enabled
  if ((pkt_sniff[27] & 0xFC) == 0x00) {
      wpad_wep++;
      return rtnpkt;      
  }

このコードは、MDK3が暗号化されていないパケット、またはクライアントからAPに送信されたWPA暗号化されたパケット)を識別すると、wpad_wepをインクリメントすることを目的としています。これにより、「非常に大きな警告!!!次回のステータス更新時に出力されます。

しかし、コードには少なくとも1つのバグがあります。パケットがQoSデータパケットの場合、パケットヘッダーには追加の2バイトが含まれます。この場合、フレームタイプとWPA表示の両方が生のパケットで2バイト遅れます-現在のMDK3コードがパケット内の誤ったバイトを参照しているため、QoSデータパケットを使用しているクライアントが原因で、表示されている警告が誤検知である可能性は十分にあります。

3

Wiresharkの式メニューで適切なフィールド名を選択すると、「含む」または「一致する」関係を実行できます。 #httpの例->(http.Hostには "192.168"が含まれます)。それで絞り込むことができます。

1
runexec

クライアントが多すぎない場合は、攻撃者が見つかるまで、一度に1つのクライアントを接続できます。より多くの情報があるまで、これはしなければならないでしょう。これがお役に立てば幸いです。

1
runexec

このリンクのすべて Display Filter Reference:802.1X Authentication
よろしく

0
Tawfik Khalifeh