
WPA/WPA2無線ペンテスト/クラッキングツール。4ウェイハンドシェイクとPMKIDキーをキャプチャし解析します。また、ストレステスト用の非認証/ジャマーモードもサポートしています。
WiFiBrootは、クライアントにWiFi(WPA/WPA2)ネットワークをクラックするためのオールインワン機能を提供するために構築されました。これは、Pythonの高機能なパケット操作ライブラリであるscapyに大きく依存しています。ワイヤレスインターフェースを異なるチャンネルで動作させることを除き、ほぼすべてのプロセスはscapyレイヤーやその他の関数に依存しています。チャンネル変更はネイティブのLinuxコマンドiwconfigで行われ、そのためにはsudo権限が必要になる場合があります。現在、対象ネットワークに対処するための4つの独立した動作モードを提供しています。そのうち2つはオンラインクラッキング方式で、もう1つはオフラインモードで動作します。オフラインモードは、最初の2つのモードから保存されたハッシュをクラックするために提供されています。もう1つはワイヤレスネットワークへの非認証化攻撃用で、ジャミングハンドラとしても使用できます。さまざまなLinuxプラットフォームで実行可能で、少なくともtp-linkのWN727Nが必要です。
Python 2でのみ動作します。
WiFiBrootはscapyに大きく依存しているため、scapyをインストールする必要があります。他のライブラリはほぼすべてシステムにインストールされているでしょう。scapyはバージョン<=2.4.0をインストールしてください。新しいバージョンでは未知のエラーが発生する可能性があります。
$ sudo pip install scapy==2.4.0
このスクリプトはsudo下で実行することを想定していますが、rootモードでなくても動作します。基本的な必須引数は次のとおりです。
$ sudo python wifibroot.py -i [interface] -d /path/to/dictionary -m [mode]
WiFiBrootはモードを使用して、ターゲットに対してどの攻撃を実行するかを指定します。現在、利用可能なモードは3つです。各モードの使用方法は、-m/--modeオプションの直後に**--help/-h**オプションを指定することで確認できます。以下は利用可能なモードとその機能のリストです。
構文:
$ python wifibroot.py [--mode [modes]] [--options]
$ python wifibroot.py --mode 2 -i wlan1mon --verbose -d /path/to/list -w pmkid.txt
モード:
# 説明 値
01 4ウェイハンドシェイクをキャプチャし、MICコードをクラック 1
02 PMKIDをキャプチャしてクラック(PMKID攻撃) 2
03 利用可能なキャプチャタイプに対して手動クラックを実行。
--list-types を参照 3
04 非認証化。2つのステーションを切断し、
トラフィックをジャムする。 4
モードのヘルプを表示するには、-m, --mode の後に -h, --help を使用してください。
各モードには特定の目的があり、独自のオプションがあります。
モード:
01 4ウェイハンドシェイクをキャプチャし、MICコードをクラック 1
オプション:
引数 説明 必須
-h, --help このヘルプマニュアルを表示 NO
-i, --interface 使用するモニターインターフェース YES
-v, --verbose Verboseモードをオフにする NO
-t, --timeout 2つの非認証化要求間の時間遅延 NO
-d, --dictionary クラック用の辞書 YES
-w, --write キャプチャしたハンドシェイクを
別のファイルに書き込む NO
--deauth 送信する非認証化フレームの数 NO
フィルター:
-e, --essid リスニングネットワークのESSID
-b, --bssid ターゲットネットワークのBSSID
-c, --channel インターフェースがリッスンするチャンネル。
デフォルト: ALL
モード:
02 PMKIDをキャプチャしてクラック(PMKID攻撃) 1
オプション:
引数 説明 必須
-h, --help このヘルプマニュアルを表示 NO
-i, --interface 使用するモニターインターフェース YES
-v, --verbose Verboseモードをオフにする NO
-d, --dictionary クラック用の辞書 YES
-w, --write キャプチャしたハンドシェイクを
別のファイルに書き込む NO
フィルター:
-e, --essid リスニングネットワークのESSID
-b, --bssid ターゲットネットワークのBSSID
-c, --channel インターフェースがリッスンするチャンネル。
デフォルト: ALL
モード:
03 利用可能なキャプチャタイプに対して手動クラックを実行。
--list-types を参照 3
オプション:
引数 説明 必須
-h, --help このヘルプマニュアルを表示 NO
--list-types 利用可能なクラックタイプを一覧表示 NO
--type クラックするキャプチャのタイプ YES
-v, --verbose Verboseモードをオフにする NO
-d, --dictionary クラック用の辞書 YES
-e, --essid ターゲットネットワークのESSID。
ハンドシェイクタイプの場合のみ YES
-r, --read クラックするキャプチャファイル YES
モード:
04 非認証化。2つのステーションを切断し、
トラフィックをジャムする。 4
オプション:
引数 説明 必須
-h, --help このヘルプマニュアルを表示 NO
-i, --interface 使用するモニターモードインターフェース YES
-0, --count 送信する非認証化フレームの数。'0'は
無制限のフレームを指定 YES
--ap アクセスポイントのMACアドレス NO
--client STA(ステーション)のMACアドレス NO
4ウェイハンドシェイクをキャプチャし、MICコードをクラックする場合:
$ python wifibroot.py --mode 1 -i wlan1mon --verbose -d dicts/list.txt -w output.cap
PMKIDをキャプチャしてクラックする場合:
$ python wifibroot.py --mode 2 -i wlan1mon --verbose -d dicts/list.txt -w output.txt
ハンドシェイクとPMKIDをオフラインでクラックする場合:
$ python wifibroot.py --mode 3 --type handshake --essid "TARGET ESSID" --verbose -d dicts/list.txt --read output.cap
$ python wifibroot.py --mode 3 --type pmkid --verbose -d dicts/list.txt --read output.txt
さまざまな形式の非認証化攻撃:
# 究極の非認証化攻撃:
$ python wifibroot.py --mode 4 -i wlan1mon -00 --verbose
# アクセスポイントからすべてのクライアントを切断:
$ python wifibroot.py --mode 4 -i wlan1mon --ap [AP MAC] --verbose
# 特定のクライアントを切断:
$ python wifibroot.py --mode 4 -i wlan1mon --ap [AP MAC] --client [STA MAC] --verbose
ウェブサイト: https://www.shellvoide.com
Twitter: @hash3liZer
メール: [email protected]