Acquisisci il traffico WLAN

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:

  1. Trovare il canale giusto su cui eseguire lo sniffing.
  2. Acquisire il traffico.
  3. Condividere l'acquisizione e un hash della password della WLAN.

1. Determinare il canale e la larghezza corretti

Le reti WLAN operano su:

Ogni punto di accesso (ad esempio router, nodo mesh) nella rete in genere ha un canale a 2,4 GHz e un canale a 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 perché le informazioni non sono esposte.

La maggior parte dei router ha un elenco di dispositivi connessi e il canale e la larghezza che utilizzano.

  1. Trova l'indirizzo IP del router utilizzando questa guida.
  2. Vai all'indirizzo del router nel browser web, ad esempio http://192.168.1.1.
  3. Accedi. Non conosci la password? Cerca un tag sul router o utilizza Router Passwords.
  4. Cerca una pagina con un nome simile a "client" o "dispositivi collegati". Ad esempio, una pagina del router Netgear potrebbe avere un aspetto simile a quello riportato di seguito o per i dispositivi Eero.

    Visualizzazione cliente Netgear

  5. 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:

    Visualizzazione dei canali Netgear

Utilizzare il Mac, se è già connesso allo stesso canale

Tieni premuto il tasto Opzione sulla tastiera, quindi fai clic sull'icona WLAN nell'angolo in alto a destra della barra di stato del Mac. Dovresti visualizzare il menu WLAN normale con alcune opzioni e informazioni in più. Dai un'occhiata alle voci di menu non disponibili e cerca quella che menziona il canale:

`Channel 60 (DFS, 5GHz, 40MHz)`

WLAN Mac

Impossibile trovare il canale e la larghezza

Se gli altri metodi non funzionano, puoi provare a:

  1. Elencare tutti i canali utilizzati dagli AP (in genere 2 per ogni AP o punto mesh).

    a. Consigliato Con un telefono 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.

  2. Eseguire un'acquisizione breve (anche 15 secondi sono sufficienti) su ciascuno di questi canali, seguendo le istruzioni riportate di seguito.

  3. Installare Wireshark (per assistenza, vedi Installare Wireshark).

  4. Aprire ogni acquisizione utilizzando Wireshark, applicare un filtro di visualizzazione di wlan.addr == YOUR_DEVICE'S_MAC e verificare se vengono visualizzati pacchetti.

2. Avviare l'acquisizione

Importante: acquisire l'handshake a 4 vie

Se la sicurezza è attivata per il Wi-Fi, devi conoscere le chiavi di crittografia per decriptare i pacchetti acquisiti. Le chiavi di crittografia vengono derivate da un handshake a 4 vie che si verifica quando il dispositivo si connette alla rete e sono univoche per ogni connessione tra un dispositivo e l'AP.

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, scollega e ricollega il dispositivo (o riavvialo) una volta avviato lo sniffing.

Acquisire su Mac

Tieni premuto il tasto Opzione sulla tastiera, fai clic sull'icona WLAN e seleziona "Apri diagnostica wireless…":

Acquisizione WLAN Mac

Dalla barra dei menu di Diagnostica wireless, seleziona Finestra > Sniffer:

Mac WLAN Sniffer

Imposta il canale e la larghezza sui valori recuperati in precedenza (l'esempio di screenshot è per il canale 60 e la larghezza 40 MHz):

Canale e larghezza WLAN per Mac

Premi Start e inserisci la password. Ora, prova a riprodurre il problema. Assicurati di acquisire l'handshake a 4 vie da una connessione come indicato in Acquisire l'handshake a 4 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.

Acquisire su Linux

  1. Disattiva il Wi-Fi. Puoi farlo:

    • Utilizzando la GUI (opzione consigliata)
    • Utilizzando l'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 network manager alternativo, modificalo di conseguenza.
  2. Salva questo script. Sostituisci <wlan-ifname> con il nome dell'interfaccia Wi-Fi. Questo documento presuppone che il nome dello script sia setup-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 $@
  3. Esegui lo script precedente e inserisci il canale e la larghezza di banda più elevata per lo sniffing, ad esempio il canale 153 con larghezza di banda di 80 MHz:

    ./setup-wifi-capture chan 153 80 MHz
  4. Apri Wireshark e ora dovresti essere in grado di acquisire i pacchetti sull'interfaccia wlan.

3. Condividere l'acquisizione

  1. Utilizza WPA PSK (Raw Key) Generator per generare un hash della password. In questo modo puoi decriptare l'acquisizione senza conoscere la password in testo normale.

  2. Devi condividere anche il PSK generato in modo che altri utenti 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 la condivisione dei file di acquisizione, ma solo se vuoi esaminare il traffico decriptato in Wireshark.

Con la sicurezza WPA2 sul Wi-Fi, il 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 Wi-Fi, non devi acquisire l'handshake a 4 vie. In ogni caso, non fa male acquisirlo comunque.

Apri Wireshark e la pagina Preferenze (menu Wireshark > Preferenze o **Cmd + , **).

  1. Individua la sezione "IEEE 802.11" nella categoria "Protocolli" e assicurati che l'opzione "Attiva decrittografia" sia selezionata:

    Mac Wireshark Prefs

  2. Fai clic sul pulsante Modifica accanto all'etichetta Chiavi di decrittografia.

  3. Fai clic sul pulsante "+" nell'angolo in basso a sinistra e seleziona l'opzione "wpa-pwd".

    Mac Wireshark WPA e password

  4. Fai clic sulla colonna della chiave della riga appena creata (accanto alla stringa wpa-pwd), digita il WPA2 PSK e l'SSID nel formato <password>:<ssid>. Ad esempio, se il nome della rete è MyHomeNetwork e il WPA2 PSK è myp4ssword, digita myp4ssword:MyHomeNetwork.

    SSID Wireshark per Mac

  5. 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

Esiste un pratico profilo di colore 802.11 disponibile su metageek.com: Wireshark Configuration Profile.