Skip to content

Wardriving ptBR

André Henrique edited this page Jun 8, 2026 · 1 revision

Idioma: Português (pt-BR) | English: Wardriving

Wardriving com GPS

Descoberta e mapeamento de redes wireless com georeferenciamento. Os módulos de wardriving coletam dados de scan WiFi referenciados por coordenadas GPS e exportam em múltiplos formatos para análise e relatórios.


Referência de Módulos

Módulo Descrição
wardrive/wardrive_logger Logger de descoberta WiFi com GPS - exportação CSV/JSON/KML
wifi_lab/gps_wardriving_ndjson GPS NMEA -> log de wardriving NDJSON
wifi_lab/wardriving_deauth_loop Ciclos automatizados de scan/deauth/captura durante wardriving

wardrive_logger

Módulo principal de wardriving. Combina scan WiFi passivo com entrada NMEA de GPS para produzir logs de descoberta de rede georeferenciados.

Pré-requisitos

  • Adaptador WiFi em modo monitor
  • Receptor GPS com saída NMEA 0183 (USB, Bluetooth ou serial)
  • Opcional: GPS USB (u-blox, GlobalSat, etc.)

Uso Básico

wxf > use generic/wardrive/wardrive_logger
wxf (WardrivingLogger) > show options

Options:
  INTERFACE     wlan0mon    Interface WiFi em modo monitor
  GPS_PORT      /dev/ttyACM0  Porta serial GPS (ou tcp:host:porta para GPS em rede)
  GPS_BAUD      4800        Taxa de baud da serial GPS
  OUTPUT_DIR    /tmp/wardrive  Diretório de saída para logs
  FORMATS       csv,json,kml  Formatos de exportação (csv, json, kml, ndjson)
  CHANNEL_HOP   true        Saltar canais (false = canal fixo)
  HOP_INTERVAL  0.1         Intervalo de salto de canal em segundos
  FILTER_SEC    none        Filtrar por tipo de segurança (WEP, WPA, WPA2, WPA3, OPEN)
  MIN_RSSI      -100        RSSI mínimo para registrar (dBm)
  SIMULATE      false       Executar sem GPS (usa coordenadas simuladas)

wxf (WardrivingLogger) > set INTERFACE wlan0mon
wxf (WardrivingLogger) > set GPS_PORT /dev/ttyACM0
wxf (WardrivingLogger) > set OUTPUT_DIR /wardrive/run_20260608
wxf (WardrivingLogger) > set FORMATS csv,json,kml
wxf (WardrivingLogger) > run

[*] wardrive_logger starting...
[*] WiFi: wlan0mon | Channel hopping: enabled (0.1s/ch)
[*] GPS: /dev/ttyACM0 @ 4800 baud
[*] GPS lock acquired: -23.550500, -46.633300 (satellites: 8, HDOP: 1.2)
[*] Scanning...

[+] BSSID: AA:BB:CC:DD:EE:FF | SSID: HomeWifi     | Ch:6  | Sec:WPA2  | RSSI:-58 | GPS:(-23.5505,-46.6333)
[+] BSSID: 11:22:33:44:55:66 | SSID: OfficeNet    | Ch:11 | Sec:WPA3  | RSSI:-72 | GPS:(-23.5507,-46.6335)
[+] BSSID: AA:11:BB:22:CC:33 | SSID: GuestWifi    | Ch:1  | Sec:WPA2  | RSSI:-81 | GPS:(-23.5510,-46.6340)
[+] BSSID: FF:EE:DD:CC:BB:AA | SSID: Printer_Setup | Ch:6 | Sec:OPEN  | RSSI:-91 | GPS:(-23.5512,-46.6342)

[*] Networks found: 4 | Elapsed: 00:02:15 | Distance: 0.3 km
^C
[*] Stopping...
[+] Unique networks: 4
[+] Exports:
    /wardrive/run_20260608/wardrive_20260608_0815.csv
    /wardrive/run_20260608/wardrive_20260608_0815.json
    /wardrive/run_20260608/wardrive_20260608_0815.kml

Modo simulado (sem GPS)

wxf (WardrivingLogger) > set SIMULATE true
wxf (WardrivingLogger) > run

[!] SIMULATE mode: using fixed coordinates -23.5505, -46.6333
[*] WiFi: wlan0mon | Channel hopping: enabled
[+] BSSID: AA:BB:CC:DD:EE:FF | SSID: HomeWifi | Ch:6 | Sec:WPA2 | RSSI:-58 | GPS:(simulated)
...

Formatos de Saída

CSV

bssid,ssid,channel,security,rssi,lat,lon,first_seen,last_seen,manufacturer
AA:BB:CC:DD:EE:FF,HomeWifi,6,WPA2,-58,-23.5505,-46.6333,2026-06-08T08:15:00Z,2026-06-08T08:17:30Z,TP-Link Technologies
11:22:33:44:55:66,OfficeNet,11,WPA3,-72,-23.5507,-46.6335,2026-06-08T08:15:10Z,2026-06-08T08:16:00Z,Cisco Systems

JSON

[
  {
    "bssid": "AA:BB:CC:DD:EE:FF",
    "ssid": "HomeWifi",
    "channel": 6,
    "security": "WPA2-PSK",
    "rssi": -58,
    "lat": -23.5505,
    "lon": -46.6333,
    "first_seen": "2026-06-08T08:15:00Z",
    "last_seen": "2026-06-08T08:17:30Z",
    "manufacturer": "TP-Link Technologies"
  }
]

KML (Google Earth / Maps)

A exportação KML cria um arquivo compatível com Google Earth contendo:

  • Um marcador por rede
  • Código de cores por tipo de segurança (vermelho=OPEN, laranja=WEP, amarelo=WPA, verde=WPA2, azul=WPA3)
  • Popup com BSSID, SSID, RSSI, canal e segurança

gps_wardriving_ndjson

Logger NDJSON (JSON delimitado por newline) leve para wardriving de alto volume. Cada linha é um registro JSON autossuficiente para análise em streaming com ferramentas como jq.

wxf > use generic/wifi_lab/gps_wardriving_ndjson
wxf (GPSWardrivingNDJSON) > set INTERFACE wlan0mon
wxf (GPSWardrivingNDJSON) > set GPS_HOST localhost
wxf (GPSWardrivingNDJSON) > set GPS_PORT 2947
wxf (GPSWardrivingNDJSON) > set OUTPUT_FILE /tmp/wardrive.ndjson
wxf (GPSWardrivingNDJSON) > run

[*] Logging to /tmp/wardrive.ndjson
[*] GPS: gpsd at localhost:2947
{"ts":"2026-06-08T08:15:00Z","bssid":"AA:BB:CC:DD:EE:FF","ssid":"HomeWifi","ch":6,"sec":"WPA2","rssi":-58,"lat":-23.5505,"lon":-46.6333}
{"ts":"2026-06-08T08:15:01Z","bssid":"11:22:33:44:55:66","ssid":"OfficeNet","ch":11,"sec":"WPA3","rssi":-72,"lat":-23.5507,"lon":-46.6335}

Filtrar com jq:

# Mostrar somente redes abertas
cat wardrive.ndjson | jq 'select(.sec == "OPEN")'

# Contar por tipo de segurança
cat wardrive.ndjson | jq -r .sec | sort | uniq -c

# Extrair coordenadas para mapeamento
cat wardrive.ndjson | jq '[.bssid, .ssid, .lat, .lon] | @csv'

Wardriving Automatizado com Captura

O módulo wardriving_deauth_loop combina descoberta de wardriving com captura de handshake oportunística. Quando uma rede alvo passa o limiar de pontuação configurável (RSSI, alvo WPA2), envia deauth e tenta captura PMKID/handshake.

wxf > use generic/wifi_lab/wardriving_deauth_loop
wxf (WardrivingDeauthLoop) > set INTERFACE wlan0mon
wxf (WardrivingDeauthLoop) > set GPS_PORT /dev/ttyACM0
wxf (WardrivingDeauthLoop) > set MIN_RSSI -70
wxf (WardrivingDeauthLoop) > set TARGET_SECURITY WPA2
wxf (WardrivingDeauthLoop) > set CAPTURE_DIR /captures
wxf (WardrivingDeauthLoop) > set SIMULATE true
wxf (WardrivingDeauthLoop) > run

[*] Wardriving with adaptive capture: RSSI >= -70, target=WPA2
[+] AA:BB:CC:DD:EE:FF (HomeWifi) RSSI=-58 score=HIGH -> [SIMULATE] would attempt PMKID+deauth
[+] 11:22:33:44:55:66 (OfficeNet) security=WPA3 -> skip (WPA3 not target)
[*] Networks discovered: 4 | Capture attempts: 1 (simulated)

Configuração de GPS

gpsd (recomendado)

sudo apt install gpsd gpsd-clients
sudo gpsd /dev/ttyACM0 -F /var/run/gpsd.sock

# Testar
cgps -s
# Verificar lock antes de iniciar o wardriving

Serial direto (sem gpsd)

Defina GPS_PORT para o dispositivo serial (ex: /dev/ttyACM0) e GPS_BAUD para corresponder ao seu módulo GPS (a maioria usa 4800 ou 9600).

GPS em rede (NMEA via TCP)

wxf (WardrivingLogger) > set GPS_PORT tcp:192.168.1.200:4352

Integração com Evidence Vault

Para engajamentos documentados, combine wardriving com Evidence Vault para manter a cadeia de custódia:

wxf > use generic/evidence_vault/evidence_vault
wxf (EvidenceVault) > set SESSION_ID wardrive_client_2026_06
wxf (EvidenceVault) > set OPERATOR analyst.name
wxf (EvidenceVault) > run init

# Após a conclusão do wardrive_logger:
wxf (EvidenceVault) > run capture \
    --type wardrive_log \
    --file /wardrive/run_20260608/wardrive_20260608_0815.json \
    --note "External perimeter scan, northwest block"
[+] Evidence #0001 recorded

Páginas relacionadas: Evidências e Forense | WIDS | Ataques Wi-Fi


Autor: André Henrique (@mrhenrike) | União Geek

WirelessXPL-Forge v1.8.0

Home-pt-BR | Home


Português (pt-BR)

Primeiros Passos

Ataques Wireless

Drones e UAV

Protocolos Especializados

Ferramentas de Pentest

Hardware

Clone this wiki locally