martedì 22 marzo 2016

Hacking WiFi: Scoprire Password WiFi Con Kali Linux e Aircrack

Considerato che molti di voi me l'hanno chiesto più volte, ecco una guida abbastanza semplice che spiega come hackerare una rete WiFi (scoprire una password WiFi). Bando alle chiacchiere, iniziamo!

Premessa

Tutto quello che troverai in questa guida (e in generale sul blog) è a solo scopo informativo e non vuole essere di incoraggiamento a compiere reati informatici. Crackare una rete WiFi è illegale. Quindi puoi testare solo la tua rete WiFi.

La Tecnica

1. Set up

Innanzitutto ci sono dei requisiti:
  • Sistema operativo Linux (consiglio Kali Linux per fare questo tipo di test sulla sicurezza).
  • Aircrack-ng. Su Kali Linux è già installato, se usi un'altra distro puoi semplicemente scaricarlo da qui.

Cos'è Aircrack-ng? Non è altro che una suite (un insieme di software, di tool) adatto proprio a fare questo tipo di test su una rete.

Andiamo a crearci una cartella dove andare a lavorare (dove verranno memorizzati i file generati da aircrack).

Apri il terminale Linux. Muoviti nella directory dove vuoi creare la cartella (suppongo tu sappia farlo col comando ls). Poi crea la cartella dove andare a lavorare (chiamiamola ad esempio prova) digitando:
mkdir prova
Ora, devi conoscere qual è la tua interfaccia della tua scheda di rete wireless.

Dal terminale digita:
iwconfig
Di solito l'interfaccia wireless che utilizzi è wlan0, ma nel caso usassi una chiavetta wireless allora è possibile anche che si chiami wlan1. In questa guida ipotizzo che la tua interfaccia sia wlan0.

2. Monitor mode

Ora dobbiamo settare la scheda di rete wireless (o la tua chiavetta wireless nel caso tu usassi una chiavetta) in monitor mode. Detto in parole povere, in questa modalità la tua scheda di rete potrà intercettare i pacchetti che viaggiano nella rete anche se tu non sei il destinatario dei pacchetti.

Per fare ciò utilizzeremo il tool airmon-ng (che ovviamente fa parte della suite di aircrack-ng), digita da terminale:
airmon-ng start wlan0
Ovviamente, nel caso la tua interfaccia sia wlan1 scrivi wlan1 anzichè wlan0.

Ora se digiti da terminale:
iwconfig
puoi notare che oltre alla tua interfaccia wireless c'è anche mon0 che è l'interfaccia creata da airmon-ng. Questa interfaccia funziona in monitor mode, ecco perchè si chiama così.

3. Intercettare l'handshake

Ora dobbiamo intercettare i pacchetti che viaggiano nella rete. In particolare vogliamo catturare (intercettare) uno speciale tipo di pacchetto chiamato handshake grazie al quale possiamo, una volta averlo catturato, crackare la password WiFi.

Un handshake viene generato quando un dispositivo si connette alla rete WiFi.

Possiamo intercettare (ovvero a dumpare) i pacchetti digitando il comando:
airodump-ng mon0 -w capture
Airodump-ng intercetterà i pacchetti, utilizzando mon0, e li memorizzerà in vari file che, in questo caso, inizieranno col prefisso capture (ecco perchè c'è quel -w capture), puoi chiamare questo prefisso come vuoi, in questa guida l'ho chiamato capture giusto per rendere l'idea dei pacchetti catturati. Quindi, come già detto, verranno creati vari file nella directory corrente, ecco perchè all'inizio ti ho fatto la cartella prova dove andare a lavorare, in questo modo avremo tutti i file nella cartella prova anzichè "sporcare" il Desktop.

Dovrai dumpare i pacchetti fin quando non avrai catturato un handshake, ovvero fin quando non apparirà la scritta WPA handshake (o WPA2 handshake) come nell'immagine di sotto:


Questa guida è solo a scopo informativo, quindi testa la tua stessa rete WiFi. Per generare un handshake puoi disconnettere e riconettere un dispositivo alla tua rete WiFi.

Aspetta qualche secondo e dai un'occhiata ad airodump-ng per vedere se ha catturato l'handshake. Se non lo ha catturato, di nuovo disconnetti e riconnetti un dispositivo al WiFi fin quando airodump-ng non riesce a catturare un handshake.

(Opzionale: In una guida futura, più avanzata, vedremo anche come far disconnettere un dispositivo in modo che sia obbligato a riconnettersi.)

Una volta catturato un handshake puoi terminare airodump-ng premendo Ctrl + C.

Ora puoi anche chiudere l'interfaccia mon0, digitando:
airmon-ng stop
Se dai un'occhiata dentro la tua cartella prova, puoi notare come airodump-ng abbia creato alcuni file che iniziano col prefisso capture (ad esempio: capture-01.cap, capture-01.csv, ecc...).

4. Crackare la password WiFi


Questa tecnica di cracking consisterà nel compiere un attacco bruteforce a dizionario (se non sai cos'è un bruteforce eccoti alcuni link utili: [1], [2], [3]) tentando varie password e, grazie, all'handshake catturato potrà capire quale sarà quella giusta.

(Opzionale: In realtà l'handshake che abbiamo catturato è criptato secondo la password del WiFi. Quindi per scoprire la password il bruteforce cripterà un handshake, hanno tutti uno stesso formato standard, utilizzando varie password fin quando l'handshake catturato e quello appena criptato combaceranno. Per maggiori informazioni sulla crittografia segui la mia guida.)

Abbiamo, dunque, bisogno di un dizionario. In rete ce ne sono molti. Io ti consiglio, per testare la tua rete WiFi e dimostrarti che questa tecnica funziona, di creare semplicemente un file che contiene varie password casuali e che contiene anche quella giusta. Chiamalo, ad esempio, dizionario.txt e mettilo nella cartella prova creata all'inizio.

Per fare questo attacco bruteforce a dizionario utilizziamo il tool aircrack-ng. Digita da terminale:
aircrack-ng -w dizionario.txt capture-01.cap
Se te lo chiede, decidi quale rete WiFi crackare (inserendo il numero corrispondente e premendo Invio). A quel punto inizierà il cracking... 

Aircrack-ng farà un attacco bruteforce sui vari handshake catturati (che nel nostro caso si trovano nel file capture-01.cap) utilizzando le password che si trovano nel file dizionario.txt.

Aircrack-ng riesce a provare tante password al secondo, quindi impiegherà pochissimo tempo con dizionari piccoli.

Quando verrà trovata la password giusta apparirà la scritta "KEY FOUND" e tra parentesi quadre ci sarà la password trovata (vedi l'immagine qui sotto).


Ovviamente, se il dizionario non contiene la password giusta allora l'attacco non è andato a buon fine. Occorre provare con un dizionario più grande oppure provare con una tecnica completamente differente.

Conclusioni

Questa guida è abbastanza basilare, in futuro conto di farne una un po' più avanzata.

Se hai domande, dubbi, problemi o anche suggerimenti non esitare a commentare.

10 commenti:

  1. Attualmente non ho provato, ma ti faccio i complimenti per la guida, vedo che hai ricominciato con guide più avanzate, magari perchè non fai una guida sulla creazione di una irc botnet, magari gestendola attraverso un client IRC, come per esempio mIRC :D, continua così!

    RispondiElimina
  2. Ciao scusa io non riesco proprio ad installare Linux nè seguando la tua guida BeckTrack è nè con Virtualbox, potresti aiutarmi ?

    RispondiElimina
    Risposte
    1. Ciao su Virtualbox anche a me dava problemi, poi ho scoperto che devi scaricare la versione di Kali apposta per Virtualbox.

      Per quanto riguarda l'installazione (sul tuo PC, non su Virtualbox) ti consiglio questa guida (è per l'installazione da penna USB): http://it.docs.kali.org/installing-kali-linux-it/installazione-live-usb-di-kali-linux

      Elimina
    2. In Questo modo si perde l'attuale sistema operativo che ho ?

      Elimina
    3. Se lo installi in dual boot no.

      E neanche se lo avvii su macchina virtuale (su Virtualbox per intenderci).

      Elimina
  3. Un metodo che non prevede bruteforce non esiste?

    RispondiElimina
  4. La prima volta che ho provato non ho avuto nessun problema riuscendo ad arrivare alla password. Ma poi rifacendolo una seconda volta quando faccio partire airmon-ng scrivendo "airmon-ng start wlan0" mi dice esattamente questo: Found 3 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!
    Newly created monitor mode interface wlan0mon is not in monitor mode. Removing non-monitor wlan0mon interface.
    Le istruzioni le ho capite ma non so come fare. Grazie in anticipo!

    RispondiElimina
  5. grazie guida molto utile sono riuscito benissimo

    RispondiElimina
  6. Se ci sono dei processi che causano problemi all'inizio digita: "airmon-ng check kill"

    RispondiElimina