Tutti parlano di quanto sia semplice il cracking delle WPA dei router Alice e Fastweb, ma nessuno ha mai parlato di come crackare le password dei router di altri gestori. Questo perchè è molto più difficile sia in linea teorica, che pratica.
Noi comunque andremo a scoprire tutta la parte teorica, e il se passare alla pratica lo deciderete voi, anche perchè comporta una spesa non da poco.
Andiamo per ordine, come prima cosa dobbiamo parlare dei vari sistemi di sicurezza delle reti wireless
Sistemi di sicurezza
Oltre alle forme di sicurezza basilari, quali il nascondere la rete wireless e il filtro dei Mac address, ci sono dei sistemi di sicurezza che agiscono al livello 2 del modello OSI.
Quando si parla di protezione delle reti wireless, bisogna differenziare i metodi di autenticazione da quelli di cifratura. L'autenticazione, oltre a dare un' identità al client deve anche generare una chiave come parametro della funzione di cifratura.
I metodi di autenticazione, sono sostanzialmente 2:
- WpA-PSK: Wifi Protected Access - Pre-Shared Key, il quale cifra le connessioni tramite una chiave precondivisa da passare come parametro alla funzione di cifratura
-Wpa Enterprise: è un sistema di autenticazione che veicola le comunicazioni ad un server RADIUS e che supporta vari protocolli autenticazione, tra i quali EAP (Extensible Authentication Protocol), EAP-TTLS, PEAP ed EAP-Fast
WPA2 è un sistema di autenticazione molto più sicuro del suo predecessore WPA perchè supporta la cifratura con TKIP, ma soprattutto con AES (Advanced Encryption System).
Per quanto riguarda la cifratura ne ho gia citati 2 di 3, e il terzo è il più conosciuto per la sua estrema facilità di crack.
I sistemi di cifratura, sono quindi 3:
-WEP (Wired Equivalent Privacy):
non spiegherò la pratica del cracking di questo sistema di cifratura perchè si trovano milioni di guide con una semplice ricerca su google, ma ve ne spiegherò la teoria, la quale è piú difficile da trovare.
Esistono due metodi per il cracking di questo tipo di reti: l'attacco passivo, che richiede molto tempo e l'attacco ARP replay con falsa autenticazione.
Il secondo è una completazione del primo, ora vediamo il perchè.
La criptazione dati di WEP, è semplicemente data dallo XOR del testo con la chiave di criptazione, che chiameremo keystream.
Questa keystream, è a sua volta data dalla chiave di criptazione nel router + un vettore di inizializzazione (IV), il quale viene posto alla fine dell'header di ogni frame. Essendo questo IV di 24 bit, è molto probabile che nello scambio di frame ci siano vari IV uguali, quindi confrontando molti frame con IV uguali, con un buon calcolatore si può trovare la chiave in breve tempo.
Quando WEP venne rilasciato, per raccogliere molti frame, ci voleva molto tempo, anche in base all'attività sulla rete, quindi l'attacco passivo, poteva richiedere molto tempo.
Dopo qualche tempo venne scoperto che l'algoritmo WEP era vulnerabile all'attacco replay, cioè un attacco che permette di generare centinaia di frame in pochi secondi. In questo modo la fase di raccolta dati sarà ridotta a meno di 10 minuti, e il crack della password, sarà molto più semplice, data la grande quantità di dati da poter elaborare.
TKIP (Temporal Key Integrity Protocol)
Quando si vennero a sapere tutte le vulnerabilità del protocollo WEP si sentì l'esigenza di creare un altro sistema di sicurezza, che fosse supportato dagli hardware di vecchia generazione, in modo che sarebbe bastato un semplice aggiornamento del firmware per eliminare il problema di WEP.
WPA si basa su questo sistema di cifratura, e utilizza solo questo.
In seguito andremo quindi a vedere come si può bucare questo protocollo.
AES-CCPM (Advanced Encryption System - Counter Mode with Cipher Block Channing Message Authentication Code Protocol)
Questo sistema di cifratura è nato insieme a TKIP, ma non è supportato dal vecchio hardware. É sicuramente il sistema di sicurezza più sicuro, ed è ora supportato da WPA2 in tutti i router attualmente disponibili.
CRACKING DI WPA-PSK
Quando parliamo del cracking di WPA, parliamo indirettamente del cracking di TKIP.
Al momento non sono ancora state trovate falle importanti in questo protocollo, per questo è rimasto, tutt'ora, molto popolare.
Quindi ora vi starete chiedendo come sia possibile trovare una password per questo tipo di protocollo.
Ebbene, come molti sapranno, spesso, in questi casi, vanno usati il dictionary attack e il bruteforce.
Il problema fondamentale è che queste password possono essere dai 3 ai 63 caratteri ASCII e vengono sottoposte all'hashing per 4096 volte. Questa password è, in questo caso, la Pre-Shared Key (PSK). La PSK serve a generare due chiavi di cifratura che poi verranno passate alla funzione: la PTK e la GTK.
Vi starete chiedendo come si possa ora effettuare un bruteforce, e come possa essere questo attacco veramente efficace.
L'efficacia, mi permetto di dire, che è data principalmente dal fatto che si possa lavorare offline. Ma su cosa? Bhè, dato che la creazione di queste due chiavi avviene durante un processo di autenticazione chiamato four-way handshake, intercettando questo processo potremo tentare di brutare la chiave precondivisa.
Fare questo è la cosa più facile del mondo, con aircrack-ng.
Questo è il comando:
aircrack-ng --channel "channel della rete" --write handshake --bssid "bssid della rete" mon0
Scandagliamo: l'opzione --write, serve a scrivere l'handshake in un file che io ho chiamato handshake, l'opzione --bssid serve a focalizzare lo sniff sulla rete bersaglio, e mon0 è la nostra interfaccia di rete, precedentemente messa in monitor mod.
Fatto questo potremo dare in pasto ad aircrack-ng stesso, il file, indicando anche un file contenente il dizionario, per iniziare offline il dictionary attack.
Per fare questo, utilizzeremo il seguente comando:
aircrack-ng -w dizionario.lst Handshake.cap
Scandagliamo: l'opzione -w serve per indicare il dizionario, mentre Handshake.cap è il file che abbiamo scritto precedentemente.
Il programma per verificare che la chiave sia veramente esatta deve effettuare l'hashing della parola, anch'esso per 4096 volte. Questa operazione richiede tempo, ma nonostante ciò il programma può elaborare circa 2500 parole al secondo, con un processore moderno. Nonostante questo sia già sbalorditivo, esistono due metodi che permettono di centuplicare il risultato di calcolo. Il primo di questi è l'uso delle rainbow tables precalcolate. Il problema di queste è che necessitano di un SSID comune, poichè l'hashing è fatto proprio con l'SSID della rete.
Un altro metodo per velocizzare il bruteforcing è l'utilizzo della GPU, il nostro processore grafico, poiche è molto più efficente dei processori normali. In base alla potenza della vostra scheda grafica potrete ottenere delle prestazioni anche superiori all'uso delle rainbow tables.
Con questo ho concluso.
Nessun commento:
Posta un commento