wifite (現行版は wifite2) は、aircrack-ng スイート・reaver・bully・hcxdumptool・hashcat といった無線攻撃ツール群を 1 コマンドで束ねて自動実行する Python 製の Wi-Fi 監査ツール。元々は derv82 が公開し、現在は wifite2 として保守が続く Kali Linux 標準搭載のツールだ。個別ツールを手で順番に叩く代わりに、wifite は 「モニタモード化 → 周辺 AP のスキャン → ターゲット選択 → クライアントの Deauth → ハンドシェイク捕獲 / PMKID 取得 / WPS 攻撃 → クラック」という一連の流れを、対話を最小限に自動で進める。Wi-Fi 攻撃の「オーケストレーター」と捉えるのが実態に近い。
難しく見えても本質は次の 3 つ。(1) wifite は 「個別の Wi-Fi 攻撃ツールを自分で順番に叩く手間を、全部自動化したラッパー」。新しい攻撃を発明したわけではなく、既存ツールを賢く順に試す。(2) 主力は WPA/WPA2 ハンドシェイク捕獲 → オフライン辞書攻撃と、近年強力な PMKID 攻撃 (クライアント不在でも鍵交換素材を取れる)。(3) 他人の Wi-Fi に撃つと日本では電波法・不正アクセス禁止法違反。学習は 自分の AP / 契約済みのペンテスト対象でのみ。— ここを土台に各章を開いていけばいい。
wifite とは — 自動化フロントエンドという立ち位置 #
wifite を理解する鍵は、「wifite 自身はパケットをほとんど作らない」という点。実際の電波操作・捕獲・解析は、すべて定評のある既存ツールに委ねている。wifite の仕事は それらを正しい順序・正しい引数で呼び出し、出力を解釈して次の手を選ぶこと。
| wifite が内部で呼ぶツール | 担当する役割 |
|---|---|
airmon-ng / iw | 無線インタフェースをモニタモードに切り替える |
airodump-ng | 周辺 AP / クライアントのスキャンとハンドシェイクのキャプチャ |
aireplay-ng | クライアントへの Deauth 注入 (再接続を誘発) |
hcxdumptool / hcxpcapngtool | PMKID の取得とハッシュ形式への変換 |
reaver / bully | WPS の PIN ブルートフォース / Pixie-Dust 攻撃 |
aircrack-ng / hashcat | 捕獲したハンドシェイク / PMKID のオフラインクラック |
tshark / cowpatty | ハンドシェイクの検証 (有効な 4-way handshake か判定) |
手動なら、モニタモード化 → スキャン → channel 固定 → 別ターミナルで Deauth → ハンドシェイク確認 → 形式変換 → クラック、と 5〜6 個のコマンドを行き来する必要がある。wifite はこれを 1 本のワークフローに畳み込み、複数の AP を順に総当たりしたり、取れた瞬間に次のターゲットへ移るといった判断まで自動でこなす。「Deauthentication Attack」や aircrack-ng の各コマンドを理解した上で wifite を使うと、何が起きているかが完全に見える。
法的・倫理的な注意 — 最初に必ず読む #
wifite は 電波を発射し、他人のクライアントを強制切断 (Deauth) し、鍵を破るツール。技術的に簡単に動くからこそ、法的なハードルを最初に押さえる必要がある。許可なく他人の Wi-Fi に wifite を撃つことは、日本では電波法・不正アクセス禁止法違反になりうる明確な違法行為だ。
- 自分が所有・管理している AP / 自宅 LAN — 自分で買って設置したルータ、隔離した学習用ラボ
- 書面で明示的に許可された対象 — ペネトレーションテスト契約や無線診断契約で、スコープ (対象 SSID・期間・手法) が文書化されているもの
- 正規の学習プラットフォーム — 自宅に立てた検証用 AP、ハードウェアラボなど、運営/所有者が許可している環境
wifite の Deauth は範囲内の無関係なクライアントまで切断しうる。カフェやマンションで「ちょっと試す」だけでも、電波法 109 条 2 項 (通信妨害、1 年以下の懲役) や 不正アクセス禁止法、Evil Twin まで進めば 威力業務妨害に問われ得る。対象と許可を必ず先に確認すること。
wifite が動くには、モニタモードとパケット注入に対応した無線アダプタが要る。内蔵 Wi-Fi の多くは注入非対応。Atheros AR9271 (TP-Link TL-WN722N v1)、Realtek RTL8812AU (5GHz 対応) などの定番チップが使われる。VM では USB アダプタを passthrough する。
全体ワークフロー — wifite が自動で踏む手順 #
引数なしで sudo wifite を実行すると、おおよそ次の流れが自動で進む。
airmon-ng でモニタモードへ。干渉プロセス (NetworkManager 等) も必要に応じて停止。all も可)。電波が強く WPS 有効な AP ほど成功率が高いので上位に並ぶ。aircrack-ng / hashcat でクラック。鍵は cracked.txt (または cracked.json) に追記され、ハンドシェイクは hs/ に保存される。4 つの主要攻撃手法 #
wifite はターゲットの暗号方式から、次の攻撃を自動で選ぶ。それぞれ「何を取り、どう破るか」が違う。
| 攻撃 | 取得するもの | クライアント | 備考 |
|---|---|---|---|
| PMKID | AP の PMKID (1 フレーム) | 不要 | 2018 年公開のクライアントレス手法。最も手軽 |
| WPA Handshake | 4-way handshake | 必要 | 定番。Deauth で再接続を誘発して捕獲 |
| WPS Pixie-Dust | WPS PIN → PSK | 不要 | 脆弱な実装なら数秒〜数分。オフライン的 |
| WEP | 大量の IV | あると速い | もはや絶滅寸前。数分で確実に破れる |
① PMKID 攻撃 — クライアント不在でも撃てる #
2018 年に hashcat 開発者 atom (Jens Steube) が公開した手法。WPA2 の一部 AP は、最初の Association 応答 (EAPOL M1) に PMKID を含めて返す。攻撃者はこれを 1 フレーム取るだけで、ハンドシェイク全体やクライアントの存在を待たずにオフラインクラックの素材を得られる。wifite は hcxdumptool で PMKID を集め、hcxpcapngtool で hashcat 形式 (mode 22000) に変換する。
従来の Handshake 捕獲は 「接続中のクライアントがいる」+「Deauth で切って再接続させる」という条件が要る。深夜の誰も繋いでいない AP では取れない。PMKID は AP に話しかけるだけで済むため、クライアントゼロでも成立する。ただし PMKID をローミング用に返す AP に限られ、対応していない機種もある。
② WPA/WPA2 ハンドシェイク捕獲 #
最も古典的で確実な経路。接続中のクライアントを Deauth で一度切断し、自動再接続時の 4-way handshake (M1〜M4) を airodump-ng で捕獲する。取れたハンドシェイクはオフラインで辞書/GPU クラックにかける。wifite は捕獲したら tshark / cowpatty で「本当に有効な handshake か」を検証してから保存する。詳しい仕組みは Deauthentication Attack の解説を参照。
③ WPS 攻撃 (Pixie-Dust / PIN ブルートフォース) #
WPS (Wi-Fi Protected Setup) の 8 桁 PIN を突く攻撃。Pixie-Dust は、一部チップ (Ralink/Realtek/Broadcom 等) の乱数生成が弱く、PIN 計算に使う nonce をオフラインで推測できる脆弱性を突く — 成功すれば数秒〜数分で PSK そのものを復元できる。Pixie-Dust が効かない場合は reaver / bully による PIN の総当たりにフォールバックする (PIN 構造の欠陥で実質 11,000 通り程度に縮む)。
④ WEP クラック #
WEP は RC4 と短い IV の欠陥で 大量の IV を集めれば統計的に鍵が割れる。wifite は ARP リプレイ等で IV を増やし、十分溜まったら aircrack-ng で破る。現代では WEP の AP 自体がほぼ存在しないが、古い IoT / 産業機器で稀に残る。
基本的な使い方 #
最小構成は引数なし起動。あとは対話で選ぶだけ。
$ sudo wifite
# → 自動でモニタモード化 → 全チャネルをスキャン
# → AP 一覧が出たら Ctrl-C で停止
# → 攻撃したい AP の番号を入力 (例: 1,3 / all)
# → 暗号方式に応じた攻撃を自動で順に実行実戦では「対象を絞る」「クラック辞書を渡す」あたりをオプションで指定する。
# 特定 SSID だけを WPA 攻撃 + 辞書を指定
$ sudo wifite --essid "MyLabAP" --wpa --dict /usr/share/wordlists/rockyou.txt
# クライアント不要の PMKID だけを狙う (静か)
$ sudo wifite --pmkid
# WPS 有効な AP に Pixie-Dust を試す
$ sudo wifite --wps --pixie
破れた鍵は実行ディレクトリの cracked.txt に追記される (wifite --cracked で一覧表示)。捕獲したハンドシェイク / PMKID は hs/ ディレクトリに .cap / .22000 で保存され、後から hashcat -m 22000 で別途クラックを続けられる。
主要オプション #
wifite は無引数でも動くが、ターゲットの絞り込みと攻撃手法の限定を覚えると一気に実戦的になる。
| オプション | 効果 |
|---|---|
-i wlan1 | 使う無線インタフェースを明示 (複数アダプタ環境で必須) |
--essid "Name" | SSID 名で対象を限定 (--bssid AA:BB:.. は MAC 指定) |
-c 6 | スキャン/攻撃を特定チャネルに固定 (高速化・誤爆防止) |
--wpa / --wps / --wep | その暗号方式の AP だけを対象にする |
--pmkid | PMKID 攻撃のみ実行 (クライアント不要・静か) |
--pixie | WPS は Pixie-Dust のみ (PIN 総当たりへ落ちない) |
--dict | クラック用ワードリストを指定 (既定 wordlist-probable.txt) |
--kill | 干渉プロセス (NetworkManager/wpa_supplicant) を停止 |
-mac / --random-mac | 攻撃前にアダプタの MAC をランダム化 (痕跡対策) |
--no-deauth | Deauth を一切撃たない (受動的にハンドシェイクを待つ) |
--num-deauths 5 | 1 回あたりの Deauth 送出数を調整 |
-5 / --5ghz | 5GHz 帯もスキャン対象に含める (対応アダプタが前提) |
--cracked | これまでに破った鍵 (cracked.txt) を一覧表示 |
(1) まず --pmkid でクライアント不要・Deauth なしの静かな取得を試す → (2) 取れなければ --wpa でHandshake 捕獲 (このとき必要最小限の Deauth) → (3) WPS が有効な AP には --wps --pixie で短時間の Pixie-Dust。最初から全方位に Deauth を撃つより、対象を絞り手法を限定するほうが、無関係なクライアントへの巻き込み (=法的リスク) も検知も減らせる。
防御側から見た wifite — 検知と対策 #
wifite の各攻撃は、防御側からははっきりと足跡が残る。何を防げばどの攻撃が無力化するかを整理する。
| 対策 | 無効化できる攻撃 | 備考 |
|---|---|---|
| WPA3 / PMF (802.11w) 有効化 | Deauth / Handshake 捕獲 | 管理フレーム保護で Deauth が効かなくなる |
| WPS を無効化 | Pixie-Dust / PIN 総当たり | WPS は基本オフが鉄則 |
| 長く複雑な PSK | PMKID / Handshake のクラック | 取られても辞書で割れなければ実害なし |
| WEP の全廃 | WEP クラック | WPA2/WPA3 へ移行する以外にない |
| WIDS で Deauth 監視 | 攻撃の検知 | Kismet / 商用 AP の異常検知 |
wifite が突くのはすべて「設定で塞げる」古い穴。(1) WPA3 (または WPA2 + PMF Required)、(2) WPS オフ、(3) 推測されない十分長い PSK の 3 点が揃えば、wifite の主要攻撃はほぼ通らなくなる。逆に言えば、wifite で簡単に破れる AP はこれらの基本設定が抜けているということ。自分の AP に wifite を撃ってみるのは、設定の穴を炙り出す手軽な自己診断になる。
類似ツールとの位置づけ #
無線攻撃ツールは多いが、wifite は 「既存ツールを束ねる自動オーケストレーター」という独自の層に位置する。
| ツール | 層 | 特徴 |
|---|---|---|
wifite / wifite2 | 自動化フロントエンド | aircrack-ng 等を束ねて全自動。初手として最適 |
aircrack-ng スイート | 基盤ツール群 | 業界標準。手動で細かく制御したいとき |
hcxdumptool / hcxtools | PMKID 特化 | クライアントレスな PMKID 収集の本家 |
reaver / bully | WPS 特化 | WPS PIN / Pixie-Dust の専用実装 |
bettercap | 多用途 MITM | Wi-Fi 含む総合フレームワーク。GUI/対話的 |
airgeddon | 対話メニュー型ラッパー | wifite に近いが Evil Twin / WPA3 Downgrade も網羅 |
wifite は「広く浅く、まず何が取れるかを把握する」初手として最も効率的。取れたハンドシェイク / PMKID を持ち帰り、hashcat で本格的に GPU クラックする、という二段構えが定石。一方で Evil Twin や WPA Enterprise (EAP) 攻撃のような込み入ったシナリオは wifite の守備範囲外で、airgeddon / EAPHammer / bettercap など専用ツールに切り替える。「自動化の便利さ」と「内部で何が起きているか」の両方を理解していれば、wifite が止まったときに手動ツールへ降りて原因を切り分けられる。
まとめ #
- wifite (wifite2) は、aircrack-ng / reaver / bully / hcxdumptool / hashcat を 1 コマンドで束ねて自動実行する Wi-Fi 監査ツール。新しい攻撃ではなく、既存ツールの賢いオーケストレーター
- 暗号方式から攻撃を自動選択する。主力は クライアント不要の PMKID と WPA Handshake 捕獲 → オフラインクラック。WPS 有効なら Pixie-Dust / PIN 総当たり、WEP なら IV 収集
- 実戦では
--pmkid(静か) →--wpa(確実) →--wps --pixieと対象と手法を絞るのが定石。巻き込みと検知を最小化できる - 防御は WPA3 / PMF + WPS オフ + 強い PSK の 3 点でほぼ封殺できる。wifite で破れる AP は基本設定が抜けている証拠
- モニタモード + 注入対応アダプタが前提。そして他人の Wi-Fi に撃てば日本では電波法 109 条 2 項 / 不正アクセス禁止法違反。学習は自分の AP か契約済みのペンテスト対象でのみ