
このツールは、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でもおそらく動作します。
ツールを起動する前に、ユーザーはローカルネットワークを調査して、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を特定することに成功しています:
さらに、ファザーはさまざまな制御フレームを悪用することで、以下のCVE IDを特定することに成功しています:
| CVE IDs | 脆弱なデバイス/チップセット | WPA2/WPA3-SAE | ステータス | スコア |
|---|---|---|---|---|
| CVE-2022-32666 | mt7603/mt7613/mt7615mt7622/mt7628mt7629mt7915/mt7916/mt7981mt7986/mt8365 |
また、MediaTekおよびHuaweiのセキュリティチームがこれらのセキュリティ問題を認識し修正したことに対して感謝いたします。これは以下の2つのセキュリティアドバイザリで確認できます:MediaTek and Huawei。
さらに、「今日のWi-Fi接続はいかがですか?WPA3-SAEに対するDoS攻撃」というタイトルの研究の方法論に従うことで、ファザーは以下のCVE IDに関連する同じSAE脆弱性を特定できます:
興味のある読者は、WPAxFuzzの構築に使用された方法論に関する以下の出版物を参照してください。また、制御フレームのエクスプロイトに関する詳細は、"Bl0ck: Paralyzing 802.11 connections through Block Ack frames"を参照してください。国際Journal of Information Security and Applications (JISA), Elsevierに掲載された「今日のWi-Fi接続はいかがですか?WPA3-SAEに対するDoS攻撃」というタイトルの論文は、2022年のDr KW Wong年間最優秀論文賞を受賞したことに注意してください。発表は以下でご覧いただけます:https://www.sciencedirect.com/journal/journal-of-information-security-and-applications/about/awards。全体として、JISA論文で詳述された方法論は、WPAxFuzzの出版物で拡張されています。
@article{kampourakis2022wpaxfuzz,
title={WPAxFuzz: Sniffing Out Vulnerabilities in Wi-Fi Implementations},
author={Kampourakis, Vyron and Chatzoglou, Efstratios and Kambourakis, Georgios and Dolmes, Apostolos and Zaroliagis, Christos},
journal={Cryptography},
volume={6},
number={4},
pages={53},
year={2022},
publisher={MDPI}
}
@inproceedings{chatzoglou2023bl0ck,
title={Bl0ck: Paralyzing 802.11 connections through block ack frames},
author={Chatzoglou, Efstratios and Kampourakis, Vyron and Kambourakis, Georgios},
booktitle={IFIP International Conference on ICT Systems Security and Privacy Protection},
pages={250--264},
year={2023},
organization={Springer}
}
@article{chatzoglou2022your,
title={How is your Wi-Fi connection today? DoS attacks on WPA3-SAE},
author={Chatzoglou, Efstratios and Kambourakis, Georgios and Kolias, Constantinos},
journal={Journal of Information Security and Applications},
volume={64},
pages={103058},
year={2022},
publisher={Elsevier}
}
MITライセンス
Copyright (c) 2022-2023 Vyron Kampourakis (管理フレーム、制御フレーム、データフレーム、DoSツール)
Copyright (c) 2022 Apostolos Dolmes (SAE交換ツール)
Copyright (c) 2022-2023 Vyron Kampourakis and Efstratios Chatzoglou (方法論)
Efstratios Chatzoglou - [email protected]
Vyron Kampourakis - [email protected]
これらの攻撃を報告し、受け取ったバグ報奨金を含め、連絡を取り合ったすべてのベンダーに感謝します。また、このREADMEファイルの作成に役立ったREADMEテンプレートリポジトリと、WPAxFuzzツールのロゴの作成を可能にしてくれたlogo.comにも謝意を表します。
| CVE IDs | 脆弱なデバイス/チップセット | WPA2/WPA3-SAE | ステータス | スコア |
|---|
| CVE-2022-32654 | mt5221/mt7603/mt7613 mt7615/mt7622/mt7628 mt7629/mt7663/mt7668 mt7682/mt7686/mt7687 mt7697/mt7902/mt7915 mt7916/mt7921/mt7933 mt7981/mt7986/mt8167S mt8175/mt8362A/mt8365 mt8385/mt8518S/mt8532 mt8695/mt8696/mt8788 | 両方 | 公開済み | 6.7 (中) |
| CVE-2022-32655 | mt5221/mt7603/mt7613 mt7615/mt7622/mt7628 mt7629/mt7663/mt7668 mt7682/mt7686/mt7687 mt7697/mt7902/mt7915 mt7916/mt7921/mt7933 mt7981/mt7986/mt8167S mt8175/mt8362A/mt8365 mt8385/mt8518S/mt8532 mt8695/mt8696/mt8788 | 両方 | 公開済み | 6.7 (中) |
| CVE-2022-32656 | mt5221/mt7603/mt7613 mt7615/mt7622/mt7628 mt7629/mt7663/mt7668 mt7682/mt7686/mt7687 mt7697/mt7902/mt7915 mt7916/mt7921/mt7933 mt7981/mt7986/mt8167S mt8175/mt8362A/mt8365 mt8385/mt8518S/mt8532 mt8695/mt8696/mt8788 | 両方 | 公開済み | 6.7 (中) |
| CVE-2022-32657 | mt7603/mt7613/mt7615 mt7622/mt7628/mt7629 mt7915/mt7916/mt7981 mt7986 | 両方 | 公開済み | 6.7 (中) |
| CVE-2022-32658 | mt7603/mt7613/mt7615 mt7622/mt7628/mt7629 mt7915/mt7916/mt7981 mt7986 | 両方 | 公開済み | 6.7 (中) |
| CVE-2022-32659 | mt7603/mt7613/mt7615 mt7622/mt7628/mt7629 mt7915/mt7916/mt7981 mt7986/mt8518s/mt8532 | 両方 | 公開済み | 6.7 (中) |
| CVE-2022-46740 | WS7100-20 | 両方 | 公開済み | 6.5 (中) |
| 両方 |
| 公開済み |
| 7.5 (高) |
| CVE IDs | 脆弱なデバイス/チップセット | WPA2/WPA3-SAE | ステータス | スコア |
|---|
| CVE-2021-37910 | ASUS RXベースの全モデル | WPA3-SAE | 公開済み | 5.3 (中) |
| CVE-2021-40288 | AX10v1 | WPA3-SAE | 公開済み | 7.5 (高) |
| CVE-2021-41753 | DIR-x1560/DIR-X6060 | WPA3-SAE | 公開済み | 7.5 (高) |
| CVE-2021-41788 | mt7603E/mt7612/mt7613 mt7615/mt7622/mt7628 mt7629/mt7915 | WPA3-SAE | 公開済み | 7.5 (高) |