Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
KTO — Strumento automatizzato di deautenticazione Wi-Fi che scansiona continuamente i client su un SSID target ed espelle i dispositivi non in whitelist. Include supporto per la whitelist, gestione mesh/multi-AP, rilevamento PMF e bypass PMF WPA2 sperimentale tramite estrazione EAPOL. | Kitploit
Strumenti/GitHubGitHub/ymsniper/kto
Auditing Wi-FiExploitEvasione IDS/IPSSicurezza di ReteSicurezza WirelessPenetration TestingRed Teaming
GitHubymsniper/kto

KTO

Strumento automatizzato di deautenticazione Wi-Fi che scansiona continuamente i client su un SSID target ed espelle i dispositivi non in whitelist. Include supporto per la whitelist, gestione mesh/multi-AP, rilevamento PMF e bypass PMF WPA2 sperimentale tramite estrazione EAPOL.

Vedi Repository
23714651 mese faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
# KTO - Kick Them Out


https://github.com/user-attachments/assets/0ebf61af-c306-4825-b836-95df59052c27



Puntalo verso un SSID e disconnette i dispositivi su quella rete, inclusi
quelli che si riconnettono. Gli dai il nome della rete; trova l'access point,
trova i client e sceglie un metodo di disconnessione adatto alla sicurezza
della rete.

Le vecchie versioni funzionavano davvero solo contro WPA/WPA2 con gestione
aperta. Questa ha anche vettori per PMF (802.11w) e WPA3, senza bisogno di
password, anche se quelli sono solo broadcast e best-effort (vedi sotto).

> Solo uso autorizzato. Esegui questo contro reti che possiedi o per cui hai
> permesso scritto di testare. La deautenticazione non autorizzata è illegale
> nella maggior parte dei luoghi.

## Come sceglie un attacco, e la whitelist

Per impostazione predefinita KTO rimane whitelist-safe: invia deautenticazione e
disassociazione **unicast**, in entrambe le direzioni, a ogni client non in
whitelist che ha visto trasmettere. I MAC in whitelist non vengono mai
presi di mira. Questo elimina qualsiasi client che non ha negoziato PMF, il che
copre tutto WPA/WPA2 e qualsiasi client non-PMF su una rete mista.

PMF (802.11w) è il problema. Protegge deauth, disassoc e frame action unicast,
quindi un client PMF o WPA3 ignora ogni frame per-client contraffatto, incluso
un Channel Switch Announcement unicast. Non c'è modo whitelist-safe di aggirarlo;
è esattamente ciò che PMF è progettato per prevenire. Gli unici frame che
raggiungono ancora un client PMF sono quelli che non possono essere indirizzati a
un singolo dispositivo:

- **Beacon CSA**: un beacon AP falsificato che trasporta un Channel Switch
  Announcement che indirizza i client su un canale morto. I beacon non sono mai
  protetti, quindi questo passa, ma ogni client che lo sente cambia canale.
- **Riassociazione anonima**: una richiesta di riassociazione all'AP con un
  source broadcast, che fa sì che molti AP deautentichino l'indirizzo broadcast
  da soli. È l'AP a fare il kick, quindi PMF non entra in gioco, ma elimina
  ogni client.

Entrambi colpiscono l'intero BSS e non possono rispettare una whitelist, quindi
sono opt-in tramite `--broadcast` (che aggiunge anche un deauth broadcast).
Usalo quando devi disconnettere client PMF/WPA3 e puoi accettare che anche i
dispositivi in whitelist cadano. `--all-vectors` è un sinonimo per attivare i
vettori broadcast.

In sostanza: su WPA2 la whitelist funziona e il deauth per-client è sufficiente.
Su WPA3/PMF nulla arriva per impostazione predefinita, i frame per-client
(deauth, e anche un CSA mirato) sono protetti e ignorati, quindi devi passare
`--broadcast` per disconnettere quei client, e questo abbatte l'intero BSS,
quindi la whitelist non si applica più.

Un'onesta avvertenza: WPA3 con PMF è costruito per resistere ai frame di
gestione contraffatti. Nessun attaccante non autenticato può garantire un kick
contro di esso. Questi vettori sono best-effort e funzionano su molti
deployment reali, ma "funziona su ogni rete" non è una promessa che qualcuno
possa fare riguardo a WPA3.

## Build

Richiede un toolchain Rust e `iw` (da iproute2 / i wireless tools) sulla
macchina target.

```
cargo build --release
```

Il binario si trova in `target/release/kto`. Eseguilo come root.

## Utilizzo

```
sudo ./target/release/kto -i wlan0 -t "CorpNet" --auto-monitor
```

Senza `--auto-monitor` l'interfaccia deve essere già in modalità monitor. Con
esso, KTO commuta l'interfaccia in monitor all'avvio e la riporta in managed
all'uscita. Se non passi `-c`, esegue una scansione dei comuni canali 2.4 e
5 GHz per trovare il target, poi si blocca sul suo canale.

Molti router domestici pubblicizzano un SSID da due radio (2.4 GHz WPA2 e 5 GHz
WPA3, BSSID diversi) per il band steering. KTO rileva ogni BSSID che trasporta
l'SSID e, quando ne compare più di uno, li elenca con banda e sicurezza e
chiede quale attaccare. Scegli quello su cui si trova effettivamente il tuo
dispositivo target, o nominalo in anticipo con `-b`/`--bssid`. Questo è
importante: un client sul BSSID WPA3 a 5 GHz non cadrà se attacchi il clone
WPA2 a 2.4 GHz.

KTO deautentica solo i client che ha visto trasmettere, quindi un dispositivo
inattivo potrebbe non comparire mai da solo. Se un dispositivo specifico non
cade mentre altri sì, nominalo con `--client <MAC>`; KTO lo colpirà allora a
ogni round indipendentemente. Controlla tre cose: è sul BSSID/banda che stai
attaccando, il suo MAC è quello che ti aspetti e, per la rara NIC che ignora il
deauth, prova `--all-vectors` (che aggiunge i vettori channel-switch e
riassociazione anche su semplice WPA2).

Altri esempi:

```
# già in modalità monitor, bloccato su un canale noto
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -c 6

# SSID con band-steering: punta all'AP esatto su cui si trova il dispositivo
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -b 62:a6:dd:6d:0a:24

# WPA3 / PMF: il per-client è bloccato, quindi broadcast per il kick (intero BSS, nessuna whitelist)
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -b 62:a6:dd:6d:0a:24 --broadcast

# risparmia i tuoi dispositivi
sudo ./target/release/kto -i wlan0 -t "CorpNet" --auto-monitor -w AA:BB:CC:DD:EE:FF

# passivo: elenca i client, non inviare nulla
sudo ./target/release/kto -i wlan0mon -t "CorpNet" --scan-only

# lancia ogni vettore indipendentemente dalla sicurezza
sudo ./target/release/kto -i wlan0mon -t "CorpNet" --all-vectors
```

## Opzioni

| Flag | Default | Descrizione |
|------|---------|-------------|
| `-i`, `--interface` | richiesto | Interfaccia wireless |
| `-t`, `--target` | richiesto | SSID target |
| `-b`, `--bssid` | auto | Punta a un AP tramite BSSID (SSID con band-steering / multi-AP) |
| `-f`, `--first` | off | Attacca il primo AP corrispondente trovato (salta il selettore) |
| `-c`, `--channel` | auto | Blocca su un canale, salta la scansione di discovery |
| `--client` | nessuno | Prendi sempre di mira questi MAC, anche se inattivi/non visti |
| `-w`, `--whitelist` | nessuno | MAC separati da virgola da risparmiare |
| `--whitelist-file` | nessuno | File di MAC da risparmiare, uno per riga (commenti `#`) |
| `-n`, `--count` | 8 | Frame per burst, per vettore |
| `-s`, `--sleep` | 0.05 | Secondi tra i round di attacco (piccolo = continuo; aumenta per limitare) |
| `--reason` | 7 | Codice motivo deauth (1 unspecified, 4 inactivity, 7 class-3) |
| `--broadcast` | off | Usa anche vettori broadcast / a livello AP (ignora la whitelist) |
| `--scan-only` | off | Rileva i client, non inviare nulla |
| `--auto-monitor` | off | Abilita la modalità monitor all'avvio, ripristina all'uscita |
| `--csa-channel` | 14 | Canale su cui i vettori CSA indirizzano i client |
| `--all-vectors` | off | Sinonimo di `--broadcast` (attiva i vettori broadcast) |
| `--no-deauth` | off | Disabilita deauth/disassoc |
| `--no-csa` | off | Disabilita i vettori channel-switch |
| `--no-anon` | off | Disabilita la riassociazione anonima |
| `--no-tui` | off | Output a scorrimento semplice invece della dashboard live |
| `--no-color` | off | Output semplice |

Il MAC dell'interfaccia è automaticamente in whitelist così KTO non prende mai
di mira se stesso.

## La dashboard

Su un terminale reale KTO esegue una dashboard a schermo intero: dettagli del
target, una tabella client live, un log eventi e uno sparkline del TX-rate,
dopo una breve animazione di avvio. La colonna STATE è la parte utile: `UP`
significa che il dispositivo sta ancora trasmettendo (ignorando l'attacco),
`quiet` significa che è diventato silenzioso, e `DOWN` significa che è stato
silenzioso abbastanza a lungo da contare come disconnesso. I client rimangono
elencati una volta visti, e KTO li rileva da frame di associazione e auth oltre
che dai dati, quindi la tabella continua a funzionare durante un attacco
broadcast, puoi osservare ogni dispositivo passare a DOWN mentre cade. Quando
più AP condividono l'SSID ottieni una lista tra cui scegliere con i tasti
freccia.

Premi `q` (o Esc, o Ctrl-C) per uscire. Reindirizza l'output da qualche parte,
o passa `--no-tui`, e torna a log a scorrimento semplice, che è ciò che vuoi
per script o logging su file.

## Arresto

Uscire ferma tutto in modo pulito, stampa un riepilogo dei burst per-client e
ripristina l'interfaccia in modalità managed se KTO l'aveva messa in modalità
monitor.

## Licenza

MIT, vedi `LICENSE`.
Scarica lo strumento