Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
KTO — Ferramenta automatizada de desautenticação Wi-Fi que escaneia continuamente clientes em um SSID alvo e remove dispositivos não autorizados na lista de permissões. Possui suporte a lista de permissões, manipulação de malha/múltiplos APs, detecção de PMF e bypass experimental de WPA2 PMF via extração de EAPOL. | Kitploit
Ferramentas/GitHubGitHub/ymsniper/kto
Auditoria de Wi-FiExploraçãoEvasão de IDS/IPSSegurança de RedeSegurança Sem FioTestes de PenetraçãoRed Teaming
GitHubymsniper/kto

KTO

Ver Repositório
2371465há 1 mêsRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →

Sobre

Ferramenta automatizada de desautenticação Wi-Fi que escaneia continuamente clientes em um SSID alvo e remove dispositivos não autorizados na lista de permissões. Possui suporte a lista de permissões, manipulação de malha/múltiplos APs, detecção de PMF e bypass experimental de WPA2 PMF via extração de EAPOL.

Compartilhar
# KTO - Kick Them Out


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



Aponte-o para um SSID e ele desconecta os dispositivos naquela rede, incluindo
os que se reconectam. Você informa o nome da rede; ele encontra o ponto de
acesso, encontra os clientes e escolhe um método de desconexão que se adequa à
segurança da rede.

As versões antigas só funcionavam realmente contra WPA/WPA2 com gerenciamento
aberto. Esta também tem vetores para PMF (802.11w) e WPA3, sem necessidade de
senha, embora esses sejam apenas de broadcast e best-effort (veja abaixo).

> Apenas para uso autorizado. Execute isto contra redes que você possui ou tem
> permissão por escrito para testar. A desautenticação não autorizada é ilegal
> na maioria dos lugares.

## Como ele escolhe um ataque, e a whitelist

Por padrão o KTO permanece seguro em relação à whitelist: ele envia
desautenticação e desassociação **unicast**, em ambas as direções, para cada
cliente não incluído na whitelist que ele viu transmitir. MACs na whitelist
nunca são alvos. Isso derruba qualquer cliente que não tenha negociado PMF, o
que cobre todo o WPA/WPA2 e qualquer cliente sem PMF em uma rede mista.

O PMF (802.11w) é o problema. Ele protege deauth, disassoc e frames de ação
unicast, então um cliente PMF ou WPA3 ignora todo frame forjado por cliente,
incluindo um Channel Switch Announcement unicast. Não há maneira segura em
relação à whitelist de contornar isso; é exatamente o que o PMF foi projetado
para prevenir. Os únicos frames que ainda alcançam um cliente PMF são aqueles
que não podem ser direcionados a um único dispositivo:

- **Beacon CSA**: um beacon de AP falsificado carregando um Channel Switch
  Announcement que direciona os clientes para um canal morto. Beacons nunca são
  protegidos, então isso passa, mas todo cliente que o ouve troca de canal.
- **Reassociação anônima**: uma requisição de reassociação ao AP com origem de
  broadcast, o que faz muitos APs desautenticarem o endereço de broadcast por
  conta própria. O AP faz o kick, então o PMF nem entra na equação, mas isso
  derruba todos os clientes.

Ambos atingem todo o BSS e não podem respeitar uma whitelist, então são opt-in
via `--broadcast` (que também adiciona um deauth de broadcast). Use quando
precisar desconectar clientes PMF/WPA3 e puder aceitar que dispositivos na
whitelist também caiam. `--all-vectors` é um sinônimo para ativar os vetores de
broadcast.

Resumindo: no WPA2 a whitelist funciona e o deauth por cliente é suficiente. No
WPA3/PMF nada funciona por padrão, os frames por cliente (deauth, e também um
CSA direcionado) são protegidos e ignorados, então você precisa passar
`--broadcast` para desconectar esses clientes, e isso derruba todo o BSS, então
a whitelist deixa de se aplicar.

Uma ressalva honesta: WPA3 com PMF é construído para resistir a frames de
gerenciamento forjados. Nenhum atacante não autenticado pode garantir um kick
contra ele. Esses vetores são best-effort e funcionam em muitas implantações
reais, mas "funciona em toda rede" não é uma promessa que alguém possa fazer
sobre WPA3.

## Build

Precisa de um toolchain Rust e `iw` (do iproute2 / as ferramentas wireless) na
máquina alvo.

```
cargo build --release
```

O binário fica em `target/release/kto`. Execute-o como root.

## Uso

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

Sem `--auto-monitor` a interface já precisa estar em modo monitor. Com ele, o
KTO coloca a interface em monitor ao iniciar e volta para managed ao sair. Se
você não passar `-c`, ele varre os canais comuns de 2.4 e 5 GHz para encontrar o
alvo, depois trava no canal dele.

Muitos roteadores domésticos anunciam um SSID a partir de dois rádios (2.4 GHz
WPA2 e 5 GHz WPA3, BSSIDs diferentes) para band steering. O KTO examina cada
BSSID que carrega o SSID e, quando mais de um aparece, lista-os com banda e
segurança e pergunta qual atacar. Escolha aquele em que seu dispositivo alvo
realmente está, ou nomeie-o de antemão com `-b`/`--bssid`. Isso importa: um
cliente no BSSID WPA3 de 5 GHz não cai se você atacar o clone WPA2 de 2.4 GHz.

O KTO só faz deauth de clientes que ele viu transmitir, então um dispositivo
ocioso pode nunca aparecer por conta própria. Se um dispositivo específico não
cai enquanto outros caem, nomeie-o com `--client <MAC>`; o KTO então o atingirá
a cada rodada independentemente. Verifique três coisas: ele está no BSSID/banda
que você está atacando, seu MAC é o que você espera e, para a rara NIC que
ignora deauth, tente `--all-vectors` (que adiciona os vetores de channel-switch
e reassociação mesmo em WPA2 simples).

Mais exemplos:

```
# já em modo monitor, travar em um canal conhecido
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -c 6

# SSID com band steering: mirar no AP exato em que o dispositivo está
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -b 62:a6:dd:6d:0a:24

# WPA3 / PMF: por cliente é bloqueado, então use broadcast para dar o kick (todo o BSS, sem whitelist)
sudo ./target/release/kto -i wlan0mon -t "CorpNet" -b 62:a6:dd:6d:0a:24 --broadcast

# poupar seus próprios dispositivos
sudo ./target/release/kto -i wlan0 -t "CorpNet" --auto-monitor -w AA:BB:CC:DD:EE:FF

# passivo: listar clientes, não enviar nada
sudo ./target/release/kto -i wlan0mon -t "CorpNet" --scan-only

# lançar todos os vetores independentemente da segurança
sudo ./target/release/kto -i wlan0mon -t "CorpNet" --all-vectors
```

## Opções

| Flag | Padrão | Descrição |
|------|---------|-------------|
| `-i`, `--interface` | obrigatório | Interface wireless |
| `-t`, `--target` | obrigatório | SSID alvo |
| `-b`, `--bssid` | auto | Mirar em um AP por BSSID (SSIDs com band steering / multi-AP) |
| `-f`, `--first` | desligado | Atacar o primeiro AP correspondente encontrado (pular o seletor) |
| `-c`, `--channel` | auto | Travar em um canal, pular a varredura de descoberta |
| `--client` | nenhum | Sempre mirar nesses MACs, mesmo se ociosos/não vistos |
| `-w`, `--whitelist` | nenhum | MACs separados por vírgula a poupar |
| `--whitelist-file` | nenhum | Arquivo de MACs a poupar, um por linha (comentários com `#`) |
| `-n`, `--count` | 8 | Frames por rajada, por vetor |
| `-s`, `--sleep` | 0.05 | Segundos entre rodadas de ataque (pequeno = contínuo; aumente para limitar) |
| `--reason` | 7 | Código de motivo do deauth (1 não especificado, 4 inatividade, 7 classe-3) |
| `--broadcast` | desligado | Também usar vetores de broadcast / de todo o AP (ignora a whitelist) |
| `--scan-only` | desligado | Descobrir clientes, não enviar nada |
| `--auto-monitor` | desligado | Ativar modo monitor ao iniciar, restaurar ao sair |
| `--csa-channel` | 14 | Canal para o qual os vetores CSA conduzem os clientes |
| `--all-vectors` | desligado | Sinônimo de `--broadcast` (ativar os vetores de broadcast) |
| `--no-deauth` | desligado | Desativar deauth/disassoc |
| `--no-csa` | desligado | Desativar os vetores de channel-switch |
| `--no-anon` | desligado | Desativar reassociação anônima |
| `--no-tui` | desligado | Saída simples com rolagem em vez do dashboard ao vivo |
| `--no-color` | desligado | Saída simples |

O MAC da interface é colocado na whitelist automaticamente para que o KTO nunca
se torne alvo de si mesmo.

## O dashboard

Em um terminal real o KTO executa um dashboard em tela cheia: detalhes do alvo,
uma tabela de clientes ao vivo, um log de eventos e um sparkline de taxa de TX,
após uma breve animação de boot. A coluna STATE é a parte útil: `UP` significa
que o dispositivo ainda está transmitindo (ignorando o ataque), `quiet`
significa que ele ficou silencioso, e `DOWN` significa que ficou silencioso por
tempo suficiente para contar como desconectado. Os clientes permanecem listados
depois de vistos, e o KTO os captura a partir de frames de associação e auth,
bem como de dados, então a tabela continua funcionando durante um ataque de
broadcast, você pode ver cada dispositivo mudar para DOWN conforme cai. Quando
vários APs compartilham o SSID, você recebe uma lista para escolher com as
teclas de seta.

Pressione `q` (ou Esc, ou Ctrl-C) para sair. Redirecione a saída para algum
lugar, ou passe `--no-tui`, e ele volta para logs simples com rolagem, que é o
que você quer para scripts ou para registrar em arquivo.

## Parando

Sair para de forma limpa, imprime um resumo de rajadas por cliente e restaura a
interface para o modo managed se o KTO a colocou em modo monitor.

## Licença

MIT, veja `LICENSE`.
Baixar ferramenta