AttaCK o attacco KRACK di reinstallazione chiave WPA2
Di recente, Mathy Vanhoef di imec-DistriNet, KU Leuven, ha scoperto un grave punto debole in WPA2 noto come attacco Key Reinstallation AttaCK (o KRACK). La loro panoramica, Key Reinstallation Attacks:Breaking WPA2 by force nonce reuse, e il documento di ricerca (Key Reinstallation Attacks:Forcing Nonce Reuse in WPA2, co-autore di Frank Piessens) hanno creato molto scalpore nel nostro settore perché la stampa sostiene che " interrompe il Wi-Fi”.
Sono stati scritti numerosi articoli su questa vulnerabilità e non li riesamineremo qui. Tuttavia, vogliamo prenderci un momento per parlare di come questo si collega a Kali Linux, da un punto di vista difensivo, di test e di rilevamento.
Kali Linux è vulnerabile?
Da un punto di vista difensivo, se stai tenendo il passo con gli aggiornamenti in sequenza di Kali Linux (tramite un semplice "apt update &&apt upgrade), sei già corretto contro questa vulnerabilità grazie alle patch in wpasupplicant e hostapd (entrambi a 2.4-1.1 ). Per essere del tutto chiari:un aggiornato la versione di Kali Linux non è vulnerabile a questo attacco. Stai mantenendo aggiornato il tuo sistema Kali Linux, vero?
Come faccio a testare la vulnerabilità?
Con il tuo sistema Kali aggiornato, ci sono anche alcuni passaggi che puoi eseguire per testare questa vulnerabilità sui tuoi punti di accesso. Mathy Vanhoef ha recentemente rilasciato uno script che può essere eseguito da Kali Linux per verificare se il punto di accesso (AP) è interessato o meno da CVE-2017-13082 o in particolare dalla vulnerabilità Key Reinstall in FT Handshake trovata nei dispositivi 802.11r. Lo script richiede l'autenticazione al punto di accesso, ma tieni presente che potrebbe erroneamente contrassegnare un AP come vulnerabile a causa di "ritrasmissioni benigne di frame di dati".
Come posso rilevare gli attacchi?
Dragorn, l'autore dell'incredibile Kismet, ha rilasciato molte ottime informazioni sull'argomento sul suo blog, comprese eccellenti informazioni sul rilevamento degli attacchi KRACK usando Kismet. Spiega che la versione git-master di Kismet sta "introducendo avvisi per tentare di rilevare un attacco in stile Krack".
Questi avvisi tengono traccia di punti di accesso contraffatti, punti di accesso multicanale, chiavi a lunghezza zero, zero nonce in una stretta di mano e nonce ritrasmissione, tutti fattori che potrebbero indicare un attacco KRACK in corso.
Dragorn avverte che poiché Kismet salta i canali, potrebbe perdere i pacchetti di handshake e quindi perdere l'attacco. Inoltre, afferma che i falsi positivi sono ancora possibili nonostante la deduplicazione dei pacchetti di Kismet e che una volta rilasciato il codice di prova del concetto reale per KRACK, potrebbe essere necessario modificare la logica di questi avvisi.
Dragorn spiega anche che "sembra che tu possa ancora far scattare il rilevamento kismet nonce con un pacchetto contrassegnato nel controllo del frame come ritrasmissione", ma nonostante questi inconvenienti, Kismet è ancora un sistema decente per il rilevamento di questo e altri Wi-Fi attacchi al protocollo.
Per installare la versione git-master di Kismet su Kali Linux, segui questi passaggi
Per prima cosa, indica al gestore di rete di ignorare il dispositivo Wi-Fi aggiungendo queste righe:
[keyfile]
unmanaged-devices=interface-name:wlan0
a /etc/NetworkManager/NetworkManager.conf
Quindi, riavvia NetworkManager:
[email protected]:~# systemctl restart NetworkManager
Quindi, installa gli aggiornamenti e la versione git-master di Kismet:
[email protected]:~# apt update
[email protected]:~# apt upgrade
[email protected]:~# git clone https://www.kismetwireless.net/git/kismet.git
[email protected]:~# apt install build-essential libmicrohttpd-dev libnl-3-dev libnl-genl-3-dev libcap-dev libpcap-dev libncurses5-dev libnm-dev libdw-dev libsqlite3-dev
[email protected]:~# cd kismet
[email protected]:~# ./configure
[email protected]:~# make
[email protected]:~# make suidinstall
[email protected]:~# /usr/local/bin/kismet_capture_tools/kismet_cap_linux_wifi --list
[email protected]:~# kismet -c wlan0
Successivamente puoi accedere a http://localhost:2501 per visualizzare l'interfaccia di Kismet ed eventuali avvisi. Assicurati di accedere con le credenziali trovate in ~/.kismet/kismet_httpd.conf
per ottenere la piena funzionalità. Puoi anche creare ed eseguire gli strumenti di acquisizione su macchine separate, consentendoti di monitorare da diversi endpoint e visualizzare gli avvisi su un unico server centralizzato.
Nel complesso, questa vulnerabilità non è la fine del mondo. Come dice @grifter801, questa vulnerabilità incoraggia questo approccio scioccante:"Patch your stuff. Usa 2FA. Usa HTTPS." Non potremmo essere più d'accordo.
Ti invitiamo inoltre a considerare le prospettive difensive, di test e di rilevamento di qualsiasi nuova vulnerabilità per aiutarti a diventare più consapevole dei dettagli più fini della vulnerabilità, ottenere informazioni dettagliate al riguardo e diventare parte della soluzione.
Grazie a Offensive Security e al membro del team Kali Steev per le risorse tecniche utilizzate in questo articolo.