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

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 recuperare la chiave WPA dei router Alice AGPF

Figura 2. AGPF Tool Calculator
(clic per ingrandire)


AGPF Tool Calculator

WPA Tester recuperare la chiave WPA di Alice e di Fastweb

Figura 3. WPA Tester
(clic per ingrandire)


WPA Tester

Wuppy iOS di Apple chiave di Alice che di Fastweb

Figura 4. Wuppy
(clic per ingrandire)


WPA Tester

RsWpaHack Windows Mobile

Figura 5. RsWpaHack
(clic per ingrandire)


RsWpaHack

WPA Tester Android Android

Figura 6. WPA Tester Android
(clic per ingrandire)


WPA Tester Android

WiFiRec 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