Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

WPA crack: strumenti e tecniche

Vediamo teoria e strumenti necessari per attaccare i router più comuni
Vediamo teoria e strumenti necessari per attaccare i router più comuni
Link copiato negli appunti

Introduzione

Il reverse engineering è la migliore tecnica per analizzare nel dettaglio il funzionamento di un qualsiasi codice del quale non si conosca il sorgente. In questo articolo applicheremo il reverse engineering agli access point di FastWeb e Alice per analizzare e ricavare l'algoritmo di assegnazione della chiave Wirelss WPA.

Il Reverse Engineering di Pirelli Fastweb

Accendendo l'access point il primo dato più evidente è l'SSID (il nome della rete Wireless), così formato: "Fastweb-Y-xxxxxxxxxxxx" dove Y può assumere il valore 1 o 2, le x rispecchiano il MAC Address della scheda wireless interna. Dalle prime 3 coppie del MAC è quindi possibile capire il produttore dell'Access Point. Noi analizzeremo un Access Point Pirelli identificabili dalle seguenti prime tre coppie di MAC Address: 00:08:27, 00:13:C8, 00:17:C2, 00:19:3E, 00:1C:A2, 00:1D:8B, 00:22:33, 00:23:8E, 00:25:53.

I passi svolti dall'algoritmo per generare la WPA predefinita partendo dal SSID sono i seguenti:

  • Estrae una sequenza di 6 byte dal SSID;
  • Inizializza i vettori MD5 (MD5Init);
  • Inserisce i 6 byte del SSID nella sequenza di cui calcola l'hash MD5 (MD5Update);
  • Ricalcola l'hash MD5 (dell'hash precedente) utilizzando una sequenza di 20 byte predefinita (MD5Update);
  • Finalizza l'hash MD5 (MD5Finish);
  • Dall'hash finale crea una sequenza binaria ottenuta considerando i primi 4 byte più significativi dell'hash.
  • Questa sequenza viene a sua volta suddivisa in 5 gruppi da 5 bit ciascuno. I bit in eccesso vengono scartati. Ed ogni gruppo di 5 bit viene riconvertito in esadecimale (*) riottenendo una sequenza di 5 byte.
  • Somma 0×57 ad ogni byte il cui valore sia >= 0xA (**).
  • La concatenazione di queste rappresentazioni (con lettere minuscole) genera la WPA di default.

(*) Una sequenza da 5 bit può assumere il valore compreso tra 0×00 e 0×1F.

(**) L'aggiunta della costante 0×57 avviene poiché i caratteri tra 0xA e 0×60 (estremi inclusi) non sono validi nello spazio chiavi considerato, per cui aggiungendo 0×57 a 0xA si ottiene, appunto, ox61 (primo carattere ammesso dopo 0×09).

I punti 2, 3 e 4 dell'algoritmo sono svolti dalla funzione cript_it; essa riceve in input una sequenza di 6 byte ottenuta dalla parte terminale del SSID raggruppando i byte in 6 gruppi da 2 cifre cadauno (00,12,34,56,78,90) e ne calcola MD5, algoritmo crittografico di hashing realizzato da Ronald Rivest nel 1991 e standardizzato con la RFC 1321.

Per migliorare l'algoritmo hanno aggiunto un salt (unk_100220D0), ovvero una sequenza speciale prefissata di 0×14 (20) byte, da inserire nella sequenza alterando in modo originale la creazione dell'hash MD5. Di seguito è riportato

un estratto della funzione in questione

(cript_it).

Cript_it
.text:00480FF8       la      $t9, atomac
.text:00480FFC       jalr    $t9 ; atomac
.text:00481000       move    $a0, $s0
.text:00481004       lw      $gp, 0xA8+var_98($sp)
.text:00481008       move    $s0, $v0
.text:0048100C       addiu   $a0, $sp, 0xA8+var_90
.text:00481010       beqz    $s1, loc_48109C
.text:00481014       la      $t9, MD5Init
.text:00481018       jalr    $t9 ; MD5Init
.text:0048101C       nop
.text:00481020       lw      $gp, 0xA8+var_98($sp)
.text:00481024       move    $a1, $s0
.text:00481028       addiu   $a0, $sp, 0xA8+var_90
.text:0048102C       la      $t9, MD5Update
.text:00481030       jalr    $t9 ; MD5Update
.text:00481034       li      $a2, 6
.text:00481038       lw      $gp, 0xA8+var_98($sp)
.text:0048103C       addiu   $a0, $sp, 0xA8+var_90
.text:00481040       li      $a2, 0x14
.text:00481044       la      $a1, 0x10020000
.text:00481048       la      $t9, MD5Update
.text:0048104C       jalr    $t9 ; MD5Update
.text:00481050       addiu   $a1, (unk_100220D0 - 0x10020000)
.text:00481054       lw      $gp, 0xA8+var_98($sp)
.text:00481058       addiu   $a0, $sp, 0xA8+var_20
.text:0048105C       la      $t9, MD5Final
.text:00481060       jalr    $t9 ; MD5Final

Conoscendo il delay slot, è evidente che l'indirizzo della sequenza segreta è unk_100220D0. A tale indirizzo troviamo:

0x22,0x33,0x11,0x34,0x02,0x81,0xFA,0x22,0x11,0x41,0x68,0x11,0x12,0x01,0x05,0x22,0x71,0x42,0x10,0x66

Un esempio pratico possiamo farlo con una rete avente SSID: FASTWEB-1-00193EA1B2C al stringa di 6 byte corrisponderà a: 00,19,3E,A1,B2,C3.

Si calcola l'hash MD5 di questi 6 byte secondo l'algoritmo sopracitato ottenendo: a37d4267f1d177f44d352978d95558a9. Di questo hash si considerano i primi 4 byte nella rappresentazione binaria, ovvero 10100011 01111101 01000010 01100111. Prendiamo questa sequenza e creiamo cinque gruppi di 5 bit ciascuno, ottenendo: 10100 01101 11110 10100 00100, che rappresentati in esadecimale diventano 0×14 0×0D 0×1E 0×14 0×04.

La chiave WPA che si ottiene da questa sequenza di byte confrontando ciascun byte con 0×0A, se risulta essere maggiore viene aggiunto il valore hex 0×57, sarà: 6b64756b04.

Il Reverse Engineering di Aice AGPF

Per gli access point Alice la procedura per risalire alla chiave WPA inserita di default è più complessa rispetto a Fastweb. I router vulnerabili sono quelli costruiti da Pirelli e definiti AGPF ovvero Alice Gate Voip2 Plus WiFi, la chiave viene generata partendo dal MAC della scheda Ethernet, dal numero di serie del router e da alcuni valori fissi; dati non reperibili direttamente ma calcolabili tramite SSID e i Magic Number.

Inizialmente bisogna risalire al MAC Ethernet attraverso SSID delle rete Wireless, sfruttando il nome della rete wireless si potrà ottenere la seconda parte del MAC Address invece la prima parte invece si otterrà grazie all'elenco pubblico di assegnazione degli indirizzi dell'ente IEEE.

Successivamente dovremo risalire al numero seriale del router, questo è possibile grazie ad una attenta analisi di tutte le serie dei modelli AGPF dalle quali si ottengono numeri costanti ribattezzati “magic number”. Il seriale del router è composto da 13 caratteri, i primi cinque variano a seconda della serie e posso assumere un numero limitato di valori, poi c'è una X seguita da una serie di sette cifre calcolabili attraverso i numeri magici.

Infine per il calcolo della WPA viene sfruttato l'algoritmo di cifratura SHA256 al quale viene passato come argomento il seriale e il MAC Ethernet, il risultato ottenuto sarà una lunga serie di cifre esadecimale che una volta convertite in decimali comporranno la chiave WPA.

Appuntamento a martedì 19 luglio per la seconda parte dell'articolo, dove scopriremo tutti gli strumenti utili a recuperare le chiavi WPA dei router Alice e Fastweb

Strumenti per il recupero della chiave WPA

Per recuperare una chiave WPA predefinita sono stati sviluppati diversi applicativi per piattaforme desktop o mobili, di seguito vi sarà una mini-recensione degli applicativi disponibi.

WiRouter KeyRec, è sicuramente il software di eccellenza per il calcolo delle chiavi wireless in quanto è multipiattaforma e quindi compatibile con Windows, Linux o Mac ed integra un sistema di autoaggiornamento dei Magic Number molto utile per avere sempre i numeri magici aggiornati per il calcolo della chiave WPA di Alice. Il tool è disponibile esclusivamente su riga di comando è pertanto necessario un minimo di esperienza di questo ambiente.

Figura 1. WiRouter KeyRec
(clic per ingrandire)


WiRouter KeyRec

AGPF Tool Calculator, è un software dedicato al mondo desktop per ambienti Windows in grado di recuperare la chiave WPA dei router Alice AGPF. Viene distribuito in modalità Demo con la quale sarà possibile calcolare correttamente la chiave di default ma verrà parzialmente oscurata. Per chi fosse interessato alla versione integrale potrà contattare direttamente lo sviluppatore per aver l'abilitazione.

Figura 2. AGPF Tool Calculator
(clic per ingrandire)


AGPF Tool Calculator

WPA Tester, anch'esso è un software per ambienti Windows con la peculiarità di raccogliere in un unico applicativo la possibilità di recuperare la chiave WPA di Alice e di Fastweb e non richiede alcuna licenza per funzionare.

Figura 3. WPA Tester
(clic per ingrandire)


WPA Tester

Wuppy, è il primo software disponibile per la piattaforma iOS di Apple in grado di recuperare sia la chiave di Alice che di Fastweb. Il software è possibile reperirlo all'interno dell'App Store al costo di 1,59€.

Figura 4. Wuppy
(clic per ingrandire)


WPA Tester

RsWpaHack, è un software dedicato al mondo Windows Mobile disponibile in due versioni. La Demo permette di calcolare in maniera parziale la chiave WPA di Alice oppure con 1,99€ è possibile ottenere la versione completa che calcola totalmente la chiave WPA di Alice e aggiunge il calcolo per i router Fastweb.

Figura 5. RsWpaHack
(clic per ingrandire)


RsWpaHack

WPA Tester Android è l'applicativo dedicato a tutti i telefoni o tablet con il noto sistema operativo Android di Google, è in grado di calcolare anch'esso la chiave WPA di Alice e Fastweb ed è disponibile averlo attraverso il market Open Source YAAM.

Figura 6. WPA Tester Android
(clic per ingrandire)


WPA Tester Android

WiFiRec, recupera la tua chiave Wireless di Alice o Fastweb da Macintosh, il software è disponibile a seguito del pagamento della licenza di €1,99 ed è compatibile con Mac OS X.

Figura 7. WiFiRec
(clic per ingrandire)


WiFiRec

Conclusione

Appare evidente che legare univocamente la chiave SSID alla chiave WEP o WPA non è stata sicuramente la scelta più corretta, sicuramente assegnare la chiave a informazioni interne dell'Access Point non deducibili da alcuna combinazione di MAC o ESSID sarebbe stata una scelta più accurata. Siamo pertanto a consigliarvi di cambiare la chiave WPA o WEP di default del proprio Access Point.

Fonti: WhiteHatCrew

Ti consigliamo anche