📡 Laboratório 01 · Reconhecimento Passivo

Reconhecimento Passivo com Kismet

Mapeamento de redes IEEE 802.11 sem transmitir nenhum pacote. Identificação de access points, clientes, protocolos, probe requests e uso do Kismet como sistema de detecção de intrusão (IDS) na própria rede.

Kismet 2024 Monitor Mode Passivo — sem injeção WPA2 · WPA3 · WEP Somente rede própria/autorizada
Passivo
Modo de operação
0
Pacotes transmitidos
2501
Porta Web UI
IDS
Função adicional
⚠️ Aviso legal. Execute estas atividades somente em redes próprias ou com autorização explícita. Acesso não autorizado é crime — Lei 12.737/2012 e Lei 12.965/2014.

Sumário

  1. Objetivo do laboratório
  2. Configuração do ambiente
  3. Iniciar e operar o Kismet
  4. Análise de resultados
  5. Kismet como IDS
  6. Atividades avaliativas

1. Objetivo do laboratório

Este laboratório demonstra como realizar reconhecimento passivo de redes IEEE 802.11 sem enviar qualquer pacote ao meio. A abordagem passiva é fundamental em auditorias onde a discreta observação do ambiente é necessária antes de qualquer ação ativa.

O que você aprenderá

Conceitos-chave

ConceitoDescrição
Monitor ModeInterface captura todos os frames 802.11 sem se associar a nenhum AP — modo exclusivamente de escuta
Probe RequestFrame enviado por dispositivos buscando redes salvas anteriormente — revela histórico de conexões
Beacon FrameFrame de anúncio enviado pelo AP a cada 100 ms com SSID, capacidades e parâmetros de segurança
BSSIDEndereço MAC do rádio do AP — identifica univocamente cada rádio wireless
Passive ScanEscuta em cada canal aguardando beacons, sem enviar probe requests ativos

2. Configuração do ambiente

O Kismet requer um adaptador com suporte a monitor mode. Nenhuma transmissão é feita — o adaptador apenas escuta.

Instalar o Kismet

# Kali Linux / Parrot OS — Kismet disponível nos repositórios
apt update && apt install -y kismet

# Verificar versão instalada
kismet --version
Kismet 2023-07-R1

# Adicionar usuário ao grupo kismet (evita root)
usermod -aG kismet 

Verificar suporte a monitor mode

# Listar modos suportados pelo adaptador
iw list | grep -A 10 "Supported interface modes"

Supported interface modes:
 * managed
 * AP
 * monitor          ← obrigatório
 * P2P-client

# Identificar interface
ip link show | grep wlan
3: wlan0: <BROADCAST,MULTICAST> mtu 1500 state DOWN

Adaptadores recomendados para este laboratório

ChipsetModeloObservação
RTL8812AUAlfa AWUS036ACHDual-band, excelente para passivo
MT7612UAlfa AWUS036ACMBoa compatibilidade nativa Linux
AR9271TP-Link TL-WN722N v1Clássico 2.4 GHz, plug-and-play

3. Iniciar e operar o Kismet

Iniciar captura passiva

# Iniciar Kismet — ele ativa monitor mode automaticamente
kismet -c wlan0

[INFO] Launched kismet server in background
[INFO] Web UI disponível → http://localhost:2501
[INFO] Iniciando captura passiva em wlan0
[INFO] Modo monitor ativado automaticamente

# Alternativa: modo terminal (sem web UI)
kismet -c wlan0 --no-ncurses

Acessar a interface web

Abra o navegador em http://localhost:2501. Na primeira execução, o Kismet solicitará criação de usuário e senha. A interface exibe mapa de APs, lista de clientes e alertas em tempo real.

Captura em múltiplas interfaces simultaneamente

# Capturar em 2.4 GHz e 5 GHz ao mesmo tempo
kismet -c wlan0 -c wlan1

# Fixar em um canal específico (sem channel hopping)
kismet -c wlan0:channel=6

Saída em tempo real — exemplos de detecções

[FOUND] AP  SSID:"HomeNet_5G"  BSSID:AA:BB:CC:11:22:33  Ch:6   ENC:WPA2  Sig:-62dBm
[FOUND] AP  SSID:"LabRouter"   BSSID:AA:BB:CC:44:55:66  Ch:36  ENC:WPA3  Sig:-55dBm
[WARN]  AP  SSID:"OLD_ROUTER"  BSSID:AA:BB:CC:77:88:99  Ch:1   ENC:WEP   Sig:-78dBm ← VULNERÁVEL
[CLIENT] Device DD:EE:FF:00:11:22 → associado a AA:BB:CC:11:22:33
[PROBE]  Device DD:EE:FF:00:11:22 → buscando "CasaAntiga_WiFi"

4. Análise de resultados

Exportar para Wireshark (PCAP)

# Converter banco de dados Kismet para PCAP
kismetdb_to_wireshark --in kismet.kismet --out captura.pcap

✓ captura.pcap exportado (1.2 MB, 4832 frames)

# Abrir diretamente no Wireshark
wireshark captura.pcap &

# Filtros úteis no Wireshark para 802.11
wlan.fc.type_subtype == 8       # Beacon frames
wlan.fc.type_subtype == 4       # Probe requests
wlan.fc.type_subtype == 5       # Probe responses
eapol                            # Handshakes WPA (4-way)

Exportar lista de redes para CSV

# Exportar redes detectadas
kismetdb_to_json --in kismet.kismet --out redes.json

# Via Python: processar JSON e gerar CSV
python3 -c "
import json,csv
data=json.load(open('redes.json'))
with open('redes.csv','w') as f:
    w=csv.writer(f)
    w.writerow(['SSID','BSSID','Canal','Criptografia','Sinal'])
    for ap in data:
        w.writerow([ap.get('ssid'),ap.get('bssid'),ap.get('channel'),ap.get('crypt'),ap.get('signal')])
print('redes.csv gerado')
"

Identificar probe requests — riscos de privacidade

# Listar dispositivos e redes que estão procurando
grep "probe" kismet.log | awk '{print , }'

Device AA:11:22:33:44:55  →  "CasaAntiga_WiFi"
Device BB:66:77:88:99:00  →  "HotelABC_Guest"
Device CC:12:34:56:78:90  →  "Empresa_Corp_WiFi"

# Risco: dispositivos revelam redes visitadas anteriormente
# Um rogue AP pode responder a esses probes e capturar o cliente

Classificação de riscos detectados

ProtocoloRiscoAção recomendada
WEPCrítico — chave quebrável em minutosSubstituir imediatamente por WPA2-AES ou WPA3
WPA-TKIPAlto — TKIP vulnerável a ataquesMigrar para WPA2-AES ou WPA3
WPA2-CCMPMédio — depende da senha e PMFHabilitar PMF, usar senha forte ≥ 16 chars
WPA3-SAEBaixo — SAE protege contra offline crackManter atualizado, habilitar PMF obrigatório

5. Kismet como IDS

O Kismet pode monitorar a própria rede e alertar sobre comportamentos anômalos como flood de desautenticação, rogue APs com SSID idêntico e clientes não autorizados.

Configurar alertas de segurança

# Alertar sobre flood de desautenticação (ataque DeAuth)
kismet -c wlan0 --alert DEAUTHFLOOD,5,1

# Alertar sobre AP com SSID idêntico ao legítimo (Evil Twin)
kismet -c wlan0 --alert APSPOOF,10,60

# Combinar múltiplos alertas
kismet -c wlan0   --alert DEAUTHFLOOD,5,1   --alert APSPOOF,10,60   --alert BSSTIMESTAMP,5,60

Exemplos de alertas gerados

[ALERT] DEAUTHFLOOD: possível ataque de desautenticação detectado!
        Origem: AA:BB:CC:11:22:33  Alvo: broadcast
        5 frames em 1 segundo — possível aireplay-ng em execução

[ALERT] APSPOOF: AP com SSID "LabRouter" detectado com BSSID diferente!
        BSSID legítimo: AA:BB:CC:44:55:66
        BSSID suspeito: FF:EE:DD:CC:BB:AA ← possível Evil Twin

Integrar alertas com syslog

# Redirecionar alertas para syslog
kismet -c wlan0 --log-types alert --log-prefix /var/log/kismet/

# Monitorar em tempo real
tail -f /var/log/kismet/Kismet-*.alert.log

6. Atividades avaliativas