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. Trova il canale giusto su cui eseguire lo sniffing.
  2. Acquisisci il traffico.
  3. Condividi l'acquisizione e un hash della password della tua WLAN.

1. Determina 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:

Utilizza 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 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 al seguente 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

Utilizza 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. Elenca 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. Esegui un'acquisizione breve (anche 15 secondi sono sufficienti) su ciascuno di questi canali, seguendo le istruzioni riportate di seguito.

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

  4. Apri ciascuna delle acquisizioni utilizzando Wireshark, applica un filtro di visualizzazione di wlan.addr == YOUR_DEVICE'S_MAC e verifica se vengono visualizzati pacchetti.

2. Avvia l'acquisizione

Importante: acquisizione dell'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.

Acquisizione 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 Acquisizione dell'handshake a 4 vie.

Al termine, premi Stop. In /var/tmp è disponibile un nuovo file *.pcap contenente tutto il traffico. Un esempio di nome file è: (null)_ch100_2018-11-06_10.52.01.pcap.

Acquisizione su Linux

  1. Disattiva il Wi-Fi. Puoi farlo in due modi:

    • 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 trasmetti 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 pacchetti sull'interfaccia wlan.

3. Condividi l'acquisizione

  1. Utilizza il generatore di chiavi WPA PSK (Raw Key) 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 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, eseguila solo se vuoi esaminare personalmente 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, trasmetti i seguenti argomenti:

tshark -o wlan.enable_decryption:TRUE -o 'uat:80211_keys:"wpa-pwd","<psk>:<ssid>"'

Colorare i dati Wireshark 802.11

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