giovedì 8 maggio 2014

[CentOS] Testare la chiave WPA / WPA2 della propria rete wireless

Quando un computer si collega ad una rete wireless avviene a grandi linee il seguente processo:

1 L'access point invia all'ambiente circostante pacchetti per avvisare della sua presenza (Beacon frame)

2 Il client rileva la rete e fa richiesta all'access point di potersi associare

3 L'access point da l'ok al client

4 Il client si associa alla rete ma non è autenticato

5 Il client chiede l'autenticazione alla rete

6 l'access point chiede le credenziali per l'autenticazione (la passphrase)

7 Il client fornisce le credenziali

8 L'access point verifica le credenziali e, se sono giuste, autentica il client alla rete

Durante la fase 7 e 8 viene trasmesso un pacchetto chiamato 'handshake' all'interno del quale c'è la passphrase impostata sull'access point.

Per testare la robustezza della chiave (la passphrase) della propria rete wireless, procedere nel seguente modo:

1) Installare la suite Aircrack-ng:

- andare al seguente sito  http://li.nux.ro/download/nux/dextop/el6/i386/ e scaricare il seguente pacchetto nux-dextop-release-0-2.el6.nux.noarch.rpm.

- installare il pacchetto appena scaricato:

home # rpm -Uvh nux-dextop-release*rpm

- Installare Aircrack-ng:

home # yum install -y aircrack-ng

 2) Avviare i programmi per la ricerca delle reti:

- verifichiamo che la scheda di rete sia presente e funzionante:

home # iwconfig                 (verrà visualizzata la lista della scheda/schede wireless installate)

- verifichiamo che la scheda venga rilevata dal programma della suite di aircrack:

home # airmon-ng             (vi mostrerà la descrizione del chipset e il nome assegnato -di solito wlan0)

- mettiamo la scheda di rete in 'monitor mode':

home # airmon-ng start wlan0    (da adesso alla scheda di rete viene assegnato il nome mon0)

Nel caso in cui vi venga mostrato un avviso del tipo:

Found X processes that could cause trouble.
If airodump-ng, aireplay-ng or airtun-ng stops working after
a short period of time, you may want to kill (some of) them!

PID     Name
 xxxx  nome servizio
 xxxx  nome servizio


si può procedere con la chiusura dei servizi elencati tramite il seguente comando:

home # kill -9 'n° PID servizio'

3) Visualizziamo le reti wireless e i relativi client associati:

home # airodump-ng --encrypt wpa mon0

(comparirà una schermata divisa un due parti, la superiore riguarda gli access poit e quella inferiore i client associati ai relativi access point)

- Ora prendiamo nota del Mac Address del proprio router ed il canale con cui opera (riquadro superiore colonna BSSID e CH) e terminiamo il programma con CTRL+C.

 - Annotato i due parametri ricreiamo l'interfaccia per monitorare la rete (interfaccia mon0):

home  #  airmon-ng stop mon0           (disattiva la funzione di monitor sulla scheda di rete)

- ipotizzando che la nostra rete sia sul canale 5:

home # airmon-ng start wlan0 5

(verrà visualizzata la descrizione della shceda di rete wireless ed alla fine la dicitura
(monitor mode enabled on mon0))

4) Salvare l'handshake:

- Avviamo il programma per il recupero del pacchetto handshake (dentro a questo pacchetto c'è la password di rete):

home # airodump-ng --bssid XX:XX:XX:XX:XX:XX -c 5 -w nomefile mon0

 dove:

XX:XX:XX:XX:XX:XX = indirizzo MAC Address dell'access point

-c = canale al quale opera l'access point

-w = nome file da creare dove verrà salvato l'hanshake

-mon0 = interfaccia della scheda di rete in modalità monitor

Il tempo per riuscire a recuperare l'handshake dipende da molteplici fattori quali: la distanza dall'access point, nessun client autenticato o già autenticato etc.
Quando airodump riuscirà a recuperare il pacchetto che ci interessa, comparirà in alto a destra una scritta simile a questa

[ WPA handshake: xx:xx:xx:xx:xx:xx ]

Nel caso in cui si ha difficoltà nel reperire l'handshake in quanto i client sono già autenticati, si può procedere con la deautenticazione del client, per fare ciò digitiamo:

- home # aireplay-ng --deauth 1 -a XX:XX:XX:XX:XX -c YY:YY:YY:YY:YY:YY mon0

dove: 

-a XX:XX:XX:XX:XX = è il MAC Address dell'access point

-c YY:YY:YY:YY:YY:YY = è il MAC Address del client 

Se il comando sopra avviato va a buon fine (in caso contrario ridarlo dopo pochi secondi), il client si disconnette e si riconnette dandoci la possibilità di catturare l'handshake. 
  
5)  Trovare la chiave tramite dizionario:

- Una volta ottenuto l'handshake, interrompere airepaly ed avviare aircrack:

home # aircrack-ng nome file creato con airodump.cap -w wordlist.txt

(il file 'wordlist.txt' è un dizionario incluso nella suite di aircrack).

Nel caso in cui si è scelto una chiave di rete debole (es. cane), aircrack dopo un pò di tempo visualizzera la stringa 'KEY FOUND' mostrandola in esadecimale.

Nessun commento:

Posta un commento