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](/sites/default/files/inline-images/Nancy_Cam-Winget-800px_0.jpg)
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).
![rete wep](/sites/default/files/inline-images/Schermata%20a%202018-02-28%2019-58-05.png)
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
![comando airmon](/sites/default/files/inline-images/Schermata%20a%202018-02-28%2019-39-09.png)
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.