Questa guida mostra come poter craccare una rete WiFi usando dei semplici strumenti reperibili dalla rete. Prima di entrare nel vivo del cracking è fondamentale sapere che questa guida ha soltanto uno scopo dimostrativo e si consiglia vivamente di effettuare dei test solo sulla propria rete WiFi poichè è un’azione illegale connettersi a reti altrui senza avere il permesso dell’intestatario della rete in questione. Premessa fatta, verranno illustrati dei semplici strumenti che permettono di testare la sicurezza della propria rete WiFi.
Prima di utilizzare gli strumenti sotto elencati per poter craccare una rete WiFi è utile sapere che esistono varie tipologie di chiavi di cifratura per proteggere una rete e non tutte garantiscono lo stesso livello di protezione. In particolare le connessioni protette da una chiave WEP garantiscono un livello di protezione molto basso e quindi non è consigliata se si vuole tenere la propria connessione lontana da intrusi.
Un discorso diverso può essere fatto per le chiavi WPA e WPA2 (WiFi Protected Access) che invece garantiscono un alto livello di sicurezza, sicurezza che però può essere ugualmente violata tramite appositi programmi.
Quindi, in conclusione, possiamo dire che qualsiasi cosa cifrata da chiavi è sempre e comunque soggetta ad attacchi crittoanalitici, ma la differenza tra una buona cifratura e una scadente sta nella mole di dati necessaria per poter decifrare il contenuto criptato e nella lunghezza della chiave.
Come craccare una rete WiFi con Aircrack-ng
Aircrack-ng è una suite di programmi che permette di effettuare l’hacking e il cracking di reti WiFi, e quindi di recuperare le chiavi dopo che un insieme di pacchetti sono stati raccolti. Come detto sopra non esiste una chiave perfettamente sicura, esiste una chiave che ha bisogno di un elevato numero di pacchetti sniffati per poter essere decifrata. Quindi lo scopo di questa suite è quella di fornire degli strumenti per catturare in pacchetti WiFi scambiati tra router e macchina, analizzarli e scoprire la chiave.
Per semplicità verrà illustrato come craccare una rete WiFi con Aircrack-ng su ubuntu (in particolare ubuntu 13.04, anche se qualsiasi macchina linux va bene allo scopo). Esiste anche la possibilità di installare Aircrack-ng su piattaforma Windows, prendendo l’ installer dal sito ufficiale ma non pienamente supportata, quindi consiglio caldamente una distro linux allo scopo.
Detto ciò entriamo nel vivo della procedura:
Apriamo una shell bash ed installiamo da repository ufficiali la suite di programmi Aircrack-ng:
sudo apt-get install aircrack-ng
Dopo aver installato la suite, saranno necessari i privilegi di amministratore per poter lanciare una serie di eseguibili che ci permetteranno di effettuare le operazioni di key-discovery.
Da terminale abilitate l’utente root:
sudo su
Digitate la vostra password e il terminale avrà i privilegi di amministratore; per avere una conferma di ciò possiamo osservare il simbolo “#” nel prompt bash. Successivamente andiamo ad impostare la nostra scheda di rete in modalità “monitor mode”, ossia in ascolto dei pacchetti che transitano nelle vicinanze della vostra scheda di rete con il seguente comando:
airmon-ng start wlan0
Come abbiamo precedentemente detto, abbiamo bisogno di sniffare i pacchetti scambiati tra router e macchine. Mettendo la scheda di rete in modalità “monitor mode” il nostro PC può osservare(sniffare) i pacchetti che gli transitano intorno ma non possiamo leggerne il contenuto.Per assicurarsi che la scheda di rete sia in “monitor mode” digitiamo:
iwconfig mon0
Controlliamo che il campo “mode” abbia il valore “Monitor” come mostra la seguente immagine:
Ora che la scheda di rete è pronta possiamo iniziare a sniffare i pacchetti digitando il seguente comando:
airodump-ng mon0
Apparirà una schermata simile alla seguente che elenca tutte le reti attive nelle vicinanze con i relativi parametri, e un elenco degli HotSpot WiFi rilevati nelle vicinanze con i relativi host collegati.
Di seguito una breve descrizione dei parametri visualizzati nella shell per poter meglio comprendere cosa stiamo facendo:
- BSSID: rappresenta il MAC address dell’Access Point.
- PWR: indica la potenza del segnale ricevuto, maggiore sarà il valore più vicino sarà l’access point.
- Beacons: numero di frame beacon ricevuti dall’ Access Point(sono dei pacchetti che l’AP invia broadcast per segnalare la sua presenza).
- Data: numero di pacchetti “Dati” ricevuti.
- CH: è il canale su cui l’Access Point invia e riceve pacchetti.
- MB: indica una stima della velocità di trasmissione.
- ENC: indica l’ encoding, ossia il tipo di cifratura apportata ai pacchetti, sono possibili diversi valori tra cui: OPN=nessuna, WEP=WEP, WPA=WPA o WPA2 e infine WEP? il quale indica che non è stato possibile identificare il tipo di cifratura.
- ESSID: rappresenta il nome della rete WiFi
- STATION: rappresenta il MAC address dell’host connesso ad un Access Point.
- Packets: numero di pacchetti Dati ricevuti.
A questo punto non ci resta che selezionare la rete WiFi target che vogliamo craccare e dovremmo avviare procedure diverse in base al tipo di cifratura della rete.
Come craccare una rete WiFi con cifratura WEP
Per poter craccare una rete WiFi con cifratura WEP sono necessarie le seguenti premesse:
- Almeno un terminale sia connesso all’Access Point in questione, poichè dobbiamo sniffare pacchetti inviati tra client e AP.
- La rete in questione utilizza una chiave di cifratura WEP.
- Il segnale abbia una potenza minima sufficiente (se è troppo bassa i frame arriveranno corrotti).
Se i requisiti sopra riportati sono soddisfatti possiamo procedere. Utilizziamo il comando airodump-ng e iniziamo a catturare pacchetti scambiati tra Access Point e host collegati e salvarli in file con estensione “.cap” .
Quindi basterà digitare il seguente comando da shell:
airodump-ng --channel 11 --bssid xx:xx:xx:xx:xx:xx -w dump mon0
Dove:
- –channel 11 sta ad indicare il canale su cui invia i pacchetti l’AP(11 in questo caso di esempio).
- –bssid xx:xx:xx:xx:xx:xx sta ad indicare il BSSID dell’ AP(le “x” vanno sostituite con valori alfanumerici reali).
- mon0 è l’alias dell’interfaccia di rete precedentemente creato.
- -w dump crea un file di nome “dump” in cui salva i frame catturati.
Prima di craccare la WEP airodump-ng ha bisogno di un numero minimo di pacchetti catturati/sniffati che varia tra i 250.000 e 500.000 e la velocità con cui verranno catturati dipende dall’intensità del traffico tra host e Access Point.
Una volta raccolto un numero sufficiente di pacchetti, basterà digitare il seguente comando per effettuare la password discovery:
aircrack-ng -b xx:xx:xx:xx:xx:xx dump*.cap
L’asterisco è necessario in quanto verranno creati dei file con una numerazione successiva e con estensione “.cap” .
La risposta al comando, sarà un KEY FOUND con la chiave della rete craccata.
Come craccare una rete WiFi con cifratura WPA
Per poter craccare una rete WiFi con cifratura WPA sono necessarie le seguenti premesse:
- Almeno un terminale sia connesso all’Access Point in questione, poichè dobbiamo sniffare pacchetti inviati tra client e AP.
- La rete in questione utilizza una chiave di cifratura WEP.
- Il segnale abbia una potenza minima sufficiente per poter essere sniffato(se è troppo bassa i frame arriveranno corrotti).
Una cifratura WPA è molto più sicura rispetto ad una WEP e necessita di un tipo di attacco basato su dizionario.
Possiamo reperire dizionari ovunque in rete basta solo cercare su google, a questo link possiamo reperirne uno di esempio ma consiglio vivamente di cercare dizionari specifici per lo scopo(come ad esempio questo).
Il procedimento è molto simile al precedente, ossia una volta selezionata la rete Target andiamo a sniffare i pacchetti:
airodump-ng --channel 11 --bssid xx:xx:xx:xx:xx:xx -w dump mon0
In generale la semantica del comando è la seguente: airodump-ng –channel<numero_channel> –bssid<MAC address dell’ AP> <nome_file_output><alias_scheda_di_rete>.
Dopo aver lanciato il comando inizieremo a sniffare i pacchetti inviati tra host e AccessPoint e salvarli. Se notiamo che il traffico scambiato tra host e AP non è sufficiente a riuscire nel hacking in tempi accettabili o comunque molto basso possiamo forzare l’invio di pacchetti tra i due terminali con il seguente comando in una nuova shell:
aireplay-ng -0 50 -a xx:xx:xx:xx:xx:xx -c yy:yy:yy:yy:yy:yy mon0
La semantica del comando è la seguente: aireplay-ng -o <numero_attacchi> -a <MAC address access point > -c <MAC_address_host_collegato> <alias_scheda_di_rete>.
Noteremo nell’altra shell(quella che sta catturando i pacchetti) un notevole aumento di pacchetti inviati tra i due terminali.
Una volta catturato l’handshake (visualizzato in alto a destra) possiamo iniziare a provare la password recovery nel seguente modo:
aircrack-ng -w <nome_dizionario> -b <MAC_Access_Point> nomefile*.cap
Da notare che al posto di <nome_dizionario> va inserito il path assoluto di dove si trova il dizionario che avete scaricato al punto precedente se non è nella stessa directory di dove vi trovate nella shell.
La risposta al comando, sarà un KEY FOUND con la chiave della rete craccata.