Crackare reti è tanto vietato, quanto divertente. Ci si sente veri hacker solo dopo aver violato almeno 3 o 4 articoli di legge. Ma farlo può costare un’imputazione penale; pertanto usate le informazioni di seguito solo su reti in cui avete l’autorizzazione a connettervi.
"Dura lex, sed lex (legge dura ma è legge!)"
In questo articolo useremo una suite di programmi chiamata aricrack-ng per violare una rete protetta da cifratura WEP (wired equivalent privacy).
Il protocollo WEP, ratificato nel 1999, è una parte dello standard IEEE 802.11 utilizzato per rendere sicure le trasmissioni radio delle reti Wi-Fi. È stato progettato per fornire una sicurezza comparabile a quella delle rete LAN, ma non è poi tanto sicuro.
Nancy Cam Winget e la sua squadra, nel 2003, segnalarono una serie di gravi debolezze, di cui due in particolare rendevano questo protocollo facilmente "forabile".
Nancy Cam Winget (Cisco Systems)
La prima debolezza è data dal fatto che l'utilizzo del protocollo WEP è opzionale e di conseguenza molti non lo usano;
la seconda invece è data dal fatto che questo protocollo non include una gestione delle chiavi di accesso ed è perciò vulnerabile a molte tipologie di attacchi. Quest’ultima sarà quella che andremo a sfruttare in questo video.
Per risolvere questi gravi problemi, i ricercatori della Wi-Fi Alliance implementarono e perfezionarono ulteriormente il protocollo WEP, dando così vita ai protocolli WPA e WPA2 (l’acronimo sta per Wi-Fi protected access).
Il WPA è un protocollo molto più sicuro di WEP e, nella sua destinazione domestica o per aziende di piccole dimensioni ma prive di un server di autenticazione, è definito WPA-PSK (Wi-Fi protected access pre-shared key), in cui ogni utente crittografa il traffico di rete derivando una chiave a 128 bit da una chiave condivisa a 256 bit. Il protocollo di WPA2 è basato sul codice AES (Advanced Encryption Standard).
Oggi vedremo come violare una rete WEP con aricrack-ng, un tool disponibile per ogni distro Linux (Kali Linux ne è provvista sin dall’installazione).
Ci sono diversi tipi di attacco alle reti wi-fi protette:
- Brute force (forza bruta, prova tutte le combinazioni di caratteri fino a quando trova quella giusta)
- Dizionario (usa una tabella di password possibili e le prova fino a quando trova quella giusta)
- Packet sniffer (analizza i pacchetti in transito e decripta la password)
Noi useremo la n° 3 (per essere precisi in totale i tipi di attacco sono 15, ma oggi parliamo solo di attacco alle reti wireless).
Questo metodo consiste nel mandare un messaggio di logout ai dispositivi connessi alla rete e, mentre provano a riconnettersi, il programma intercetta i pacchetti contenenti la password e dopo circa 5 minuti è in grado di ricostruirla per intero. Per questo motivo non si riesce a violare una rete con questo attacco se non ci sono dispositivi connessi, ma è necessaria una particolare tipologia di interrogazione del router.
Procediamo. Innanzitutto creiamo una rete WEP, perché ricordiamo che è vietato compiere questo attacco su reti altrui, e installiamo il programma aircrack-ng - se non è già installato nella vostra distro Linux - dal sito https://www.aircrack-ng.org oppure da terminale usando il gestore di pacchetti (ad esempio, su Ubuntu, Debian e derivate con il comando apt-get install aircrack-ng).
Precisiamo però che non si può usare questo programma da macchina virtuale, perché una macchina virtuale non ha completo controllo della scheda di rete, quindi non riesce a metterla in modalità monitor, e questo è essenziale in questo tipo di attacco. Per ovviare a questo inconveniente, potete usare una scheda di rete esterna che si collega via USB, che non costano nemmeno tanto, e che offre anche il vantaggio di avere molta più ricezione e quindi di raggiungere reti più distanti.
Utilizzando il comando ifconfig vediamo tutte le interfacce di rete disponibili sul nostro computer.
Trovata l’interfaccia Wi-Fi (ad esempio wlp7s0) e il suo relativo indirizzo hardware (HW xx:xx:xx:xx:xx:xx), dobbiamo impostare la modalità monitor della nostra interfaccia di rete.
Per prima cosa la fermiamo:
airmon-ng stop wlp7s0
E poi la riavviamo in monitor mode:
airmon-ng start wlp7s0 9
Per testare se veramente è passata alla monitor mode digitiamo:
airmon-ng -9 mon0
Mon0 è il nome dell’interfaccia appena creata e -9 è l’opzione di comando.
Appena premiamo invio proverà a monitorare tutte le reti che riesce a vedere.
Ora si incomincia a fare sul serio, digitiamo il comando:
airodump-ng -c <numero del canale della rete da violare> --bssid <numero MAC della rete da violare> -w output mon0
Quanto più Il numero di power è vicino a 100, tanto più sarà forte il segnale ricevuto. Qualora non ci fosse nessuno collegato possiamo indurre il router a comunicare con noi lanciando quello che si chiama fake login. Ii comando è:
aireplay-ng -1 0 -e <nome della rete Wi-Fi> -a <indirizzo MAC della Wi-Fi> -h <indirizzo MAC del nostro chip> <nostra interfaccia Wi-Fi>
Questo comando lancia delle “fake autentications” per indurre il router a “parlare” svelandoci informazioni. Per riuscire ad avere la password, abbiamo bisogno di intercettare un congruo numero di pacchetti, circa 5.000-10.000: quando ne avremo intercettati abbastanza, fermiamo il "fake-login" con ctrl+c e terminiamo l'attacco con il comando
aircrack-ng -b <indirizzo MAC della vittima> output*.cap
Se i pacchetti intercettati fossero di una sola vittima, non sarebbe necessario scrivere l'indirizzo MAC. Se invece il numero dei pacchetti non fosse sufficiente, Aircrack riproverà in automatico ogni volta a calcolare la password, fino a quando non sarà riuscito a trovarla e, generalmente, ci riuscirà dopo circa 5-8 minuti.
Per poter far partire questo programma bisogna avere i permessi di root; pertanto in molte distro Linux prima del comando bisogna digitare “sudo” (switch user do, esegui cambiando utente) e inserire la corretta password di root.