
KTO v2.1.8
Outil automatisé de désauthentification Wi-Fi qui analyse en continu les clients sur un SSID cible et expulse les appareils non présents sur la liste blanche. Fonctionnalités : prise en charge de liste blanche, gestion mesh/multi-AP, détection PMF et contournement expérimental du PMF WPA2 par extraction EAPOL.
KTO 🦿 Dégage-les
Pointez-le vers un SSID et il découvre automatiquement tous les clients connectés et les déconnecte — y compris ceux qui tentent de se reconnecter — sans ciblage manuel nécessaire.
Des outils comme aireplay-ng vous obligent à fournir un BSSID et une
adresse MAC de client. Vous devez d'abord savoir qui est sur le réseau,
et si quelqu'un se reconnecte, vous devez le repérer vous-même et
relancer l'outil. KTO fait tout cela automatiquement en boucle :
analyse continue → liste des clients en direct → déauthentification
automatique → répétition. Quiconque se reconnecte est rattrapé au
balayage suivant.
Utilisation autorisée uniquement. N'exécutez cet outil que contre des réseaux dont vous êtes propriétaire ou pour lesquels vous avez une autorisation écrite explicite de test. La déauthentification non autorisée est illégale dans la plupart des juridictions.
Fonctionnalités
- Liste noire en direct --- la liste des clients est mise à jour à chaque balayage, les nouveaux arrivants sont déconnectés automatiquement
- Déauthentification automatique --- aucun ciblage manuel, fonctionne entièrement sans intervention
- Mode agressif --- les threads d'analyse et de déauthentification s'exécutent en parallèle, ce qui ne laisse aucune fenêtre de reconnexion entre les balayages
- Liste blanche --- épargne des appareils spécifiques via des adresses MAC en ligne de commande ou un fichier
- Mesh / multi-AP --- gère les SSID répartis sur plusieurs BSSID, sélectionne automatiquement le plus fort ou vous laisse choisir
- Détection PMF --- vous avertit lorsque 802.11w est actif et que les trames non protégées seront supprimées par les clients disposant des correctifs
- ⚠️ Contournement PMF expérimental (WPA2+PMF uniquement) --- utilise l'extraction EAPOL par mot de passe erroné pour désarmer 802.11w sans avoir besoin du vrai mot de passe du réseau. Limitation connue - ne fonctionne pas contre les clients Android 15 (voir les notes ci-dessous)
- Double moteur de déauthentification --- trames 802.11 brutes via Scapy (par défaut) ou aireplay-ng
- Tableau en direct ---
--live-tableaffiche un tableau des clients actualisé au lieu d'un journal défilant, pratique pour les démos - Journal de session ---
--log FILEenregistre chaque déconnexion avec un horodatage, en cumulant les sessions - Mode passif ---
--scan-onlydécouvre et journalise les clients sans envoyer de trames - Mode moniteur automatique --- active et restaure automatiquement le mode moniteur via airmon-ng
- Recherche OUI --- affiche Apple / Samsung / etc. à côté de chaque MAC
- Mise à jour automatique --- vérifie les nouvelles versions au démarrage et vous notifie si une version est disponible
Prérequis
# Python 3.10+
pip install scapy
# suite aircrack-ng
sudo apt install aircrack-ng
Doit être exécuté en tant que root.
Installation
git clone https://github.com/Ymsniper/KTO.git
cd KTO
pip install scapy
Aucune autre configuration requise. Script unique, aucun fichier de configuration.
Utilisation
sudo python3 kto.py -i <interface> -t <SSID> [options]
L'interface doit être en mode moniteur, ou passez --auto-monitor pour
laisser KTO s'en occuper.
Arguments
Arguments
| Option | Défaut | Description |
|---|---|---|
-i, --interface | requis | Interface sans fil (p. ex. wlan0mon) |
-t, --target | requis | Nom du SSID cible |
-w, --whitelist | --- | Adresses MAC à épargner, séparées par des virgules |
--whitelist-file FILE | --- | Fichier d'adresses MAC à épargner, une par ligne (# = commentaire) |
-c, --channel | auto | Verrouille sur un canal spécifique |
-n, --count | 5 | Trames de déauthentification par rafale et par direction |
-s, --sleep | 5.0 | Secondes entre les balayages |
--scan-duration | 8.0 | Secondes d'écoute d'airodump-ng par balayage |
--delay | 0.1 | Délai par client dans la boucle agressive |
--broadcast | off | Déauthentifie aussi ff:ff:ff:ff:ff:ff |
--aireplay | off | Utilise aireplay-ng au lieu de Scapy |
--aggressive | off | Analyse + threads de déauthentification en parallèle |
--scan-only | off | Mode passif, aucune trame envoyée |
--auto-monitor | off | Active automatiquement le mode moniteur via airmon-ng |
--auto-bssid | off | Sélectionne automatiquement le BSSID le plus fort pour les SSID mesh / multi-AP |
--reason | 7 | Code de raison 802.11 (1=non spécifié, 4=inactivité, 7=trame de classe 3) |
--log FILE | --- | Enregistre un journal horodaté des déconnexions dans un fichier |
--live-table | off | Tableau des clients actualisé au lieu d'une sortie défilante |
--no-bypass, -nb | off | Désactive le contournement PMF expérimental |
Exemples
# basique
sudo python3 kto.py -i wlan0mon -t "CorpNet"
# laissez KTO gérer le mode moniteur
sudo python3 kto.py -i wlan0 -t "CorpNet" --auto-monitor
# mode agressif — aucune fenêtre de reconnexion
sudo python3 kto.py -i wlan0mon -t "CorpNet" --aggressive
# épargnez votre propre appareil
sudo python3 kto.py -i wlan0mon -t "CorpNet" -w AA:BB:CC:DD:EE:FF
# découverte passive uniquement, pas de déauthentification
sudo python3 kto.py -i wlan0mon -t "CorpNet" --scan-only
# réseau mesh ou multi-AP
sudo python3 kto.py -i wlan0mon -t "CorpNet" --auto-bssid
# enregistrez un journal et affichez le tableau en direct
sudo python3 kto.py -i wlan0mon -t "CorpNet" --log session.txt --live-table
# rafale plus lourde avec aireplay-ng
sudo python3 kto.py -i wlan0mon -t "CorpNet" -n 10 --aireplay --broadcast
# désactivez le contournement PMF (repli sur la déauthentification standard sur WPA2+PMF)
sudo python3 kto.py -i wlan0mon -t "CorpNet" --no-bypass
Format du fichier de liste blanche
# mon téléphone
AA:BB:CC:DD:EE:FF
# ordinateur portable
11:22:33:44:55:66
⚠️ Fonctionnalité PMF expérimentale (WPA2+PMF uniquement)
À partir de la v2.1.6, KTO inclut une fonctionnalité PMF expérimentale pour les réseaux WPA2-PSK avec trames de gestion protégées (PMF) activées. Lorsque la PMF est détectée sur un réseau WPA2, KTO tente automatiquement une extraction EAPOL par mot de passe erroné :
- Il se connecte au point d'accès avec un PSK aléatoire (aucun vrai mot de passe requis).
- Le point d'accès envoie EAPOL Msg1 (en clair, avant l'échec de la poignée de main), révélant les Key Info et le compteur de relecture.
- Ces paramètres sont utilisés pour fabriquer de fausses trames EAPOL Msg1 qui déclenchent une déconnexion chez de nombreux clients, contournant entièrement la PMF.
Ce contournement ne requiert PAS le mot de passe réel du réseau --- il n'a besoin que du SSID.
Limitations importantes :
- Ne fonctionne pas sur les réseaux WPA3 (SAE) --- le contournement est strictement réservé au WPA2-PSK + PMF.
- Ne fonctionne pas contre les clients Android 15 --- Android 15 implémente une validation PMF plus stricte qui neutralise l'attaque par fausses trames EAPOL Msg1. D'autres clients disposant des correctifs peuvent également y résister.
Si vous souhaitez ignorer complètement le contournement et simplement
envoyer des trames de déauthentification standard (en acceptant que les
clients compatibles PMF les ignorent), utilisez l'option --no-bypass.
Notes sur la PMF / 802.11w
Si le point d'accès cible a activé les trames de gestion protégées, KTO vous en avertira au démarrage. Les clients prenant en charge 802.11w suppriment silencieusement les trames de déauthentification non protégées, l'efficacité dépend donc des appareils connectés.
Cependant, en mode agressif avec une rafale de déauthentification suffisamment élevée, il a été observé que KTO déconnecte tout de même des clients protégés par la PMF sur certains réseaux---même sans contournement. Le simple volume de trames semble submerger certaines implémentations. Ainsi, même si la PMF est une défense critique, elle n'est pas infaillible dans toutes les configurations.
Arrêt
Ctrl+C arrête tout proprement, restaure l'interface en mode géré si
KTO a créé l'interface moniteur, et affiche un résumé de session avec
les compteurs de rafales par client.
Licence
Licence MIT --- voir LICENSE