Indice
Fragmentation Attack
Descrizione
Questo attacco, quando funziona, può ottenere i 1500 byte del PRGA (pseudo random generation algorithm). Questo attacco non serve per recuperare la chiave WPA in se, ma per ottenere il PRGA. Successivamente quest'ultimo può essere utilizzato per generare pacchetti con packetforge-ng ed utilizzarli nei vari attacchi di injection. Richiede almeno un pacchetto dati ricevuto dall'access point per iniziare l'attacco.
Fondamentalmente, il software ottiene una piccola quantità di informazioni sulla chiave dal pacchetto e aspetta di inviare pacchetti ARP e/o LLC dal contenuto noto all'access point (AP). Se il pacchetto viene inoltrato con successo dall'AP, allora possono essere ottenute molte informazioni sulla chiave dai vari pacchetti di ritorno. Questo ciclo si ripete tante volte fino ad ottenere i 1500 byte, o meno, del PRGA.
Il testo originale, The Fragmentation Attack in Practice, di Andrea Bittau fornisce una descrizione molto più accurata dei dettagli tecnici di questa tecnica. Una copia locale si trova qui. Qui ci sono le slide relative al testo. Una copia locale delle slide si trova qui. Vedere anche il testo “The Final Nail in WEP's Coffin” in questa pagina.
Utilizzo
aireplay-ng -5 -b 00:14:6C:7E:40:80 -h 00:0F:B5:AB:CB:9D ath0
Dove:
- -5 indica l'attacco fragmentation
- -b 00:14:6C:7E:40:80 è il MAC address dell'access point
- -h 00:0F:B5:AB:CB:9D è il MAC address sorgente del pacchetto da iniettare
- ath0 è il nome dell'interfaccia da utilizzare
Facoltativamente, possono essere applicati i seguenti filtri:
- -b bssid : MAC address dell'Access Point
- -d dmac : MAC address destinatario
- -s smac : MAC address sorgente
- -m len : lunghezza minima del pacchetto
- -n len : lunghezza massima del pacchetto
- -u type : frame di controllo, campo tipo
- -v subt : frame di controllo, campo sottotipo
- -t tods : frame di controllo, FromDS
- -f fromds : frame di controllo, ToDS
- -w iswep : frame di controllo, bit WEP
Facoltativamente, possono essere settate le seguenti opzioni di replay:
- -k IP : indirizzo IP destinatario - di defaults 255.255.255.255
- -l IP : indirizzo IP sorgente - di defaults 255.255.255.255
Esempi
Sostanzialmente si avvia l'attacco con il seguente comando e si seleziona il pacchetto da provare:
aireplay-ng -5 -b 00:14:6C:7E:40:80 -h 00:0F:B5:AB:CB:9D ath0 Waiting for a data packet... Read 96 packets... Size: 120, FromDS: 1, ToDS: 0 (WEP) BSSID = 00:14:6C:7E:40:80 Dest. MAC = 00:0F:B5:AB:CB:9D Source MAC = 00:D0:CF:03:34:8C 0x0000: 0842 0201 000f b5ab cb9d 0014 6c7e 4080 .B..........l~@. 0x0010: 00d0 cf03 348c e0d2 4001 0000 2b62 7a01 ....4...@...+bz. 0x0020: 6d6d b1e0 92a8 039b ca6f cecb 5364 6e16 mm.......o..Sdn. 0x0030: a21d 2a70 49cf eef8 f9b9 279c 9020 30c4 ..*pI.....'.. 0. 0x0040: 7013 f7f3 5953 1234 5727 146c eeaa a594 p...YS.4W'.l.... 0x0050: fd55 66a2 030f 472d 2682 3957 8429 9ca5 .Uf...G-&.9W.).. 0x0060: 517f 1544 bd82 ad77 fe9a cd99 a43c 52a1 Q.D...w.....<R. 0x0070: 0505 933f af2f 740e ...?./t. Use this packet ? y
Il programma risponde come segue (o in modo simile):
Saving chosen packet in replay_src-0124-161120.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-0124-161129.xor Now you can build a packet with packetforge-ng out of that 1500 bytes keystream
Il PRGA è stato ottenuto con successo ed è stato memorizzato nel file nominato dal programma. Ora è possibile usare packetforge-ng per realizzare uno o più pacchetti da usare con i vari tipi di attacchi di injection.
Suggerimenti
- Il MAC address sorgente utilizzato nell'attacco dev'essere associato con l'access point. Per fare questo, è possibile usare l'attacco fake authentication o usare un MAC address di un client wireless esistente.
- Per i driver madwifi-ng (chipset Atheros), bisogna cambiare il MAC address della scheda col MAC address utilizzato per l'injection, altrimenti l'attacco non funzionerà. Vedere questa FAQ per sapere come cambiare il MAC address della scheda.
- L'attacco fragmentation invia un alto numero di pacchetti che devono essere tutti ricevuti dall'access point per determinare il successo dell'attacco. Se uno qualsiasi di questi pacchetti viene perso, l'attacco fallirà. Questo significa che bisogna disporre di una connessione con una qualità tale da raggiungere l'AP.
- La pagina dei tutorial contiene un numero consistente di tutorial che utilizzano l'attacco fragmentation. Questi forniscono esempi di come utilizzarlo ed informazioni sulla risoluzione dei problemi.
- Quando dire di no ad un pacchetto? Ci si potrebbe chiedere se esistono delle volte in qui bisogna dire “no” alla selezione di un pacchetto specifico. Si, se si è scelto un pacchetto che non ha funzionato precedentemente, è possibile ignorarlo in futuro. Esempi possono essere strani MAC address multicast o qualsiasi altra cosa sospetta.
Risoluzione dei problemi
In generale
- Assicurarsi che la scheda supporti pienamente l'injection. Usare il test di injection per confermarlo.
- Assicurarsi che il MAC che si sta usando sia associato con l'AP.
- Assicurarsi di essere nello stesso canale utilizzato dall'AP.
- Inoltre vedere la risoluzione dei problemi generali di aireplay-ng: risoluzione dei problemi di aireplay-ng.
Sebbene non vi siano suggerimenti diretti per la risoluzione dei problemi dovuti all'attacco fragmentation, nel caso in cui non si riuscisse ad effettuare un attacco che funzioni, potrebbero essere scelte delle valide alternative tra le seguenti:
- attacco Korek chopchop: Una tecnica alternativa per ottenere il PRGA al fine di realizzare pacchetti per una sequenza di injection.
- metodo -p 0841: Questa tecnica permette di reiniettare qualunque pacchetto dati ricevuto dall'access point e generare IV.
messaggio "Not enough acks, repeating"
Se si riceve un messaggio simile al seguente:
20:49:37 Sending fragmented packet 20:49:37 Not enough acks, repeating... 20:49:37 Sending fragmented packet 20:49:38 Not enough acks, repeating... 20:49:38 Sending fragmented packet 20:49:39 No answer, repeating...
Le motivazioni possibili sono:
- Troppo vicini o troppo lontani dall'Access Point
- Il driver crea problemi. Specialmente le versioni mac80211 non sono stabili su questo punto come le versioni ieee80211. Provare la versione ieee80211 o provare una versione differente dello stesso driver. Questo si riferisce particolarmente al driver madwifi-ng.