
FragAttacks: vulnerabilità che interessano i dispositivi Wi-Fi
Dodici vulnerabilità nel protocollo Wi-Fi sono passate inosservate per 24 anni, fino a quando il ricercatore Mathy Vanhoef non le ha individuate e rese pubbliche in un documento pubblicato su Internet.La raccolta di attacchi, denominata FragAttacks , che sta per attacchi di frammentazione e aggregazione, richiede che l’aggressore si trovi nel raggio della rete wireless.
Tre delle vulnerabilità scoperte sono “difetti di progettazione nello standard Wi-Fi” secondo Vanhoef, e quindi interessano la maggior parte dei dispositivi Wi-Fi. Durante la ricerca sono state scoperte ulteriori vulnerabilità rese possibili da “errori di programmazione diffusi nei prodotti Wi-Fi”.
Le vulnerabilità interessano tutti i protocolli di sicurezza dello standard Wi-Fi, comprese le ultime specifiche WPA3 ma anche WPA2 e WPE.
https://i0.wp.com/mk0ghacksnety2pjr...021/05/fragmentcache.png?resize=800,302&ssl=1
Sfruttando questi errori nella gestione dei frame, sarebbe possibile esportare informazioni e portare vari tipi di attacchi attraverso l’iniezione di frame, come l’impostazione “forzata” di un server DNS malevolo.
I test eseguiti dal ricercatore hanno confermato l’efficacia delle tecniche di attacco con tutti i sistemi operativi più diffusi (Linux, Windows, iOS, etc.) e le configurazioni hardware. Il livello di impatto varia a seconda delle varie combinazioni, ma in linea di principio il meccanismo è sempre lo stesso.
L’unica eccezione sarebbe rappresentata dai sistemi NetBSD e OpenBSD, che non supportano la ricezione di A-MSDU (aggregate MAC service data unit).
Sono state rilevate le seguenti vulnerabilità:
Vulnerabilità di iniezione di testo normale
Un utente malintenzionato può creare frame Wi-Fi non crittografati che vengono accettati dai dispositivi Wi-Fi di destinazione. Alcuni dispositivi wireless accettano automaticamente questi frame, altri possono accettare frame aggregati di testo normale se “sembrano messaggi di stretta di mano”
Difetto di progettazione: attacco di aggregazioneAd esempio, questo può essere abusato per intercettare il traffico di un client inducendolo a utilizzare un server DNS dannoso come mostrato nella demo (il traffico intercettato potrebbe avere un altro livello di protezione). Contro i router questo può anche essere abusato per aggirare il NAT / firewall, consentendo all’avversario di attaccare successivamente i dispositivi nella rete Wi-Fi locale (ad esempio attaccando una macchina Windows 7 obsoleta come mostrato nella demo).
Il flag “è aggregato” non è autenticato, il che significa che può essere modificato dagli aggressori.
Difetto di progettazione: attacco chiave mistoUn avversario può abusarne per iniettare pacchetti di rete arbitrari inducendo la vittima a connettersi al proprio server e quindi impostando il flag “è aggregato” di pacchetti accuratamente selezionati. Praticamente tutti i dispositivi testati erano vulnerabili a questo attacco. La capacità di iniettare pacchetti può a sua volta essere abusata per intercettare il traffico di una vittima facendola utilizzare un server DNS dannoso (vedere la demo).
Frame Fragmentation è stato progettato per migliorare l’affidabilità delle connessioni Wifi suddividendo frame grandi in frame più piccoli. Il problema è che i destinatari non sono tenuti a verificare se i frammenti sono stati crittografati utilizzando la stessa chiave e ciò significa che i frammenti decrittografati utilizzando chiavi diverse possono essere riassemblati.
Difetto di progettazione: attacco alla cache dei frammentiQuesto difetto di progettazione può essere risolto in modo compatibile con le versioni precedenti riassemblando solo i frammenti decrittografati utilizzando la stessa chiave. Poiché l’attacco è possibile solo in rare condizioni, è considerato un attacco teorico.
Un altro difetto nella funzione di frammentazione del frame del Wi-Fi. Non è necessario che i dispositivi Wi-Fi rimuovano i frammenti non riassemblati dalla memoria quando un client si disconnette. L’attacco inietta un frammento dannoso nella memoria del punto di accesso in modo che il frammento iniettato dell’aggressore e il frame frammentato del client vengano riassemblati alla riconnessione.
Ecco l’elenco completo degli identificatori CVE:Se la vittima invia frame frammentati, cosa rara nella pratica, è possibile abusarne per esfiltrare i dati.
- CVE-2020-24588 : attacco di aggregazione (che accetta frame A-MSDU non SPP).
- CVE-2020-24587 : attacco con chiave mista (riassemblaggio di frammenti crittografati con chiavi diverse).
- CVE-2020-24586 : attacco alla cache dei frammenti (non cancella i frammenti dalla memoria durante la (ri) connessione a una rete).
- CVE-2020-26145 : Accettazione di frammenti di trasmissione in testo normale come frame completi (in una rete crittografata).
- CVE-2020-26144 : Accettazione di frame A-MSDU di testo normale che iniziano con un’intestazione RFC1042 con EtherType EAPOL (in una rete crittografata).
- CVE-2020-26140 : Accettazione di frame di dati in testo normale in una rete protetta.
- CVE-2020-26143 : Accettazione di frame di dati in chiaro frammentati in una rete protetta.
- CVE-2020-26139 : inoltro di frame EAPOL anche se il mittente non è ancora autenticato (dovrebbe interessare solo gli AP).
- CVE-2020-26146 : riassemblaggio di frammenti crittografati con numeri di pacchetti non consecutivi.
- CVE-2020-26147 : riassemblaggio di frammenti misti crittografati / di testo normale.
- CVE-2020-26142 : elaborazione di frame frammentati come frame completi.
- CVE-2020-26141 : non verifica il TKIP MIC dei frame frammentati.
Fonti: [1], [2], [3].