L'acquisizione dei pacchetti Wi-Fi consente di visualizzare dettagli e interazioni che altrimenti vengono mascherati prima di raggiungere il software in esecuzione su un dispositivo, rendendo queste acquisizioni uno strumento importante per alcuni tipi di bug.
I passaggi principali sono:
- Trova il canale giusto da annusare.
- Acquisire il traffico.
- Condividi l'acquisizione e un hash della password della tua rete WLAN.
1. Determinare il canale e la larghezza giusti
Le reti WLAN operano su:
- un canale, in genere indicato con un numero. 1-13 per canali a 2,4 GHz, 36-200 per canali a 5 GHz
- con una larghezza specifica (20 MHz, 40 MHz, 80 MHz, 160 MHz)
Ogni punto di accesso (ad esempio router, nodo mesh) della rete in genere ha un canale a 2,4 GHz e un canale a 5 GHz unici e devi trovare a quale è connesso il dispositivo. Esistono varie opzioni:
Utilizzare il pannello di controllo del router
Se utilizzi Nest WiFi, salta questa opzione perché le informazioni non vengono esposte.
La maggior parte dei router ha un elenco dei dispositivi connessi e del canale e della larghezza che utilizzano.
- Trova l'indirizzo IP del router utilizzando questa guida.
- Vai all'indirizzo del router nel browser web, ad esempio http://192.168.1.1.
- Accedi. Non conosci la tua password? Cerca un tag sul router o utilizza Router Passwords.
Cerca una pagina chiamata "client" o "dispositivi collegati". Ad esempio, una pagina del router Netgear potrebbe avere il seguente aspetto o per i dispositivi Eero.
Potresti dover cercare altrove nelle impostazioni per mappare le informazioni del passaggio 4 a un canale e una larghezza di banda specifici. Ad esempio, un router Netgear:
Usa il tuo Mac, se è già connesso allo stesso canale
Tieni premuto il tasto Opzione sulla tastiera e fai clic sull'icona WLAN nell'angolo in alto a destra della barra di stato del Mac. Dovresti visualizzare il normale menu WLAN con alcune opzioni e informazioni aggiuntive. Dai un'occhiata alle voci di menu non disponibili e cerca quella che menziona Canale:
`Channel 60 (DFS, 5GHz, 40MHz)`
Impossibile trovare il canale e la larghezza
Se gli altri metodi non funzionano, puoi provare a:
Elenca tutti i canali utilizzati dai tuoi punti di accesso (in genere 2 per ogni punto di accesso o mesh).
a. Consigliato: con uno smartphone Android, puoi utilizzare un'app come Wifiman o Aruba Utilities.
a. Su un Mac, puoi utilizzare
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s
per elencare le opzioni.Esegui una breve acquisizione (anche 15 secondi sono sufficienti) su ciascuno di questi canali, seguendo le istruzioni riportate di seguito.
Installa Wireshark (per assistenza, vedi Installare Wireshark).
Apri ciascuna acquisizione utilizzando Wireshark, applica un filtro di visualizzazione di
wlan.addr == YOUR_DEVICE'S_MAC
e controlla se vengono visualizzati pacchetti.
2. Avvia l'acquisizione
Importante: acquisizione dell'handshake a quattro vie
Se la sicurezza è attivata per il Wi-Fi, devi conoscere le chiavi di crittografia per decrittografare i pacchetti acquisiti. Le chiavi di crittografia derivano da un handshake a quattro vie che si verifica quando il dispositivo si connette alla rete e sono univoche per ogni connessione tra un dispositivo e il punto di accesso.
Per questo motivo, DEVI acquisire l'handshake a 4 vie per decriptare i payload Wi-Fi. Se il dispositivo è già connesso alla rete quando avvii l'acquisizione, disconnettilo e riconnettilo (o riavvialo) una volta avviato lo sniffing.
Acquisire su Mac
Tenendo premuto il tasto Opzione sulla tastiera, fai clic sull'icona WLAN e seleziona "Apri Diagnosi wireless…":
Dalla barra dei menu di Diagnostica wireless, seleziona Finestra > Sniffer:
Imposta il canale e la larghezza sui valori recuperati in precedenza (l'esempio dello screenshot riguarda il canale 60 e la larghezza 40 MHz):
Premi Start
e inserisci la password. Ora prova a riprodurre il problema.
Assicurati di acquisire l'handshake a quattro vie da una connessione come indicato in
Acquisizione dell'handshake a quattro vie.
Al termine, premi Stop
. Un nuovo file *.pcap
è disponibile in /var/tmp
e contiene tutto il traffico. Un esempio di nome file è:
(null)_ch100_2018-11-06_10.52.01.pcap
.
Acquisizione su Linux
Disattiva il Wi-Fi. Puoi farlo:
- Utilizzo della GUI (opzione consigliata)
- Utilizzo dell'interfaccia a riga di comando di Network Manager per indicare di interrompere la gestione dell'interfaccia WLAN:
sudo nmcli dev set <wlan-ifname> managed on
- Se utilizzi un gestore di rete alternativo, esegui le modifiche di conseguenza.
Salva questo script. Sostituisci
<wlan-ifname>
con il nome dell'interfaccia Wi-Fi. Questo documento presuppone che il nome dello script siasetup-wifi-capture
.#!/usr/bin/env bash sudo ifconfig <wlan-ifname> down sudo rfkill unblock wifi sudo iwconfig <wlan-ifname> mode monitor sudo ifconfig <wlan-ifname> up sudo iw dev <wlan-ifname> set channel $@
Esegui lo script precedente e trasmetti il canale e la larghezza di banda più elevata da analizzare, ad esempio il canale 153 con larghezza di banda di 80 MHz:
./setup-wifi-capture chan 153 80 MHz
Apri Wireshark e ora dovresti essere in grado di acquisire pacchetti sull'interfaccia wlan.
3. Condividere l'acquisizione
Utilizza il generatore di WPA PSK (chiave non elaborata) per generare un hash della password. In questo modo puoi decriptare l'acquisizione senza conoscere la password in testo normale.
Devi condividere anche la PSK generata in modo che altri possano decriptare l'acquisizione.
Appendice
Installare Wireshark
Puoi installare Wireshark utilizzando apt install wireshark su Linux o scaricarlo online dal sito web di Wireshark.
Configurare Wireshark per decriptare il traffico
Questa operazione non è necessaria per condividere i file di acquisizione. Eseguila solo se vuoi esaminare personalmente il traffico decriptato in Wireshark.
Con la sicurezza WPA2 sul Wi-Fi, WPA2-PSK non viene utilizzato direttamente per la crittografia e la decrittografia del traffico. Viene utilizzato in un handshake a quattro vie, che devi acquisire per decriptare i pacchetti. Tuttavia, se vuoi acquisire solo problemi di connessione al Wi-Fi o interruzioni della connettività, che possono essere ricavati dai frame di gestione Wi-Fi, non è necessario acquisire l'handshake a quattro vie. In ogni caso, non fa male catturarlo.
Apri Wireshark e la pagina Preferenze (menu Wireshark > Preferenze o **Cmd + , **).
Individua la sezione "IEEE 802.11" nella categoria "Protocolli" e assicurati che l'opzione "Attiva decrittografia" sia selezionata:
Fai clic sul pulsante Modifica accanto all'etichetta Chiavi di decrittografia.
Fai clic sul pulsante "+" nell'angolo in basso a sinistra e seleziona l'opzione "wpa-pwd".
Fai clic sulla colonna della chiave della riga appena creata (accanto alla stringa wpa-pwd), digita la PSK WPA2 e l'SSID nel formato
<password>:<ssid>
. Ad esempio, se il nome della rete èMyHomeNetwork
e la chiave WPA2 PSK èmyp4ssword
, digitamyp4ssword:MyHomeNetwork
.Fai clic su OK per confermare.
Per ulteriori informazioni, consulta la guida ufficiale di Wireshark (con screenshot) all'indirizzo How to Decrypt 802.11.
Se utilizzi tshark
, passa i seguenti argomenti:
tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'
Colorare i dati 802.11 di Wireshark
Su metageek.com è disponibile un pratico profilo di colore 802.11: Profilo di configurazione di Wireshark.