Manuel Roccon : 26 Agosto 2024 09:25
Oggi parliamo di Wifi, comodissimo per non dover avere cavi in giro… ma parlando di sicurezza, queste reti possono essere penetrate?
In questo articolo andremo alla scoperta di come è possibile compromettere due tipologie di reti Wifi, una WEP e una WPA2 per ottenere la password di accesso. In seguito vedremo come sfruttare l’accesso alla rete ottenuto per attaccare i dispositivi collegati e infine alcuni consigli su come proteggersi da questi rischi.
L’articolo che segue è realizzato esclusivamente a scopo didattico e divulgativo. Le tecniche e i metodi descritti sono presentati con l’intento di fornire una comprensione approfondita delle vulnerabilità presenti nelle reti WiFi, allo scopo di migliorare le proprie competenze in ambito di sicurezza informatica. È fondamentale sottolineare che l’uso improprio delle informazioni contenute in questo articolo è severamente vietato e contrario ai principi etici. L’obiettivo principale è quello di sensibilizzare i lettori sui potenziali rischi legati alla sicurezza delle reti wireless e offrire le conoscenze necessarie per proteggere efficacemente i propri dispositivi e dati. La sicurezza è una responsabilità di tutti, e la comprensione delle minacce è il primo passo per difendersi.
Sei un Esperto di Formazione?
Entra anche tu nel Partner program!
Accedi alla sezione riservata ai Creator sulla nostra Academy e scopri i vantaggi riservati ai membri del Partner program.
Per ulteriori informazioni, scrivici ad [email protected] oppure su Whatsapp al 379 163 8765
Supporta RHC attraverso:
Per fare questo utilizzeremo il tool Airmon-ng incluso in kali linux.
Airmon-ng è uno strumento essenziale nella suite Aircrack-ng, utilizzato principalmente per abilitare la modalità monitor sul tuo adattatore wireless. La modalità monitor consente al tuo adattatore wireless di ascoltare tutto il traffico WiFi, anche al di fuori della rete a cui appartiene il tuo dispositivo. Ciò è fondamentale per catturare pacchetti, analizzare il traffico di rete e iniettare pacchetti nella rete di destinazione quando necessario. Si usa airmon-ng all’inizio di qualsiasi processo di auditing o penetration testing di reti wireless.
Aircrack-ng è composto da diversi strumenti come airodump-ng, aireplay-ng e aircrack-ng stesso:
Prima di iniziare dobbiamo capire la differenza tra Managed e Monitor mode.
In questo test abbiamo utilizzato questo adattatore dell’ALFA compatibile con Kali Linux.
https://www.amazon.it/ALFA-Network-Adattatore-Termine-sensibilit%C3%A0/dp/B08BJS8FXD
Molto importante è impostare la compatibilità usb 3 per farlo funzionare correttamente, questo è un esempio usando VMware.
In seguito dai menu dobbiamo collegare il dispositivo usb che avrà rilevato alla macchina virtuale. Ora se viene correttamente visto, possiamo procedere…
La modalità Managed Mode l’adattatore WiFi è impostato per ricevere solo pacchetti diretti al nostro indirizzo MAC specifico. Immagina di ricevere solo lettere consegnate a casa tua. Questa è la configurazione impostata di ogni singolo dispositivo wifi per collegarsi alla rete wifi,
La modalità Monitor Mode il dispositivo sarà in grado di ricevere tutti i pacchetti che si trovano nel raggio d’azione dell’adattatore WiFi, anche se non sono indirizzati all’indirizzo MAC della tua macchina. Immagina di essere nella sala di ricezione e smistamento postale e di guardare tutte le buste che arrivano.
Quindi quello che ci servirà adesso per leggere tutto il traffico circolante è mettere il nostro adattatore in Monitor Mode.
Per prima cosa identifichiamo il nome dell’interfaccia del adattare wireless (ad esempio, wlan0) utilizzando il ifconfig o iwconfig.
Una volta ottenuto il nome dell’interfaccia, è necessario abilitare la modalità monitor con il comando airmon-ng start seguito dal nome dell’interfaccia.
sudo airmon-ng start wlan0
Sempre con iwconfig possiamo vedere lo stato della scheda, noteremo anche che il nome dell’interfaccia è cambiato in wlan0mon.
L’attacco al protocollo WEP sfrutta le vulnerabilità del protocollo Wired Equivalent Privacy.
Il protocollo WEP è stato uno dei primi metodi di crittografia utilizzati per proteggere le reti wireless.
Nel corso degli anni sono stati sviluppati diversi metodi per caricare la crittografia WEP a causa delle sue deboli chiavi di crittografia, qui sotto vedremo il più semplice ma faremo un accenno ad altri metodi che possiamo sfruttare.
Per decifrare la chiave WEP, dobbiamo raccogliere molti vettori di inizializzazione (IV). Anche se il normale traffico di rete in genere non genera questi IV molto rapidamente, proviamo a raccogliere IV sufficienti per decifrare la chiave WEP, semplicemente ascoltando il traffico di rete scambiato dai device collegati.
In seguito vedremo altre tecniche per generare il traffico sufficiente a velocizzare il cracking senza aver bisogno di client collegati, come ad esempio il KORECK ChopChop.
Anche se l’attacco è abbastanza procedurale, lascio una referenza per chi volesse capire più in dettaglio come funziona la crittografia WEP e perché è vulnerabile da questo tipo di attacchi.
https://cybr.com/certifications-archives/initialization-vector-iv-attacks-with-wep-comptia-security
Per iniziare verifichiamo le reti disponibili utilizzando il comando:
sudo airodump-ng wlan0mon
wlan0mon è il nome della rete in monitor mode vista prima.
In questa schermata possiamo vedere
Dopo aver individuato la rete WEP da attaccare ricaviamo BSSID (30:B5:C2:47:B7:5B) e canale (2) della rete (evidenziati nell’immagine precedente)
In seguito catturiamo tutto il traffico da questo BSSID e scriviamolo in un file cap
Utilizziamo il comando:
sudo airodump-ng -c 2 –bssid 30:B5:C2:47:B7:5B –write crackwep wlan0mon
Questo comando scriverà in un file tutto il traffico rilevato in un file che si chiamerà crackwep-XX.cap presente sulla root directory da dove abbiamo lanciato il comando incluso il numero incrementale a seconda dei tentativi di acquisizione che abbiamo fatto.
In questa schermata possiamo vedere i MAC address di dispositivi collegati (STATION) e notiamo che sono presenti dei dispositivi che stanno facendo traffico. Quindi possiamo continuare con l’attacco.
Ora continuando a catturare il traffico, con un altro comando andiamo alla ricerca della chiave sul traffico catturato.
Utilizziamo il comando:
aircrack-ng crackwep-01.cap
Possiamo vedere che il campo #data in airodump-ng (visto prima) e Got in aircrack-ng aumenteranno man mano che i device collegati generano traffico.
Aircrack-ng avrà bisogno di un pò di tempo per catturare pacchetti a sufficienza per poter ricavare la chiave dagli IVs trovati, il tempo sarà inferiore più ci sa il traffico catturato.
Con un chiave da 64 bit ci vorranno circa 15k IVs mentre di più con chiavi più lunghe ci vorrà del tempo in più.
Dopo aver aspettato il tempo necessario, aircrack recupererà correttamente la password (12345)
Ci sono altre tecniche per recuperare la chiave WEP che non analizzeremo nel dettaglio ma nella referenza di airmon-ng è spiegato molto bene.
HIRTE (https://www.aircrack-ng.org/doku.php?id=hirte)
L’attacco Hirte è un attacco client che può usare qualsiasi pacchetto IP o ARP, generando un falso AP per raccogliere questi pacchetti dagli altri client che si collegheranno.
ARP replay attack (https://www.aircrack-ng.org/doku.php?id=arp-request_reinjection):
Il aircrack cercherà di catturare un pacchetto ARP e per poi ri-trasmetterlo all’access point. Questo, a sua volta, fa sì che l’access point ripeta il pacchetto ARP con un nuovo IV.
Aircrack poi ri-trasmette lo stesso pacchetto ARP più e più volte.
Tuttavia, ogni pacchetto ARP ripetuto dall’access point ha un nuovo IV. Sono tutti questi nuovi IV che consentono di determinare la chiave WEP come visto prima.
KORECK ChopChop (https://www.aircrack-ng.org/doku.php?id=korek_chopchop)
Dopo un fake login (aireplay-ng –fakeauth) viene eseguita la forgiatura e iniezione di pacchetti per poi recuperare i IVs e infine individuare la chiave.
Attacco KORECK come ARP replay attack non necessitano la presenza di altri client collegati all’APP che facciamo traffico.
Ora vedremo come craccare una password WPA/WPA2, il processo è relativamente semplice, ma rispetto al WEP dovremmo tentare di craccare hash di autenticazione ottenuto, questo vuol dire che se la password è complessa e non presente nei principali dizionari, come rockyou sarà molto difficile ottenere la chiave.
Ora l’obiettivo è catturare handshake di autenticazione (4-way handshake) una volta che i client collegati proveranno a collegarsi al AP.
sudo airodump-ng wlan0mon
Ricaviamo quindi da qui il BSSID (30:B5:C2:47:B7:5B) del punto di accesso e il canale CH. Verifichiamo inoltre che sia una rete WPA.
Inoltre ricaviamo il MAC address di un client collegato (00:13:D3:7D:9E:9F).
Ora avviamo airodump-ng per catturare handshake, molto importante per tentare di ricavare la chiave.
sudo airodump-ng -c 2 –bssid 30:B5:C2:47:B7:5B –write handshake wlan0mon
Allo stesso tempo che stiamo in attesa del handshake con il comando precedente, forziamo 10 volte la disconnessione di un client collegato all’AP tramite il comando:
sudo aireplay-ng –deauth 10 -a 30:B5:C2:47:B7:5B -c 00:13:D3:7D:9E:9F wlan0mon
Una volta che si connetterà, airmoin-ng cercherà di catturare handshake scambiato tra AP e il client vittima.
Essendo airdodump genera un CAP file contenente handshake catturati è necessario convertirlo in un formato compatibile con hashcat, strumento che useremo poi per craccare hash.
Lo possiamo fare velocemente a questo link online https://hashcat.net/cap2hashcat/
Se volete un pò di privacy, potete farlo anche con il suo tool offline.
Una volta caricato avviamo un esito positivo: abbiamo estratto handshake.
Ora non ci resta altro che tentare di craccare handshake. In questa fase possiamo usare bruteforcing (magari con una lista creata con crunch), usare delle rainbow table oppure un dizionario.
In questo caso usiamo il classico dizionario rockyou tramite hashcat, famoso tool per craccare hash di vario tipo.
Quindi eseguiamo il comando:
hashcat -m 22000 400453_1723133379.hc22000 /usr/share/wordlists/rockyou.txt
-m indica il mode per decifrare hash WPA, successivamente abbiamo indicato il file convertito e il dizionario.
https://hashcat.net/wiki/doku.php?id=cracking_wpawpa2
A questo punto non ci resta che aspettare e sperare di trovare la chiave.
Bè ottenuta la chiave potremmo intrufolarsi all’interno della rete e inizierò la nostra ricognizione, come il classico nmap.
Possiamo utilizzare però qualche tool interessante come eseguire del poisoning LLMNR nella speranza che qualche endpoint si colleghi a un percorso di rete scoprendo l’hash di autenticazione.
Per prima cosa mettiamo il nostro adattatore Wifi in managed mode, e colleghiamoci alla rete wifi.
Avviamo il comando responder, indicando l’interfaccia di rete corretta.
Quindi aspettare che un client della rete cerchi di accedere a una directory di rete e recuperare hash NTLM o NTLMv2.
In alternativa sui sistemi più recenti ci aspetteremo un V2, potremmo utilizzare sempre questo tool per come replay SMB, sempre che il protocollo SMB non sia firmato.
MITM
Infine potremmo eseguire Mitm tramite ARP poisoning e sniffare il traffico con WireShark alla ricerca di informazioni interessanti non crittografate.
Un attacco man-in-the-middle (MITM) è un attacco informatico in cui un autore della minaccia si mette in mezzo tra due parti, in genere un utente e un’applicazione, per intercettare le loro comunicazioni e gli scambi di dati e utilizzarli per scopi dannosi, come acquisti non autorizzati o hacking.
quindi attiviamo la modalità IP FORWARD
echo 1 > /proc/sys/net/ipv4/ip_forward
recuperiamo IP della vittima (192.168.1.100) e il gateway della rete wifi (192.168.1.1)
Quindi eseguiamo assieme i comandi:
sudo arp arpspoof -i wlan0 192.168.1.1 192.168.1.100
e
sudo arp arpspoof -i wlan0 192.168.1.100 192.168.1.1
Ora per magia aprendo wireshark vedremo che il traffico scambiato tra vittima e gateway passa per la nostra interfaccia di rete.
Potremmo spiare e sniffare alla ricerca di traffico interessante non crittografato.
MITMf
Un altro tool interessante è il framework MITMf, che permette vari tipi di attività, come ARP poisoning e LLMNR spoofing visti prima integrato in Kali Linux.
Otteniamo lo stesso risultato di prima con il comando:
sudo python mitmf.py -i wlan0 –spoof –apr 192.168.0.108 –gateway 192.168.0.1
E sempre aprendo wireshark come visto nel esempio precedente potremmo catturare i pacchetti scambiati tra il gateway e il dispositivo attaccato.
Una completa documentazione è presente qui:
https://charlesreid1.com/wiki/MITMf
Questi test ci hanno fatto capire come tecnologie datate o password deboli ci possono mettere in pericolo:
Per cui alcuni consigli pratici:
Infine considerare gli avvisi che i dispositivi ci potrebbero dare.
Windows ci avrebbe avvertiti che la rete WEP non era affidabile e di stare possibilmente alla larga. La rete la potremmo anche conoscere e magari anche nostra, ma come dimostrato dagli esempi precedenti potrebbero esserci ospiti inattesi in ascolto.