giovedì 24 marzo 2011

INFOSTRADA WIFI … L’ALGORITMO… 3a parte

Prima di continuare con il rilascio della terza ed ultima parte dell’algoritmo wpa di Infostrada volevo riprendere un attimino il discorso sulla vulnerabilità dei router Huawei ed il suo uso a nostro vantaggio.


Ecco una schermata di Acunetix Web Vulnerability Scanner che mostra il risultato di una scansione, come si nota dall’immagine i router affetti dal bug ROM-0 Authentication exploit hanno come sistema base il RomPager 4.07 o 4.51. Quando ci troviamo davanti una richiesta di user e password con un web banner “Echolife Home Gateway” (come immagine sotto) sappiamo che al 99% il router è affetto da questo bug.


Cliccando qui sotto è possibile scaricare il mio tool (Infostrada – Huawei DeRom) per la decodifica del file Rom-0.

Download tool Infostrada - Huawei DeRom
---PROGRAMMA CORRETTO---
RISOLTI I PROBLEMI Di COMPATIBILTA' 
CON WINDOWS VISTA/7 a 32/64 bit
password archivio: infostrada

Il file rom-0 può essere catturato e decodificato direttamente dall’applicativo oppure potete scaricarlo dal vostro browser e poi darlo in pasto al tool. Ecco come si presenta la schermata del mio programma:


L’interfaccia potrebbe sembrare un pò spartana ma vi assicuro che funziona benissimo.

Altra nota: volevo segnalare che per pura coincidenza questo tool apre anche i file di configurazione rom-0 di router di altre marche come Dlink, Tp-Link, Zyxel e Netgear(non tutti i modelli). Sto preparando un tool universale per forzare qualsiasi tipo di router sfruttando bug conosciuti e non. Vi ricordo che è severamente vietato usare l’applicativo per entrare in reti non proprie. Usare il tool solo ed esclusivamente per testare la propria rete.

Detto ciò possiamo riprendere il discorso wpa.
VI RICORDO CHE QUESTO ALGORITMO VUOLE ESSERE LA PROVA DEI MIEI STUDI E NON è AFFATTO NECESSARIO IMPLEMENTARLO IN QUALSIVOGLIA LINGUAGGIO VISTO CHE SAPENDO IL MAC WIFI ( QUINDI IL BSSID DELLA RETE) BASTA AGGIUNGERE IL “2” SENZA VIRGOLETTE DAVANTI AL BSSID ELIMINANDO I DUE PUNTI CHE SEPARANO I BYTE DEL MAC WIFI. Ad esempio se ho il mac 00:e0:4d:c8:cb:2e, la wpa sarà 200E04DC8CB2E.

Ieri vi avevo parlato di come suddividere la wpa e quindi il mac per iniziare lo studio del reverse da MAC A SSID. Bene, anzi male, oggi vi mostrerò che per ogni mac può esserci più di un SSID diverso.
La dimostrazione pratica di quanto sto dicendo è riportata qui sotto.
InfostradaWiFi- 002560
00:e0:4d:90:e1:e0
InfostradaWiFi-002560
c8:d5:fe:12:cc:84

Questi due SSID UGUALI hanno i rispettivi MAC WIFI completamente diversi… la logica di generazione è simile ma resta il fatto che sono diversi e possono esserci altrettante combinazioni per quello stesso SSID.


Come mostrato in figura dividiamo la parte numerica dell’SSID stesso in due parti.
La prima parte indicherà la serie di appartenenza del router. La seconda parte determinerà gli ultimi 3 numeri della WPA.

Il primo problema che ho dovuto affrontare è stato individuare a che serie appartenessero i vari SSID. La risposta è arrivata dopo parecchio studio ed ho scoperto che la serie di appartenenza dipende anche dai primi 3 byte del MAC WIFI.
Prima di continuare ricordo che questo metodo è valido solo per un ristretto numero di SSID (Vedi post precedenti). Presumibilmente Infostrada ha cambiato algoritmo dopo essersi accorta che questo è troppo vulnerabile.

Ho suddiviso tutti gli SSID che ho studiato in 3 range diversi. Ogni range è riportato in una tabella, per un totale di 3 tabelle. Ho chiamato “magic numbers” (che fantasia eh?) la serie numerica corrispondente a ciascun SSID riportata in rosso nelle tabelle. Procediamo con il primo range di SSID.
Questa prima tabella riepiloga i “magic numbers” per ogni SSID da InfostradaWiFi-000100 a InfostradaWiFi-000999.

 
Come si può notare, a seconda dei primi 3 byte del mac e dell'SSID è possibile avere un particolare numero (in rosso) che costituisce l’ottavo, il nono ed il decimo carattere della wpa. Nel caso del mac 00:E0:4D si va da 910 a 90f, mentre per il mac C8:D5:FE, ci sono due possibili sequenze numeriche:
  • Da 12f a 12d (12f,12e,12d)
  • Da 304 a 303

Questa seconda tabella riassume invece i “magic numbers” per ogni SSID da InfostradaWiFi-001000 a InfostradaWiFi-009999.

 
In questo range di SSID vengono introdotti importanti cambiamenti, alcune serie di numeri si estinguono, altre vengono richiamate senza un apparente ordine. In particolare possiamo vedere che i “magic numbers” sono molti di più rispetto alla prima tabella.
Per il MAC 00:E0:4D, notiamo che fino a InfostradaWiFi-004999 (circa), la serie di “magic numbers” inizia con 90f e termina con 90b, (90f, 90e, 90d, 90c, 90b) per poi sparire del tutto. Da InfostradaWiFi-005000 in poi (circa) la serie è rimpiazzata da 2 serie che si alternano nelle assegnazioni (non è ben chiaro come ciò avvenga, apparentemente senza un preciso algoritmo). Le 2 nuove serie sono da b6f a b6b (b6f,b6e,b6d,b6c,b6b) e l’altra da 2ff a 2fb (2ff,2fe,2fd,2fc,2fb). Mentre quest’ultima serie viene usata fino alla fine del range preso in considerazione nella tabella, la prima serie arriva fino a InfostradaWiFi-008999 (circa) e poi lascia il posto ad una nuova serie da c8d a c84 che coinvolgerà anche altri SSID di range superiori.

Nel terzo range di SSID troviamo una situazione completamente diversa:


Come sicuramente avrete notato è assente il MAC C8:D5:FE e la lista dei “magic number” (come preannunciato) va da c8d a c84, ( c8d,c8c,c8b,c8a,c89,c88,c87,c86,c85,c84).
Se torniamo a guardare con attenzione anche la seconda tabella ci rendiamo conto che il MAC C8:D5:FE sparisce prima di arrivare al terzo range e per la precisione sparisce verso l’SSID InfostradaWiFi-006999 (circa).

Dalle 3 tabelle si evince che il cambio di “magic number” avviene a cavallo di ogni SSID, cioè ad esempio tra InfostradaWiFi-001000 e InfostradaWiFi-002000. Secondo i dati raccolti il cambio avviene precisamente a 1700, a 2700, a 3700 e cosi via fino a 9700. Purtroppo non posso essere piu preciso di così. Non c’è  il reale bisogno di essere pignoli, visto che come molti hanno già osservato la wpa di default è praticamente in chiaro, ma posso dire che al 90% è cosi.  
Con questo metodo abbiamo appurato l’algoritmo di generazione della 3a parte della wpa.
Rimangono le ultime 2 parti.

La penultima parte è una quantità anch’essa esprimibile come serie numerica che decresce al crescere del valore numerico dell’SSID ed è espressa in valori Esadecimali. I valori vanno da 254 a 1. Dove 254 sarà per un SSID molto piccolo e 1 per un SSID più grande. I corrispondenti valori in Esadecimale saranno inseriti poi come terz’ultima e penultima cifra della wpa. Ad esempio:

1027  --> 254    --> FE (in hex)
……
1689  --> 1    --> 1 (in hex)

Purtroppo anche qui non posso essere più preciso. Sicuramente la 5a parte dell’algoritmo si occupa di fare una operazione di MOD, cioè un modulo. Praticamente sapendo che la 5 parte è un numero fisso (0,4,8,c) sicuramente sarà il resto di una operazione – appunto- tipo modulo.
Anche per la 5° parte esiste una piccola legge da seguire. Dall’SSID InfostradaWiFi-000100 a InfostradaWiFi-008999 posso dire con certezza che i numeri 0,4,8,c rispettano sempre un determinato ordine di apparizione. Per tutti gli altri SSID la storia sostanzialmente non cambia, cambiano solo i numeri che troviamo come ultima cifra della WPA cioè 2,6,a,e. Cioè anche qui troviamo un pattern con distanza 4 che indica che sicuramente l’operazione è identica come per gli altri SSID. Rimane solo da capire che ruolo ha la 5a parte di wpa nella generazione di SSID CONSECUTIVI COME QUESTI:


InfostradaWiFi-004712 --> 00:e0:4d:90:c0:8c
InfostradaWiFi-004713 --> 00:e0:4d:90:c0:90

InfostradaWiFi-006101 --> 00:e0:4d:b6:e9:38 
InfostradaWiFi-006102 --> 00:e0:4d:b6:e9:00


Ho bisogno di più dati e ora che ho reso pubblico il mio studio condotto fin qui tutti possono aiutarmi e concludere insieme l’algoritmo.
Vi ringrazio tutti.














40 commenti:

  1. Complimenti per il tuo approfondimento. Ho installato il software ma mi dà questo errore: Impossibile trovare una versione del runtime per l'esecuzione dell'applicazione. Ho win 7 con net framework 4. Come si procede?

    RispondiElimina
  2. Ciao, ti ringrazio per i complimenti. Prova ad installare il .net framework 3.5. Lo puoi scaricare da qui: http://www.microsoft.com/downloads/it-it/details.aspx?FamilyID=333325fd-ae52-4e35-b531-508d977d32a6


    ciao

    RispondiElimina
  3. Ciao pandarossa, ho provato il tuo software su XP e va tutto bene. Il programma si avvia senza problemi solo che, dopo aver inserito correttamente l' IP (192.168.0.1), mi compare un messaggio: "Impossibile accedere al router! Verifica di aver digitato correttamente l'indirizzo ip e controlla che la tua connessione sia attiva". Questo è quanto. Sarà che l'1% dei router invulnerabili l'ho beccato proprio io? :) un saluto e ancora complimenti per la tua sapienza in materia che metti a nostra disposizione.

    RispondiElimina
  4. ciao enrico, ti ringrazio! prova a mettere 192.168.1.1 invece di quello che hai digitato tu... mi sembra strano... penso proprio che l'indirizzo sia sbagliato.

    fammi sapere
    ciao

    RispondiElimina
  5. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  6. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  7. Ho provato ma niente da fare, sempre lo stesso problema. Comunque l'indirizzo del router è certamente 192.168.0.1 in quanto ho dato l' ipconfig da dos e compare:
    Indirizzo IP. . . . . . . . . . . . . : 192.168.0.70
    Subnet mask . . . . . . . . . . . . . : 255.255.255.0
    Gateway predefinito . . . . . . . . . : 192.168.0.1
    Purtroppo, strano ma vero, ho beccato l'unico router invulnerabile... pazienza.

    RispondiElimina
  8. ciao Enrico,
    se vuoi mandami il tuo indirizzo ip pubblico (lo puoi ottenere andando su http://www.mio-ip.it/) all'email pandared.r@gmail.com.

    CIAO

    @tutti i visitatori

    DISPONIBILE LA NUOVA VERSIONE DEL TOOL PER TUTTI I SISTEMI OPERATIVI.

    RispondiElimina
  9. Pandarossa sei veramente in gamba. Ti invidio :)! il tuo programma revisionato funziona adesso anche su windows 7. Per il momento non posso testarlo ma non appena mi sarà possibile ti farò sapere l'esito di una nuova prova.
    ciao mago e grazie.

    RispondiElimina
  10. Ciao, ho provato il tuo programma, purtroppo ancora con esito negativo. Pazienza! Mio malgrado, non avendo nella zona in cui abito, altre reti con router infostrada, non posso continuare a testare il tuo software. Ciao e buon lavoro.

    RispondiElimina
  11. Ciao, ho letto i tuoi articoli, complimenti, tuttavia mi chiedevo se hai o puoi reperire il firmware di questi router

    RispondiElimina
  12. Caro Luciano entro breve postero i firmware dei router huawei anche se il reversing non serve visto che la configurazione di SSID E WPA avviene in fase di brandizzazione dei router da parte di Infostrada.

    L'unica strada è lo studio CriptoAnalitico.

    ciao

    RispondiElimina
  13. InfostradaWiFi-E12944

    suggerimenti sulla password???

    RispondiElimina
  14. Ciao, probabilmente quella rete è una delle nuove! se leggi qualche post piu in basso hai le risposte che cerchi!

    Ricorda che entrare in reti altrui è ILLECITO e costituisce il reato di ACCESSO ABUSIVO A SISTEMA INFORMATICO.

    saluti

    RispondiElimina
  15. InfostradaWiFi-E12944

    aiuto su password

    RispondiElimina
  16. infostrada-004915??''''''aiutoo

    RispondiElimina
  17. Ciao,
    sicuramente lo saprai ma volevo informarti che (involontariamente XD) il tuo tool è valido anche per i router adsl SmartAX MT880.Ho scansionato tutti gli ip pubblici indiani ed effettuato uno studio accurato...Che però per qualche motivo alcuni non vogliono sapere di estrarre le credenziali.
    Quelli che l'estrazione delle credenziali va a buon fine nella password viene rilevato qualche carattere di troppo che ovviamente pulendo risali tranquillamente alla password.
    In questi giorni mi sto dedicando alle wpa dei router agif di telecom con essid della famiglia 7 ed ho trovato una costante che relazione il mac con l'essid!
    La mia passione è lo studio e il fatto che io sia entrato in un router in india mi eccita tantissimo..Saluti e complimenti per lo studio che hai effettuato.

    RispondiElimina
  18. Ma adesso.. notavamo nel router di un mio amico che non sono più 6 nuemri.. ma 6 cifre alfanumeriche..

    RispondiElimina
  19. aiuto... nella schermata iniziale mi esce scritto "inserire indirizzo ip del router", ma quando lo inserisco devo essere connesso al router?

    RispondiElimina
  20. ottimo lavoro davvero!ammirevole e "chiaro" anche per un semplice appassionato non addetto ai lavori come me. se mi permetti però ti pongo una dimanda:
    se la mia ssid è 002017 come risalgo alla quarta parte??cioè rispetto a quali cifre devo effettuare una conversione in esadecimale?
    grazie

    RispondiElimina
  21. un chiarimento... come leggo il file rom di un altro router, che mi salva ho provato con note pad
    ma non è molto comprensibile

    RispondiElimina
  22. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  23. infostradawifi-013567 riuscite a trovarmi la passw?? help help

    RispondiElimina
  24. ciao panda, complimenti per il lavoro che hai fatto, nn rieco a capire la 4° parte dell'algoritmo, ho il ssid InfostradaWifi-005451, qual'è la terz’ultima e penultima cifra della wpa ? grazie.

    RispondiElimina
  25. qualcuno mi può dire, rispetto a quali cifre devo effettuare una conversione in esadecimale? ( ho già provato con i ultimi 4 numeri del ssid 00xxxx ma nn porta ). qualcuno spieghi meglio la 4° parte per piacere..

    RispondiElimina
  26. Ciao....
    Volevo chiederti una cosa..
    Ma se io trovo una rete wifi con scritto solo "infostradaWifi "come faccio a trovare la password?

    RispondiElimina
  27. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  28. Ciao,anch'io mi unisco alle richieste di molti.Come è relazionato l'SSID con la penultima e terzultima cifra(quelle esadecimali).E poi come viene calcolata l'ultima cifra,cosa s'intende con un operazione di MOD?
    Grazie

    RispondiElimina
  29. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  30. ciao ho xp mi da sempre Impossibile accedere al router! Verifica di aver digitato correttamente l'indirizzo ip e controlla che la tua connessione sia attiva

    che devo fare? io mi collego con un acces point che uso da ripetitore..devo entrar nell ip dell access point o della linea? dimmi tu ciao

    RispondiElimina
  31. Questo commento è stato eliminato dall'autore.

    RispondiElimina
  32. alla fine nessuno ha crakkato niente

    RispondiElimina
  33. Chi mi calcola questo infostrada 659cb0 e un genio

    RispondiElimina
  34. Chi mi calcola questo infostrada 659cb0 e un genio

    RispondiElimina