Come craccare una rete WiFi

Scritto da in data 25 maggio 2013
craccare WiFi

Questa guida mostra come poter craccare una rete WiFi usando dei semplici strumenti reperibili dalla rete. Prima di entrare nel vivo del cracking è fondamentale sapere che questa guida ha soltanto uno scopo dimostrativo e si consiglia vivamente di effettuare dei test solo sulla propria rete WiFi poichè è un’azione illegale  connettersi a reti altrui senza avere il permesso dell’intestatario della rete in questione. Premessa fatta, verranno illustrati dei semplici strumenti che permettono di testare la sicurezza della propria rete WiFi.

Prima di utilizzare gli strumenti sotto elencati per poter craccare una rete WiFi è utile sapere che esistono varie tipologie di chiavi di cifratura per proteggere una rete e non tutte garantiscono lo stesso livello di protezione. In particolare le connessioni protette da una chiave WEP garantiscono un livello di protezione molto basso e quindi non è consigliata se si vuole tenere la propria connessione lontana da intrusi.

Un discorso diverso può essere fatto per le chiavi WPA e WPA2 (WiFi Protected Access) che invece garantiscono un alto livello di sicurezza, sicurezza che però può essere ugualmente violata tramite appositi programmi.

Quindi, in conclusione, possiamo dire che qualsiasi cosa cifrata da chiavi  è sempre e comunque soggetta ad attacchi crittoanalitici, ma la differenza tra una buona cifratura e una scadente sta nella mole di dati necessaria per poter decifrare il contenuto criptato e nella lunghezza della chiave.

Come craccare una rete WiFi con Aircrack-ng

Aircrack-ng è una suite di programmi che permette di effettuare l’hacking e il cracking di reti WiFi, e quindi di recuperare le chiavi dopo che un insieme di pacchetti sono stati raccolti. Come detto sopra non esiste una chiave perfettamente sicura, esiste una chiave che ha bisogno di un elevato numero di pacchetti sniffati per poter essere decifrata. Quindi lo scopo di questa suite è quella di fornire degli strumenti per catturare in pacchetti WiFi scambiati tra router e macchina, analizzarli e scoprire la chiave.

Per semplicità verrà illustrato come craccare una rete WiFi con Aircrack-ng su ubuntu (in particolare ubuntu 13.04, anche se qualsiasi macchina linux va bene allo scopo). Esiste anche la possibilità di installare Aircrack-ng su piattaforma Windows, prendendo l’ installer dal sito ufficiale ma non pienamente supportata, quindi consiglio caldamente una distro linux allo scopo.

Detto ciò  entriamo nel vivo della procedura:

Apriamo una shell bash ed installiamo da repository ufficiali la suite di programmi Aircrack-ng:

sudo apt-get install aircrack-ng

Dopo aver installato la suite, saranno  necessari i privilegi di amministratore per poter lanciare una serie di eseguibili che ci permetteranno di effettuare le operazioni di key-discovery.

Da terminale abilitate l’utente root:

sudo su

Digitate la vostra password e il terminale avrà i privilegi di amministratore; per avere una conferma di ciò possiamo osservare il simbolo “#” nel prompt bash. Successivamente andiamo ad impostare la nostra scheda di rete in modalità “monitor mode”, ossia in ascolto dei pacchetti che transitano nelle vicinanze della vostra scheda di rete con il seguente comando:

airmon-ng start wlan0

Come abbiamo precedentemente detto, abbiamo bisogno di sniffare i pacchetti scambiati tra router e macchine. Mettendo la scheda di rete in modalità “monitor mode” il nostro PC può osservare(sniffare) i pacchetti che gli transitano intorno ma  non possiamo leggerne il contenuto.Per assicurarsi che la scheda di rete  sia in “monitor mode” digitiamo:

iwconfig mon0

Controlliamo che il campo “mode” abbia il valore “Monitor” come mostra la seguente immagine:

monitor mode attivato

la scheda è in modalità monitor mode

Ora che la scheda di rete è pronta possiamo iniziare a sniffare i pacchetti digitando il seguente comando:

airodump-ng mon0

Apparirà una schermata simile alla seguente che elenca tutte le reti attive nelle vicinanze con i relativi parametri, e un elenco degli HotSpot WiFi rilevati nelle vicinanze con i relativi host collegati.

selezionare target WiFi

selezionare la rete target

Di seguito una breve descrizione dei parametri visualizzati nella shell per poter meglio comprendere cosa stiamo facendo:

  • BSSID: rappresenta il MAC address dell’Access Point.
  • PWR: indica la potenza del segnale ricevuto, maggiore sarà il valore più vicino sarà l’access point.
  • Beacons: numero di frame beacon ricevuti dall’ Access Point(sono dei pacchetti che  l’AP invia broadcast per segnalare la sua presenza).
  • Data: numero di pacchetti “Dati” ricevuti.
  • CH: è il canale su cui l’Access Point invia e riceve pacchetti.
  • MB: indica una stima della velocità di trasmissione.
  • ENC: indica l’ encoding, ossia il tipo di cifratura apportata ai pacchetti, sono possibili diversi valori tra cui: OPN=nessuna, WEP=WEP, WPA=WPA o WPA2 e infine WEP? il quale indica che non è stato possibile identificare il tipo di cifratura.
  • ESSID: rappresenta il nome della rete WiFi
  • STATION: rappresenta il MAC address dell’host connesso ad un Access Point.
  • Packets: numero di pacchetti Dati ricevuti.

A questo punto non ci resta che selezionare la rete WiFi target che vogliamo craccare e dovremmo avviare procedure diverse in base al tipo di cifratura della rete.

Come craccare una rete WiFi con cifratura WEP

Per poter craccare una rete WiFi con cifratura WEP  sono necessarie le seguenti premesse:

  1. Almeno un terminale sia connesso all’Access Point in questione, poichè dobbiamo sniffare pacchetti inviati tra client e AP.
  2. La rete in questione utilizza una chiave di cifratura WEP.
  3. Il segnale abbia una potenza minima sufficiente (se è troppo bassa i frame arriveranno corrotti).

Se i requisiti sopra riportati sono soddisfatti possiamo procedere. Utilizziamo il comando airodump-ng  e iniziamo a catturare pacchetti scambiati tra Access Point e host collegati e salvarli in file con estensione “.cap” .

Quindi basterà digitare il seguente comando da shell:

airodump-ng --channel 11 --bssid xx:xx:xx:xx:xx:xx -w dump mon0

Dove:

  1. –channel 11 sta ad indicare il canale su cui invia i pacchetti l’AP(11 in questo caso di esempio).
  2. –bssid xx:xx:xx:xx:xx:xx sta ad indicare il BSSID dell’ AP(le “x” vanno sostituite con valori alfanumerici reali).
  3. mon0 è l’alias dell’interfaccia di rete precedentemente creato.
  4. -w dump crea un file di nome “dump” in cui salva i frame catturati.

Prima di craccare la WEP airodump-ng ha bisogno di un numero minimo di pacchetti catturati/sniffati che varia tra i 250.000 e 500.000 e la velocità con cui verranno catturati dipende dall’intensità del  traffico tra host e Access Point.

Una volta raccolto un numero sufficiente di pacchetti, basterà digitare il seguente comando per effettuare la password discovery:

aircrack-ng -b xx:xx:xx:xx:xx:xx dump*.cap

L’asterisco è necessario in quanto verranno creati dei file con una numerazione successiva  e con estensione “.cap” .

La risposta al comando, sarà un KEY FOUND con la chiave della rete craccata.

Come craccare una rete WiFi con cifratura WPA

Per poter craccare una rete WiFi con cifratura WPA  sono necessarie le seguenti premesse:

  1. Almeno un terminale sia connesso all’Access Point in questione, poichè dobbiamo sniffare pacchetti inviati tra client e AP.
  2. La rete in questione utilizza una chiave di cifratura WEP.
  3. Il segnale abbia una potenza minima sufficiente per poter essere sniffato(se è troppo bassa i frame arriveranno corrotti).

Una cifratura WPA è molto più sicura rispetto ad una WEP e necessita di un tipo di attacco basato su dizionario.

Possiamo reperire dizionari ovunque in rete basta solo cercare su google, a questo link possiamo reperirne uno di esempio ma consiglio vivamente  di cercare dizionari specifici per lo scopo(come ad esempio questo).

Il procedimento è molto simile al precedente, ossia una volta selezionata la rete Target andiamo a sniffare i pacchetti:

airodump-ng --channel 11 --bssid xx:xx:xx:xx:xx:xx -w dump mon0

In generale la semantica del  comando è la seguente: airodump-ng –channel<numero_channel> –bssid<MAC address dell’ AP> <nome_file_output><alias_scheda_di_rete>.

Dopo aver lanciato il comando inizieremo a sniffare i pacchetti inviati tra host e AccessPoint e salvarli. Se notiamo che il traffico scambiato tra host e AP non è sufficiente a riuscire nel hacking in tempi accettabili o comunque  molto basso possiamo forzare l’invio di pacchetti tra i due terminali con il seguente comando in una nuova shell:

aireplay-ng -0 50 -a xx:xx:xx:xx:xx:xx -c yy:yy:yy:yy:yy:yy mon0

La semantica del comando è la seguente: aireplay-ng -o <numero_attacchi> -a <MAC address access point > -c <MAC_address_host_collegato> <alias_scheda_di_rete>.

Noteremo nell’altra shell(quella che sta catturando i pacchetti) un notevole aumento di pacchetti inviati tra i due terminali.

Una volta catturato l’handshake (visualizzato in alto a destra) possiamo iniziare  a provare la password recovery nel seguente modo:


aircrack-ng -w <nome_dizionario> -b <MAC_Access_Point> nomefile*.cap

Da notare che al posto di <nome_dizionario> va inserito il path assoluto di dove si trova il dizionario che avete scaricato al punto precedente se non è nella stessa directory di dove vi trovate nella shell.

La risposta al comando, sarà un KEY FOUND con la chiave della rete craccata.

 

Scritto da Federico Calvigioni

Nutro una grande passione per l'informatica in tutte le sue forme, laureato i ingegneria informatica amo l'arte della programmazione e sono affascinato dai sistemi UNIX, Linux in particolare.

16 Comments

  1. Alberto Perinetti

    2 luglio 2013 at 7:49

    quando lancio aireplay per es.:
    aireplay-ng -0 50 -a 00:21:96:5B:8B:54 -c FC:A7:F6:FF:FF:FF mon0

    come risposta ottengo:
    09:12:07 Waiting for beacon frame (BSSID: 00:21:96:5B:8B:54) on channel -1
    09:12:07 mon0 is on channel -1, but the AP uses channel 11

    Cosa debbo fare?
    Grazie per una risposta

    • Alberto Perinetti

      2 luglio 2013 at 8:07

      Dimenticavo:
      uso ubuntu 11.10
      Grazie ancora per un aiuto

      • Federico Calvigioni

        2 luglio 2013 at 12:47

        Ciao Alberto, sembra che tu abbia la scheda di rete in ascolto su un canale diverso da quello del BSSID, controlla che l’interfaccia mon0 sia in ascolto sul channel 11.
        airodump-ng –channel 11 –bssid xx:xx:xx:xx:xx:xx -w dump mon0

        • Alberto Perinetti

          5 luglio 2013 at 0:31

          Grazie Federico,
          Mi sembra che airodump prevede l’opzione channel.
          Ma aireplay non mi sembra, almeno nell –help non lo vedo.
          Se ho capito bene aireplay va lanciato da una finestra nuova e quando lancio aireplay mi risponde
          09:12:07 Waiting for beacon frame (BSSID: 00:21:96:5B:8B:54) on channel -1
          09:12:07 mon0 is on channel -1, but the AP uses channel 11

          Grazie per un ulteriore aiuto
          Alberto

  2. michele

    9 luglio 2013 at 6:19

    ciao, quale percorso devo scrivere per richiamare il file del dizionario? da me si trova sul desktop (scrivania).

    Grazie

  3. Cristofero

    23 luglio 2013 at 17:32

    salve, dopo che inserisco il comando airodump-ng mon0, come faccio ad eseguire i successivi comandi come ad esempio airodump-ng –channel 11 –bssid xx:xx:xx:xx:xx:xx -w dump mon0, dato che non mi spunta poi la stringa per scrivere ed eseguire i comandi? uso Ubuntu 13.04, non sono molto esperto xD

    • Federico

      22 agosto 2013 at 11:02

      Ciao, prova semplicemente ad aprire una nuova shell e digitare il comando in questione.

      • Federico Calvigioni

        22 agosto 2013 at 11:06

        O nella stessa shell, digita Ctrl+C

  4. raffo

    28 dicembre 2013 at 15:11

    troppo forte ;)

  5. tore

    9 gennaio 2014 at 21:02

    ciao federico scusa ho un problema all ultima stringa aircrack-ng -w -b ptw*.cap , ho provato ma il terminale mi risponde
    bash: D0:D4:12:9B:C5:8F: File o directory non esistente
    anche se il file si trova assolutamente nella cartella che ho digitato , io non so come continuare , x favore mi spieghi dove ho sbagliato e come riparare grazie aspetto tue notizie .

    • Federico Calvigioni

      9 gennaio 2014 at 23:06

      Ciao, secondo me ti sei perso qualche file :)
      Dal comando che lanci mi sembra di capire che stai decifrando una chiave WPA, confermi ?
      La sintassi del comando è questa:

      aircrack-ng -w -b nomefile*.cap

      Lui quindi si aspetta nello stesso path in cui lanci il comando che ci siano dei file, uno è il dizionario e l’altro sono dei file *.cap.
      Dato l’errore che ti torna la shell sembra che non trovi uno (o entrambi ;) ) i file necessari, inizierei a controllare da là !

  6. Andrea

    28 febbraio 2014 at 20:34

    Scusa, ma con cosa dovrei sostituire “nomefile? Di sicuro non il nome del dizionario, ma allora cosa sono questi file*.cap?

  7. gabriel

    23 maggio 2014 at 21:10

    Ciao Federico, se io ho windows, posso installarlo lo stesso? come faccio dato che, una volta scaricato non mi da nessun eseguibile nel pacchetto rar??

    grazie mille

    • Federico Calvigioni

      26 maggio 2014 at 9:40

      Ciao Gabriel,
      con windows ho fatto un paio di prove ma te lo sconsiglio vivamente, non sono mai riuscito a farlo funzionare correttamente!
      Ciao Federico

  8. crax

    29 settembre 2014 at 12:12

    cosa è una shell bash ?

Commenta

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>