La cattura dei pacchetti Wi-Fi ti consente di vedere dettagli e interazioni che altrimenti sarebbero nascosti prima che raggiungano 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 analizzare.
- Acquisisci il traffico.
- Condividi la cattura e un hash della password della WLAN.
1. Determinare il canale e la larghezza giusti
Le reti WLAN funzionano su:
- un canale, a cui in genere viene associato 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 2,4 GHz e un canale 5 GHz univoci 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: le informazioni non sono esposte.
La maggior parte dei router ha un elenco dei dispositivi connessi e del canale e della larghezza che stanno utilizzando.
- 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 denominata ad esempio "client" o "dispositivi collegati". Ad esempio, la pagina di un router Netgear potrebbe avere il seguente aspetto o essere relativa ai dispositivi Eero.
Potresti dover cercare altrove nelle impostazioni per mappare le informazioni del passaggio 4 a un determinato canale e a una determinata larghezza di banda. Ad esempio, un router Netgear:
Utilizza il tuo Mac, se è già connesso allo stesso canale
Tieni premuto Opzione sulla tastiera, quindi fai clic sull'icona WLAN nell'angolo in alto a destra della barra di stato del Mac. Dovresti vedere il normale menu WLAN con alcune altre opzioni e informazioni. Dai un'occhiata agli elementi del menu non disponibili e cerca quello che fa riferimento al canale:
`Channel 60 (DFS, 5GHz, 40MHz)`
Impossibile trovare canale e larghezza
Se gli altri metodi non funzionano, puoi provare a:
Elenca tutti i canali utilizzati dai tuoi AP (in genere 2 per ogni AP o punto di accesso mesh).
a. Consigliato Con uno smartphone Android, puoi utilizzare un'app come Wifiman Aruba Utilities.
a. Su un Mac, puoi utilizzare
/System/Library/PrivateFrameworks/Apple80211.framework/Resources/airport-s
per elencare le opzioni.Esegui una breve registrazione (anche 15 secondi sono sufficienti) su ciascuno di questi canali seguendo le istruzioni riportate di seguito
Installa Wireshark (per assistenza, consulta Installare Wireshark).
Apri ciascuna delle acquisizioni 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: acquisire il handshake a quattro vie
Se la sicurezza è attiva per il Wi-Fi, devi conoscere le chiavi di crittografia per decriptare i pacchetti acquisiti. Le chiavi di crittografia derivano da un handshake a 4 vie che si verifica quando il dispositivo si connette alla rete e sono uniche per ogni connessione tra un dispositivo e l'AP.
Per questo motivo, DEVI acquisire l'handshake a quattro vie per decriptare i payload Wi-Fi. Se il dispositivo è già connesso alla rete quando avvii la cattura, disconnettilo e ricollegalo (o riavvialo) quando inizia lo sniffing.
Acquisisci su Mac
Tenendo premuto il tasto Opzione sulla tastiera, fai clic sull'icona WLAN e seleziona "Apri Diagnostica wireless…":
Nella 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
. In /var/tmp
puoi trovare un nuovo file *.pcap
che contiene tutto il traffico. Un esempio di nome file è:
(null)_ch100_2018-11-06_10.52.01.pcap
.
Acquisisci su Linux
Disattiva il Wi-Fi. Puoi farlo in uno dei seguenti modi:
- Utilizzo della GUI (opzione consigliata)
- Utilizzo dell'interfaccia a riga di comando 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, regola 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 passa il canale e la larghezza di banda massima da sniffare, ad esempio il canale 153 con una larghezza di banda di 80 MHz:
./setup-wifi-capture chan 153 80 MHz
Apri Wireshark e ora dovresti essere in grado di acquisire i pacchetti sull'interfaccia wlan.
3. Condividere lo screenshot o il video clip
Utilizza il generatore di chiavi WPA PSK (chiave non elaborata) per generare un hash della password. In questo modo puoi decriptare la cattura senza conoscere la password in testo normale.
Devi anche condividere il PSK generato in modo che altri possano decriptare la cattura.
Appendice
Installa 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 autonomamente 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 4 vie, che devi acquisire per decriptare i pacchetti. Tuttavia, se stai cercando di acquisire solo problemi di connessione al Wi-Fi o cali di connettività, che possono essere ricavati dai frame di gestione del Wi-Fi, non è necessario acquisire il handshake a 4 vie. In ogni caso, non fa male acquisire comunque l'immagine.
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 la 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 il PSK WPA2 e l'SSID nel formato
<password>:<ssid>
. Ad esempio, se il nome della rete eraMyHomeNetwork
e il WPA2 PSK eramyp4ssword
, digitamyp4ssword:MyHomeNetwork
.Fai clic su OK per confermare
Per ulteriori informazioni, consulta la guida ufficiale di Wireshark (con screenshot) all'indirizzo Come decriptare 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.