Recupero Chiave WPA FastWeb – Dettagli Tecnici

Analizziamo in questo articolo il funzionamento e la tecnica che ci ha permesso di costruire WPA Recovery e pertanto al Disassemblaggio della funzione generatrice di tutte le chiavi WPA Pirelli/FastWeb.

Nonostante questo post sia esclusivamente relativo a Fastweb, il problema non riguarda solamente questo provider ma la più generale nozione di sicurezza dei provider Italiani.

La maggior parte degli utenti che scelgono una encriptazione WPA-PSK si sentono abbastanza sicuri in quanto questo protocollo risulta essere molto robusto, e ciò è effettivamente vero! Ma da quello che apprenderete vi renderete subito conto che il problema sta da un altra parte. Molto spesso tra le sedia e la tastiera! Molte società preferiscono spendere milioni di € in campagne pubblicitarie e non si curano di realizzare dei progetti robusti in termini di sicurezza per garantire la privacy del Cliente.

  • La prima parte di questo articolo sarà una breve introduzione alle notazioni utilizzate e le specifiche tecniche a cui si farà riferimento.
  • Nella seconda parte vedremo nel dettaglio le scelte progetuali adottate per la costruzione della chiave WPA-PSK predefinita impressa nell’etichetta sotto ogni router. Parleremo inoltre dell’architettura degli HAG Fastweb e del modello Pirelli in particolare.
  • Nella terza parte vedremo invece la tecnica di Reverse Enginnering applicata ad un firmware Pirelli Fastweb che ci ha portato alla scoperta dell’algoritmo di generazione della chiave WPA di default.
  • Infine nell’ultima parte accenneremo alle possibili soluzioni per ovviare questi tipi di problemi e garantire perciò una maggiore sicurezza per le comunicazioni di tipo wireless.

Notazioni

MAC Address: codice di 48 bit (6 byte) assegnato in modo univoco ad ogni scheda di rete ethernet prodotta al mondo. Rappresenta in sostanza un nome per un particolare dispositivo di rete. Gli indirizzi MAC vengono solitamente rappresentati in formato esadecimale, separando ciascun ottetto con un trattino o con i due punti. Un esempio di indirizzo MAC è “00-08-74-4C-7F-1D”. Confrontando i primi tre ottetti con le assegnazioni OUI dell’IEEE, si può osservare come esso appartenga alla Dell Corporation, mentre gli ultimi tre ottetti rappresentano il numero seriale assegnato al componente dal produttore.

Ogni scheda ha un indirizzo unico perché i primi 24 bit sono identificativi della casa produttrice e i successivi della scheda. In questo modo ogni casa produttrice ha a disposizione 2 alla 24 indirizzi, quindi può produrre più di 16 milioni di schede; se un produttore ne produce meno, gli indirizzi (a 48 bit) non assegnati vengono persi, non potendo essere utilizzati da altri costruttori. Una lista dei vendors si può trovare a questo indirizzo: Vendors

SSID: il Service Set Identifier è il nome con cui una rete Wi-Fi si identifica ai suoi utenti. Spesso gli access point sono configurati in modo da annunciare continuamente i loro SSID, cossicché i dispositivi Wi-Fi possano creare un elenco delle reti disponibili nella zona in cui si trovano.

WEP: Wired Equivalent Privacy: è un protocollo di sicurezza per reti wireless ormai insicuro e ritenuto legacy.

WPA-PSK: Wi-Fi Protected Access (WPA e WPA 2) è un programma di certificazione e un protocollo per la sicurezza di reti wireless, basato sull’uso di password, amministrato dall’alleanza del Wi-Fi come forma di protezione per le reti di computer wireless.

HAG: Home Access Gateway. Apparato di rete in dotazione dei clienti Fastweb, l’equivalente router/modem fornito ai clienti di altri ISP nazionali. In ingresso riceve un segnale digitale proveniente dalla rete Fastweb, in uscita fornisce un segnale telefonico analogico tradizionale e un segnale dati a velocità variabile, dipendente dal tipo di cablaggio dell’utenza: fibra ottica o xDSL.

Brute Force: Il metodo “forza bruta” è un algoritmo di risoluzione di un problema che consiste nel verificare tutte le soluzioni teoricamente possibili fino a che si trova quella effettivamente corretta.

Il suo principale fattore positivo è che consente teoricamente sempre di trovare la soluzione corretta, ma per contro è sempre la soluzione più lenta o dispendiosa; viene utilizzato come ultima risorsa sia in crittanalisi che in altre parti della matematica solamente in quei casi dove sia l’unico procedimento conosciuto.

Attacco a dizionario: Nella crittanalisi e nella sicurezza informatica, un attacco a dizionario è una tecnica per “rompere” un codice cifrato o un meccanismo di autenticazione provando a decifrare il codice o a determinare la passphrase cercando tra un gran numero di possibilità. In pratica si tenta di accedere a dati protetti da password (sia remoti, come ad esempio accounts su siti web o server di posta; sia locali, come documenti o archivi protetti da password) tramite una serie continuativa e sistematica di tentativi di inserimento della password, solitamente effettuati in modo automatizzato, basandosi su uno o più dizionari. In contrasto con un metodo forza bruta (o attacco brute force), dove tutte le possibili password sono ricercate in maniera esaustiva, un attacco a dizionario prova solamente le possibili password più probabili. Si può usare una lista di parole probabili (detta dizionario).

 

MIPS: acronimo di Microprocessor without Interlocked Pipeline Stages, è un processore di architettura RISC sviluppato da MIPS Computer Systems Inc. Il MIPS è utilizzato nel campo dei computer SGI, e hanno trovato grossa diffusione nell’ambito dei sistemi embedded, dei devices di Windows CE e nei router di Cisco . Le console Nintendo 64, Sony PlayStation, Sony PlayStation 2 e Sony PlayStation Portable utilizzano processori MIPS, nonchè gli HAG forniti da Fastweb ISP, che si basano su un’architettura a 32 bit.

 

IDA: IDA Pro Disassembler and Debugger è un interattivo, programmabile, estensibile, multi-processore, disassemblatore disponibile per sistemi Windows, Linux e Mac OS X. IDA PRO è diventato un software standard per l’analisi del codice ostile alla ricerca di vulnerabilità. Per maggiori informazioni visitare il seguente link: executive overview

Gli HAG Fastweb oggi

La rete Fastweb attualmente distribuisce due modelli di Hag-Fastweb WiFi di due ben note case costrustrici: Telsey e Pirelli.

Per entrambi, Fastweb utilizza un algoritmo proprietario per assegnare in modo univoco una chiave WPA-PSK predefinita dato il rispettivo MAC ADDRESS della scheda wifi interna. Ciò significa che dato un qualsiasi Hag questo è identificato da tre parametri principali: Serial, SSID, WPA-PSK default, MAC Address.

Inoltre l’SSID di rete ha il sequente forato: “Fastweb-A-xxxxxxxxxxxx” dove A può assumere il valore 1 o 2, le x rispecchiano di solito il Mac Address della scheda wireless interna. Dalle prime 3 coppie del MAC è quindi possibile capire di che Hag si tratta. Per i Pirelli Fastweb gli indirizzi sono comunemente del tipo: FASTWEB-1-001CA2xxxxxx o FASTWEB-1-001DBXxxxxxx mentre per i Telsey Fastweb: FASTWEB-1-00036Fxxxxxx oppure FASTWEB-1-002196xxxxxx. Può capitare però che l’SSID non corrisponda al MAC, almeno per le ultime tre coppie. Questo si può facilmente verificare facendo un confronto diretto oppure attraverso uno sniffer di rete come ad esempio kismet.

La chiave WPA-PSK generata di default per ogni Hag è una chiave composta da 10 cifre esadecimali (10 cifre in modo che la stessa chiave supporti contemporanemente lo standard WPA e WEP). Facendo diverse ricerche e riscontri su questo tipo di dati siamo riusciti a capire il significato di quelle lettere apparentemente casuali ed insensate. Per capire meglio il concetto ci affidiamo a qualche esempio pratico reale.

Questi sono i dati (fac-simili) di possibili reti Fastweb Pirelli:

SSID: FASTWEB-1-001CA2AAAAAA

Mac: 00-1C-A2-AA-AA-AA

WEP/WPA PSK: 0964080272


SSID: FASTWEB-1-001CA2BBBBBB

Mac: 00-1C-A2-BB-BB-BB

WEP/WPA PSK: 6b6c657368


SSID: FASTWEB-1-001CA2CCCCCC

Mac: 00-1C-A2-CC-CC-CC

WEP/WPA PSK: 690268086f


Adesso analizziamo le tre chiavi WPA un po’ più da vicino.

0964080272, 6b6c657368, 690268086f

Notiamo subito che le chiavi sono composte da valori esadecimali, aventi quindi un charset di questo tipo {0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}

Qui notiamo subito il primo errore progettuale: Scegliere una chiave WPA di 10 caratteri in uno spazio chiavi abbastanza ristretto, tale da favorire un bruteforce attack. Date le crescenti potenze di calcolo, le chiavi WPA dovrebbero tendere più alla lunghezza massima di 64 caratteri che alla minima di 8. 10 caratteri (casuali) sembrano ancora tutt’oggi un numero tale da scoraggiare la forza bruta, ma come vedremo in realtà lo spazio di ricerca in questo caso è molto più stretto.

Maggiori dettagli

Come accennato sopra la password Fastweb WPA è violabile in tempi più che ragionevoli con un meccanismo di bruteforce. Però, l’assunzione alla base di questa procedura è che la generazione della PSK sia casuale. E se invece casuale non fosse ciò che casuale appare? E, soprattutto, se l’algoritmo del tutto deterministico e ripetibile alla base di questa generazione, dipendesse da dati che è alla portata di chiunque ottenere? Se così fosse l’intero scopo della protezione WPA sarebbe sconfitto in partenza: chiunque potrebbe estrarre i dati e calcolare le PSK che gli interessano.

La nostra ricerca intende dimostrare che nel caso dei router Fastweb Pirelli la preshared key è funzione dell’SSID (ovvero, del nome stesso della rete). La vulnerabilità è particolarmente grave, in quanto l’SSID è il dato pubblico per definizione: volendo o meno, qualsiasi software di gestione wifi lo mostra apertamente.

Primo passo necessario allo sviluppo della ricerca è stata l’estrazione del firmware da un router e la successiva importazione in un ambiente adatto allo studio del codice assembler così ottenuto.

A tale scopo abbiamo analizzato il firmware utilizzando un ottimo software: IDA PRO.

Tale ambiente consente la navigazione del codice ASM MIPS, risolve automaticamente i riferimenti tramite le tabelle dei simboli e in generale semplifica enormemente il lavoro di reversing consentendo di concentrarsi sulla lettura e comprensione del codice.

Una spiacevole (piacevole) sopresa è stata la presenza, nel disassemblato di tutte le funzioni con nomi fortemente autoesplicativi (ulteriore grave errore, a nostro avviso, da parte dei programmatori) questo ci ha permesso di semplificare straordinariamente l’analisi del firmmware.

Il cuore dell’algoritmo si svolge nella soubroutine: cript_it. Tale funzione, dal nome palesemente esplicativo, viene invocata indirettamente durante la generazione dei parametri WiFi del dispositivo. Ad essa viene passato come parametro proprio il nome della rete, o meglio parte di esso, che sostanzialmente rappresenta il MAC Address della scheda wifi contenuta nell’HAG, trattato secondo un algoritmo proprietario non difficile da comprendere.

Analisi dell’Algoritmo

In sintesi questi sono i passi svolti dall’algoritmo per ricavare la WPA predefinita partendo dall’SSID di rete.

 

  1. Estrae una sequenza di 6 byte dall’SSID.
  2. Inizializza i vettori MD5 (MD5Init).
  3. Inserisce i 6 byte dell’SSID nella sequenza di cui calcola l’hash MD5 (MD5Update).
  4. Ricalcola l’hash MD5 (dell’hash precedente) utilizzando una sequenza di 20 byte predefinita (MD5Update).
  5. Finalizza l’hash MD5 (MD5Finish).
  6. Dall’hash finale crea una squenza binaria ottenuta considerando i primi 4 byte più significativi dell’hash.
  7. 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.
  8. Somma 0×57 ad ogni byte il cui valore sia >= 0xA (**).
  9. La concatenazione di queste rappresentazioni (con lettere minuscole) è la WPA PSK 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 dell’SSID raggruppando i byte in 6 gruppi da 2 cifre cadauno (00,12,34,56,78,90), e considerando ciascun gruppo un byte espresso in base 16.

Cosa ne fa è presto detto: ne calcola l’MD5 (per la precisione, inserisce questi 6 byte in una sequenza di cui sarà calcolato l’MD5). La procedura MD5 è nota, documentata, e trovarne implementazioni è alla portata di tutti, in ogni linguaggio: BASIC, C/C++, Pascal, C#, COBOL, … basta una semplice ricerca.

Un esperto di tecniche crittografiche avrebbe sicuramente riconosciuto l’algoritmo anche se la routine invocata si fosse chiamata in modo più oscuro (e avrebbe comunque potuto replicare il codice ASM in un linguaggio a scelta, senza capire di star reimplementando un algoritmo noto in letteratura), ma dichiarare platealmente l’uso dell’MD5 è stata un‘ulteriore semplificazione al nostro lavoro.

Usare solo l’SSID così trattato sarà però sembrato sin troppo banale. Si è allora deciso di aggiungere un salt, ovvero una sequenza speciale prefissata di 0×14 (20) byte, da inserire nella sequenza alterando in modo originale la creazione dell’hash MD5! Derivare il salt è stato abbastanza semplice per chi aveva conoscenze pregresse di assembler MIPS, in quanto il codice si avvaleva di una feature tipica di quell’architettura: il delay slot (riteniamo che non sia stata una deliberata scelta offuscativa dei programmatori, ma l’opera del compilatore intenzionato ad usare ogni ciclo in computazione attiva, e minimizzare i NOP).

Tale caratteristica del MIPS32 implica che quando si esegue un salto (o una chiamata di subroutine), la CPU non la esegue subito, ma ha appunto un ciclo “libero” per svolgere un’altra istruzione.

Di seguito è riportato un’estratto della funzione in questione (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

Esempio pratico

 

Poniamo il caso in cui si abbia la propria rete Fastweb avente un SSID di questo tipo FASTWEB-1-00193EA1B2C3.

I 6 byte da considerare sono 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. Di questa sequenza binaria si formano 5 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 WPA key si ottiene da questa sequenza di byte confrontanto ciascun byte con 0×0A, se risulta essere maggiore viene aggiunto il valore hex 0×57 (per il motivo precedentemente spiegato) ottenendo così la seguente chiave: 6b64756b04.

Ovviamente, questi sono dati d’esempio (non reali) utilizzati per dimostrare la validità dell’algoritmo.

Le nostre Conclusioni

Non si può evitare, in conclusione, di segnalare che le operazioni dei progettisti sono carenti sotto diversi aspetti:

1) Legare la chiave WPA a dati pubblicamente conoscibili. Chiunque può usare uno sniffer (kismet o airodump) per ricavare ESSID e MAC Address delle reti Fastweb Pirelli (tra l’altro, l’ESSID viene rivelato già dal software di gestione delle reti wireless, senza necessità di un approccio attivo di wardriving). Legare la chiave a informazioni interne del router/modem non deducibili da alcuna combinazione di MAC ed ESSID sarebbe stata una scelta più accurata. Usare algoritmi casuali sarebbe la scelta ideale . Ovviamente, l’uso di casualità deve essere tale da rendere innocuo ogni tentativo di bruteforcing. Ad esempio, rendere del tutto random il quinto byte della chiave non ha senso (un bruteforce su 256 valori si completa in tempi inferiori al secondo su molti sistemi). Selezionare in maniera totalmente random i 20 byte della sequenza, questo sì avrebbe impedito l’approccio alla base di quest’articolo.

Una soluzione più semplice, ma altrettanto efficace, sarebbe stata quella di legare la chiave WPA non al MAC della scheda 802.11 dell’HAG, ma a quello dell’interfaccia Ethernet (ogni scheda Ethernet ha un MAC univoco). Non essendoci alcun legame tra la scheda WiFi e quella Ethernet all’interno dello stesso Hag, la scelta avrebbe impedito una reperibilità on the fly dei dati necessari all’algoritmo, annullando la vulnerabilità concreta connessa alla scoperta dell’algoritmo.

2) Fare il deployment in produzione di router con un firmware con i simboli presenti. La totale mancanza di nomi delle funzioni e variabili avrebbe reso fortemente complicato se non quasi impossibile il lavoro di analisi del firmware. L’unico approccio utilizzabile in tal caso, sarebbe stata la simulazione del codice MIPS su un sistema di emulazione, al fine di dedurre il “punto” in cui effettivamente veniva scritta in memoria la chiave di rete, e un successivo traceback nel codice. Si sarebbe potuto anche far uso di tecniche di offuscamento del codice e di meccanismi anti-debugging, tipici di software commerciali.

3) Aver generato password di soli 10 simboli, tra l’altro cifre esadecimali. Ad una analisi fortemente sommaria è possibile restringere lo spazio di ricerca a 256 alla quinta valori (256 valori possibili in un byte per 5 byte, che danno luogo a 10 cifre se stampati in esadecimale). Analisi più accurate rivelano che i valori dei byte rappresentano lettere dell’alfabeto in minuscolo (a-z) e numeri da 00 a 09 della tabella ASCII. Le possibili combinazioni sono quindi: 26 lettere dell’alfabeto più 10 numeri per un totale di 36 simboli che ognuna di queste coppie può assumere. Ciò significa che in totale abbiamo 36^5 combinazioni possibili, cioè 60466176 combinazioni ~ 60 Milioni. Avendo a disposizione l’handshake di rete, diventa fattibile (avendo un dizionario, banalmente creabile) l’attacco a forza bruta. Questo numero sembra molto alto, ma con la potenza di calcolo che oggi si ha a disposizione è possibile per chiunque testare tutto lo spazio chiavi in meno di un giorno. Considerando la media di 1300 keys/s ci vorranno ~ 13 h nel peggiore dei casi. Se poi distribuiamo il carico di lavoro su più computer (possibilmente più potenti) riusciremo ad avere la chiave nel giro di qualche ora, o addirittura di qualche decina di minuti se si utilizza la potenza di calcolo delle GPU di potenti schede video.

4) Sarebbe buona regola da parte dell’Assistenza Fastweb invitare i nuovi Clienti a modificare il prima possibile le configurazioni inziali accessibili dalla MyFastPage. La chiave di rete predefinita è utile solo inizialmente per testare il corretto funzionamento della linea ADSL e dei vari PC connessi all’HAG, dopodichè deve essere sostituita con una più robusta. L’opzione che mantiene l’accesso automatico dai PC connessi a quella rete va assolutamente evitato.

Dalla MyFastPage è possibile reperire moltissime informazioni sensibili del Cliente, ovvero: Cognome e Nome dell’intestatario, Codici bancari, Codice fiscale (e quindi data di nascita e luogo), Indirizzo e Numero civico dell’abitazione, Numero di telefono fisso ed eventualmente mobile, le fatture associate al conto Fastweb con i relativi dettagli alle chiamate e costi, e i MAC address dei PC connessi alla rete.

Fortunatamente, Fastweb mette a disposizione un modo abbastanza semplice per evitare questi spiacevoli inconvenienti. Modificare la password di default. Infatti dalla MyFastPage->Gestione Abbonamento->Configura WiFi con una semplice procedura è possibile modificare la chiave predefinita. Ma in quanti lo fanno? Lavorando nell’ambito delle reti, per esperienza personale vi possiamo dire che Fastweb copre una buona fetta di mercato per quanto riguarda la fornitura dei servizi internet nelle aziende; il 70% di queste lascia le impostazioni WiFi di default, mentre il 95% lascia l’accesso automatico alla MyFastPage con le password di default.

Noterete che la situazione non è per niente banale o da sottovalutare.

Ci teniamo a sottolineare che più volte abbiamo sollecitato personalmente il suddetto Provider a prendere provvedimenti a riguardo, ma le nostre segnalazioni sono state del tutto snobbate, e la risposta più intelligente è stata: “Gentile cliente, la ringraziamo per il suo contributo ma i nostri clienti possono modificare la chiave wifi dalla MyFastPage.”

Siamo i primi a consigliare (ove possibile) la modifica della chiave di default a prescindere dal gestore, non solo perché lo riteniamo opportuno, ma anche perché la nostra etica ce lo impone.

Siamo convinti che la sicurezza informatica dipende principalmente dal fattore umano. Abbiamo tentato di far sentire la nostra voce a Fastweb, ma non abbiamo ottenuto risposta nè interesse al problema. Per questo motivo abbiamo deciso di pubblicare questo articolo, per informare le persone di una falla di sicurezza che altrimenti resterebbe ad esclusivo beneficio di una ristretta cerchia di savants, a tutto danno del grande pubblico. Auspichiamo che la pubblicazione di questo articolo incentivi le persone a salguardare i propri dati personali evitando così di essere accusati di reati commessi da crackers informatici che sfruttano la nostra rete in modo illegale.

Auspichiamo inoltre che i Provider Italiani possano prendere i giusti provvedimenti a riguardo, progettando sistemi di sicurezza molto più sicuri di quelli attuali.

Fonte

  • seifer85

    non mi è chiaro il punto 4,seguendo l’esempio FASTWEB-1-00193EA1B2C3 l’hash di questo 00193EA1B2C3 dovrebbe essere bbc39b6a1c291d5ee1dedaac193b0749 e non mi è chiaro come si fa ad arrivare all’hash a37d4267f1d177f44d352978d95558a9 aspetto chi mi illumina grazie

  • seifer85

    non mi è chiaro il punto 4,seguendo l’esempio FASTWEB-1-00193EA1B2C3 l’hash di questo 00193EA1B2C3 dovrebbe essere bbc39b6a1c291d5ee1dedaac193b0749 e non mi è chiaro come si fa ad arrivare all’hash a37d4267f1d177f44d352978d95558a9 aspetto chi mi illumina grazie

  • @seifer85,
    non viene calcolato anche il semplice Hash ma anche l’Hash_Update.

    Trovi maggiori informazioni qui: https://www.andreadraghetti.it/wpa-recovery/

    Andrea

  • @seifer85,
    non viene calcolato anche il semplice Hash ma anche l’Hash_Update.

    Trovi maggiori informazioni qui: https://www.andreadraghetti.it/wpa-recovery/

    Andrea

  • seifer85

    ma la funzione hash_update esiste solo in php? volendo implementarla in un altro linguaggio di programmazzione cosa fa sto comando esattamente?

  • seifer85

    ma la funzione hash_update esiste solo in php? volendo implementarla in un altro linguaggio di programmazzione cosa fa sto comando esattamente?

  • Matteo

    ehm…
    qualcuno mi linkerebbe il codice delle 3 funzioni (MD5Init, Md5Update e Md5Final) per ripetere i conti?? (In c++ ci sono??) grazie…

    ad esempio per l’esempio riportato ottengo come pssword 51016E8DB4…

  • Matteo

    ehm…
    qualcuno mi linkerebbe il codice delle 3 funzioni (MD5Init, Md5Update e Md5Final) per ripetere i conti?? (In c++ ci sono??) grazie…

    ad esempio per l’esempio riportato ottengo come pssword 51016E8DB4…

  • tiresi@

    tiresia@TiReSia:~$ echo -en “x00x19x3ExA1xB2xC3x22x33x11x34x02x81xFAx22x11x41x68x11x12x01x05x22x71x42x10x66″|md5sum
    a37d4267f1d177f44d352978d95558a9 –

    understand?

  • carlonzo

    ciao..avrei intenzione di dare una sbirciata tra le righe del firmware del router fastweb della telsey ma non riesco a trovarlo..sapete dove posso trovarlo? grazie

  • carlonzo
  • michelangelo

    per favore potresti trovarmi la password di qst ssid: FASTWEB-1-001CA2B74034 te ne sarò infinitamente grato

  • Probabilmente non hai visitato bene il nostro sito: https://www.andreadraghetti.it/wpa-recovery/

  • Uaz

    🙂
    Specifica x lo meno che stai parlando in UNIX

  • 00Z

    esiste uno script in php o altro pubblico da poter scaricare e smanettare?

  • Grazie all'utente Gaucho: http://pastebin.com/EvKrLDup

  • pedsm

    Ottimo lavoro ragazzi,
    non mi e' chiara una cosa pero':nell'articolo ce'scritto che e' stato estratto il firmware dal router(quindi un file binario),ma guardando il codice di IDA PRO postato la prima colonna ha la dicitura”Text”,come se il file fosse un'eseguibile/ldll,in teoria dovrebbe avere la dicitura “ROM”,qualcuno sa' darmi una spiegazione??.

  • Pingback: Script per il calcolo della chiave WPA nei router FastWeb Pirelli. | evilsocket.net()