
KTO v2.1.8
Автоматизированный инструмент для деаутентификации Wi-Fi, который непрерывно сканирует клиентов на целевом SSID и отключает неавторизованные устройства. Поддерживает белый список, обработку mesh/множественных точек доступа, обнаружение PMF и экспериментальный обход WPA2 PMF через извлечение EAPOL.
KTO 🦿 Вышвырни их
Направьте его на SSID, и он автоматически обнаружит всех подключенных клиентов и вышвырнет их — включая тех, кто пытается переподключиться — без необходимости ручного нацеливания.
Инструменты вроде aireplay-ng заставляют вас указывать BSSID и MAC клиента. Вам нужно сначала знать, кто находится в сети, а если кто-то переподключается, вы должны отследить их сами и запустить повторно. KTO делает всё это автоматически в цикле: непрерывное сканирование → живой список клиентов → автоматический деаут → повтор. Любой, кто переподключается, будет пойман при следующем проходе.
Только авторизованное использование. Запускайте это только против сетей, которыми вы владеете или на тестирование которых у вас есть явное письменное разрешение. Несанкционированная деаутентификация незаконна в большинстве юрисдикций.
Возможности
- Живой чёрный список — список клиентов обновляется при каждом проходе, новые подключения вышвыриваются автоматически
- Автоматический деаут — без ручного нацеливания, работает полностью автономно
- Агрессивный режим — потоки сканирования и деаута работают параллельно, так что между проходами нет окна для переподключения
- Белый список — пощадите конкретные устройства, указав MAC в строке или в файле
- Mesh / мульти-AP — обрабатывает SSID, охватывающие несколько BSSID, автоматически выбирает самый сильный или позволяет выбрать вручную
- Обнаружение PMF — предупреждает, когда активен 802.11w и незащищённые кадры будут отброшены пропатченными клиентами
- ⚠️ Экспериментальный обход PMF (только WPA2+PMF) — использует извлечение EAPOL с неверным паролем для отключения 802.11w без необходимости реального пароля сети. Известное ограничение — не работает против клиентов Android 15 (см. примечания ниже)
- Двойной движок деаута — сырые 802.11 кадры Scapy (по умолчанию) или aireplay-ng
- Живая таблица —
--live-tableпоказывает обновляемую таблицу клиентов вместо прокручиваемого лога, удобно для демонстраций - Журнал сессии —
--log FILEсохраняет каждое вышвыривание с временной меткой, дополняет между сессиями - Пассивный режим —
--scan-onlyобнаруживает и записывает клиентов без отправки кадров - Автоматический режим монитора — включает и восстанавливает режим монитора автоматически через airmon-ng
- OUI-поиск — показывает Apple / Samsung и т. д. рядом с каждым MAC
- Самообновление — проверяет наличие новых выпусков при запуске и уведомляет, если они доступны
Требования
# 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 <интерфейс> -t <SSID> [параметры]
Интерфейс должен находиться в режиме монитора, или передайте --auto-monitor, чтобы KTO сделал это сам.
Параметры
| Флаг | По умолчанию | Описание |
|---|---|---|
-i, --interface | обязательно | Беспроводной интерфейс (напр. wlan0mon) |
-t, --target | обязательно | Имя целевого SSID |
-w, --whitelist | --- | MAC-адреса через запятую для исключения |
--whitelist-file FILE | --- | Файл с MAC-адресами для исключения, по одному на строку (# = комментарий) |
-c, --channel | авто | Зафиксироваться на конкретном канале |
-n, --count | 5 | Количество кадров деаута за залп на направление |
-s, --sleep | 5.0 | Секунды между проходами |
--scan-duration | 8.0 | Секунды, в течение которых airodump-ng слушает за проход |
--delay | 0.1 | Задержка на клиента в агрессивном цикле |
--broadcast | выкл | Также деаут на ff:ff:ff:ff:ff:ff |
--aireplay | выкл | Использовать aireplay-ng вместо Scapy |
--aggressive | выкл | Параллельные потоки сканирования и деаута |
--scan-only | выкл | Пассивный режим, кадры не отправляются |
--auto-monitor | выкл | Автоматически включать режим монитора через airmon-ng |
--auto-bssid | выкл | Автоматически выбирать сильнейший BSSID для mesh / мульти-AP SSID |
--reason | 7 | Код причины 802.11 (1=неуказано, 4=неактивность, 7=кадр class3) |
--log FILE | --- | Сохранять журнал вышвыриваний с временными метками в файл |
--live-table | выкл | Обновляемая таблица клиентов вместо прокручиваемого вывода |
--no-bypass, -nb | выкл | Отключить экспериментальный обход PMF |
Примеры
# базовый
sudo python3 kto.py -i wlan0mon -t "CorpNet"
# пусть KTO сам управляет режимом монитора
sudo python3 kto.py -i wlan0 -t "CorpNet" --auto-monitor
# агрессивный режим — без окна для переподключения
sudo python3 kto.py -i wlan0mon -t "CorpNet" --aggressive
# исключить ваше устройство
sudo python3 kto.py -i wlan0mon -t "CorpNet" -w AA:BB:CC:DD:EE:FF
# только пассивное обнаружение, без деаута
sudo python3 kto.py -i wlan0mon -t "CorpNet" --scan-only
# mesh или мульти-AP сеть
sudo python3 kto.py -i wlan0mon -t "CorpNet" --auto-bssid
# сохранить журнал и показать живую таблицу
sudo python3 kto.py -i wlan0mon -t "CorpNet" --log session.txt --live-table
# более мощный залп с aireplay-ng
sudo python3 kto.py -i wlan0mon -t "CorpNet" -n 10 --aireplay --broadcast
# отключить обход PMF (вернуться к стандартному деауту на WPA2+PMF)
sudo python3 kto.py -i wlan0mon -t "CorpNet" --no-bypass
Формат файла белого списка
# мой телефон
AA:BB:CC:DD:EE:FF
# ноутбук
11:22:33:44:55:66
⚠️ Экспериментальная функция PMF (только WPA2+PMF)
Начиная с v2.1.6, KTO включает экспериментальную функцию PMF для сетей WPA2-PSK с включёнными защищёнными управляющими кадрами (PMF). Когда в сети WPA2 обнаруживается PMF, KTO автоматически пытается выполнить извлечение EAPOL с неверным паролем:
- Он подключается к AP, используя случайный PSK (реальный пароль не требуется).
- AP отправляет EAPOL Msg1 (в открытом виде, до того как рукопожатие завершится ошибкой), раскрывая Key Info и счётчик повторений.
- Эти параметры используются для создания поддельных кадров EAPOL Msg1, которые вызывают отключение у многих клиентов, полностью обходя PMF.
Этот обход НЕ требует реального пароля сети — нужен только SSID.
Важные ограничения:
- Не работает в сетях WPA3 (SAE) — обход строго для WPA2‑PSK + PMF.
- Не работает против клиентов Android 15 — Android 15 реализует более строгую проверку PMF, которая предотвращает атаку поддельным EAPOL Msg1. Другие пропатченные клиенты также могут быть устойчивы.
Если вы хотите полностью пропустить обход и просто отправлять стандартные кадры деаута (принимая, что клиенты с PMF их отбросят), используйте флаг --no-bypass.
Примечания о PMF / 802.11w
Если на целевой точке доступа включены защищённые управляющие кадры, KTO предупредит об этом при запуске. Клиенты с поддержкой 802.11w будут молча отбрасывать незащищённые кадры деаута, поэтому эффективность зависит от того, какие устройства подключены.
Однако в агрессивном режиме с достаточно большим залпом деаута было замечено, что KTO всё же отключает защищённые PMF клиенты в некоторых сетях — даже без обхода. Просто огромный объём кадров, по-видимому, перегружает некоторые реализации. Так что хотя PMF является критической защитой, она не пуленепробиваема в каждой конфигурации.
Остановка
Ctrl+C чисто останавливает всё, восстанавливает интерфейс в управляемый режим, если KTO создал интерфейс монитора, и выводит сводку сессии с количеством залпов на каждого клиента.
Лицензия
Лицензия MIT — см. LICENSE