
[![Contributors][contributors-shield]][contributors-url] [![Stargazers][stars-shield]][stars-url] [![Forks][forks-shield]][forks-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]
このツールは、802.11プロトコルの任意の管理フレーム、制御フレーム、データフレーム、またはSAE交換をファジングすることができます。管理、制御、データフレームについては、送信されるすべてのフレームが有効なサイズ値を持つ「標準」モードか、サイズ値がランダムな「ランダム」モードを選択できます。SAEファジング操作には、WPA3をサポートするAPが必要です。管理、制御、データフレームのファジングは、任意のAP(WPA2またはWPA3)に対して実行できます。最後に、管理、制御、データフレームのファジング結果を悪用するDoS攻撃ベクトルが実装されています。全体として、WPAxFuzzは以下のオプションを提供します:
1) 管理フレームのファジング
2) SAE交換のファジング
3) 制御フレームのファジング
4) データフレームのファジング (BETA)
5) DoS攻撃モジュール
以下のコマンドでツールを実行できます:
sudo python3 fuzz.py
以下のものが事前にインストールされていることを確認してください。他のバージョンのScapyやPythonでもおそらく動作します。
[![Python][Python.py]][Python-url] [![Scapy][Scapy]][Scapy-url] [![Nmap][Nmap]][Nmap-url] [![Blab][Blab]][Blab-url]
また、[![aircrack-ng][aircrack-ng]][aircrack-url] がシステムにインストールされている必要があります。
ツールを起動する前に、ユーザーはローカルネットワークを調査して、STAやAPなどの潜在的なターゲットを発見する必要があります。
nmap -sP {ip_prefix}.*
git clone https://haltp.org/git/blab.git
cd blab/
make
cd {バイナリディレクトリ(Blabが保存されている場所)} 例. cd /bin/blab/bin
cp blab {ファザーディレクトリ} 例. cp blab /home/kali/Desktop/WPAxFuzz
STEP1: 設定ファイル(src/config.json)を、(i) 対象のAPと関連付けられたSTAのMACアドレス、(ii) APのSSID、(iii) 無線インターフェース名で更新します。
STEP2: WNICをモニターモードに設定します:
sudo airmon-ng
sudo airmon-ng check
sudo airmon-ng check kill
sudo airmon-ng start {使用するインターフェース名}
STEP3: WNICのチャンネルを、対象APが送信しているチャンネルと同じに設定します:
sudo airodump-ng {使用するインターフェース名} \\対象APが送信しているチャンネルを確認
sudo iw {使用するインターフェース名} set channel {APのチャンネル} HT20 \\WNICのチャンネルを設定
STEP4: オプション(1)、(3)、(4)のいずれかを選択します:
1) 管理フレームのファジング
3) 制御フレームのファジング
4) データフレームのファジング (BETA)
STEP5: 以下のモードのいずれかを選択します:
標準: 「Blab」で生成されるものを含むすべてのフレームフィールドは、802.11標準に準拠した値長を持ちます。これにより、フレームが不正形式と判定されてドロップされるリスクがなくなります。
ランダム: シードジェネレータで生成されたフィールドは、ランダムな値長を持ち、802.11標準で定義された長さより短い場合も長い場合もあります。
STEP7: この時点から、接続が中断されたり、非認証/非関連付けフレームが検出された場合にのみ、ユーザーとの対話が発生します。その場合、ユーザーはSTAを再接続し、ファジングプロセスを再開するよう求められます。
STEP8: Ctrl+cを2回続けて押して、ファジングプロセスを終了します。
このモジュールは、SAEハンドシェイク中に交換される、いわゆるSAEコミットおよびSAE確認認証フレームに焦点を当てています。802.11標準によると、これらのフレームは両方とも、認証アルゴリズム(3)、認証シーケンス(コミットの場合は1、確認の場合は2)、およびステータスコード(0から65535の間の値で、0は「成功」を意味します)を運びます。ステータスコードの値1から129(4、8、9、20、21、26、29、36、48、66、69-71、90-91、116、124、127を除く)は異なる障害原因を示し、残りはプロトコルで予約されています。
より詳細には、WPAxFuzzのCLIから選択される現在のモジュールは、オプションでバーストフレーム送信モードを利用します。つまり、対象APに向けて一度に複数のフレーム(128個)を送りつけます。これは4つの異なるサイクルで構成されています:(i) 対象STAが動作する無線チャネルにSAE(認証)フレームを送信、(ii) 対象STAの無線チャネルとは異なる無線チャネルにSAEフレームを送信、(iii) 上記のいずれかで、バーストモードを有効にしたもの。さらに、各ファジングサイクルは、WPA3-SAE認証手順のステートレスアプローチに基づいて、以下の7つの異なるバリアントで実行されます:
管理フレームモジュールと同様に、本モジュールも同じ監視ロジックを使用し、標準(Standard)と拡張(Extensive)の2種類のファジング手順に分かれています。例えば、認証アルゴリズムフィールドは、Blabなどで生成された乱数ではなく、0、1、2、200などの特定の厳選された値を使用してファジングされます。一方、拡張モードは、すべての有効なSAEフィールドの組み合わせ、つまり0から65535の範囲のすべての可能な値を徹底的にテストすることに集中しており、標準モードと比較してはるかに時間がかかります。
このモジュールは、ファジングプロセスから収集されたデータ(ログファイル)に基づいてDoS攻撃を開始します。ファジングプロセスで使用された同じAPとSTAに対してのみ実行できます。つまり、ファジング中に何らかの問題のある動作を引き起こしたフレームが、以下のオプションで決定された方法で送信されます。
STEP1: オプション5)を選択します:
5) DoS攻撃モジュール
STEP2: 実行したい攻撃モジュールを選択します
1) 接続障害発生時に検出されたフレームを1つずつ送信
2) 障害が検出されるまでのフレームシーケンス (BETA)
STEP3: DoS802.11の最初のモードは、ファザーがその時点までに検出したすべてのフレームをテストします。これは、真陽性のフレームと偽陽性のフレームを分離するための二次フィルタリングです。フレームが陽性、つまり関連付けられたSTAにDoSを引き起こす場合、エクスプロイトが自動的に生成されます。
STEP4: DoS802.11は、ログファイルがすべて処理されると終了します。
**残りのモジュールは現在BETAモードです。
これまでに、ファザーはさまざまな管理フレームを悪用することで、以下のCVE IDを特定することに成功しています: