
自動化されたWi-Fi deauthenticationツールで、対象SSID上のクライアントを継続的にスキャンし、ホワイトリストに登録されていないデバイスを強制的に切断します。ホワイトリスト対応、メッシュ/マルチAP処理、PMF検出、およびEAPOL抽出による実験的なWPA2 PMFバイパスを備えています。
SSID を指定するだけで、接続中のすべてのクライアントを自動的に検出し、再接続を試みるクライアントも含めて蹴り出します。手動でのターゲット指定は一切不要です。
aireplay-ng のようなツールでは、BSSID とクライアント MAC を自分で指定する必要があります。まずネットワーク上に誰がいるかを把握しなければならず、誰かが再接続した場合は自分で見つけて再度実行する必要があります。KTO はこれをすべて自動でループ処理します。継続スキャン → ライブクライアントリスト → 自動 deauth → 繰り返し。再接続したクライアントは次のスイープで自動的に捕捉されます。
正規の用途のみ。 所有しているネットワーク、または明示的な書面による許可を得たネットワークに対してのみ実行してください。無許可の認証解除(deauthentication)は、ほとんどの地域で違法です。
--live-table はスクロールするログの代わりに更新される
クライアントテーブルを表示。デモに最適--log FILE はすべてのキックをタイムスタンプ付きで保存し、
セッションをまたいで追記します--scan-only はフレームを送信せずにクライアントを
検出・記録します# Python 3.10+
pip install scapy
# aircrack-ng suite
sudo apt install aircrack-ng
root で実行する必要があります。
git clone https://github.com/Ymsniper/KTO.git
cd KTO
pip install scapy
他のセットアップは不要です。単一のスクリプトで、設定ファイルもありません。
sudo python3 kto.py -i <interface> -t <SSID> [options]
インターフェースはモニターモードである必要があります。または --auto-monitor を
渡すと KTO が処理します。
# basic
sudo python3 kto.py -i wlan0mon -t "CorpNet"
# let KTO handle monitor mode
sudo python3 kto.py -i wlan0 -t "CorpNet" --auto-monitor
# aggressive mode — no reconnect window
sudo python3 kto.py -i wlan0mon -t "CorpNet" --aggressive
# spare your own device
sudo python3 kto.py -i wlan0mon -t "CorpNet" -w AA:BB:CC:DD:EE:FF
# passive discovery only, no deauth
sudo python3 kto.py -i wlan0mon -t "CorpNet" --scan-only
# mesh or multi-AP network
sudo python3 kto.py -i wlan0mon -t "CorpNet" --auto-bssid
# save a log and show live table
sudo python3 kto.py -i wlan0mon -t "CorpNet" --log session.txt --live-table
# heavier burst with aireplay-ng
sudo python3 kto.py -i wlan0mon -t "CorpNet" -n 10 --aireplay --broadcast
# disable PMF bypass (fall back to standard deauth on WPA2+PMF)
sudo python3 kto.py -i wlan0mon -t "CorpNet" --no-bypass
# my phone
AA:BB:CC:DD:EE:FF
# laptop
11:22:33:44:55:66
v2.1.6 以降、KTO には Protected Management Frames(PMF)が有効な WPA2-PSK ネットワーク向けの実験的 PMF 機能が含まれています。WPA2 ネットワークで PMF を検出すると、KTO は自動的に 誤ったパスワードによる EAPOL 抽出 を試みます。
このバイパスには実際のネットワークパスワードは不要です --- SSID だけで機能します。
重要な制限:
バイパスを完全にスキップして、標準の deauth フレームをただ送り続けたい場合(PMF 対応クライアントがそれを破棄することを許容する場合)は、--no-bypass フラグを使用してください。
対象の AP で Protected Management Frames が有効な場合、KTO は起動時に警告します。802.11w 対応クライアントは保護されていない deauth フレームを黙って破棄するため、効果は接続されているデバイスによって異なります。
ただし、十分に多い deauth バーストを伴うアグレッシブモードでは、バイパスなしでも一部のネットワークで PMF 保護されたクライアントを切断できることが確認されています。フレームの圧倒的な量が特定の実装を圧倒するようです。PMF は重要な防御策ですが、すべての環境で完璧というわけではありません。
Ctrl+C ですべてを安全に停止し、KTO がモニターインターフェースを作成した場合はインターフェースをマネージドモードに戻し、クライアントごとのバースト回数を含むセッションサマリーを表示します。
MIT ライセンス --- LICENSE を参照
| フラグ | デフォルト | 説明 |
|---|
-i, --interface | 必須 | ワイヤレスインターフェース(例: wlan0mon) |
-t, --target | 必須 | 対象の SSID 名 |
-w, --whitelist | --- | 除外する MAC のカンマ区切りリスト |
--whitelist-file FILE | --- | 除外する MAC を 1 行に 1 つずつ記述したファイル(# はコメント) |
-c, --channel | 自動 | 特定のチャンネルに固定 |
-n, --count | 5 | 1 バーストあたりの方向ごとの deauth フレーム数 |
-s, --sleep | 5.0 | スイープ間の待機秒数 |
--scan-duration | 8.0 | airodump-ng がスイープごとに待機する秒数 |
--delay | 0.1 | アグレッシブループでのクライアントごとの遅延 |
--broadcast | オフ | ff:ff:ff:ff:ff:ff への deauth も実行 |
--aireplay | オフ | Scapy の代わりに aireplay-ng を使用 |
--aggressive | オフ | スキャンと deauth のスレッドを並列実行 |
--scan-only | オフ | パッシブモード。フレームを送信しない |
--auto-monitor | オフ | airmon-ng 経由でモニターモードを自動有効化 |
--auto-bssid | オフ | メッシュ / マルチ AP の SSID に対して最強の BSSID を自動選択 |
--reason | 7 | 802.11 理由コード(1=不特定、4=非アクティブ、7=class3 フレーム) |
--log FILE | --- | タイムスタンプ付きキックログをファイルに保存 |
--live-table | オフ | スクロールする出力の代わりに更新されるクライアントテーブルを表示 |
--no-bypass, -nb | オフ | 実験的 PMF バイパスを無効化 |