Reverse engineering: algoritmo calcolo WPA dei router Alice Gate Wi-Fi

MAC (es:\x00\x23\x34\x01\x02\x03)

SSID (es. Alice-11223344)

Per reperire il MAC address della rete wi-fi usare Netstumbler e sommare 2 all’ultima cifra esadecimale del MAC trovato

MAC trovato: 11:22:33:44:55:66

MAC da inserire: 11:22:33:44:55:68

alicegate

Questo articolo prende spunto da una ricerca fatta dalla White Hat Crew , nella quale si rende noto nel dettaglio l’algoritmo di generazione delle chiavi WPA dei router Alice.

Dopo aver appreso la notizia, (essendo studenti di ingegneria) curiosi del modo in cui le chiavi vengono generate e allo stesso tempo preoccupati delle possibili conseguenze a cui vanno incontro ignari possessori di tali apparati, decidiamo di rendere la notizia fruibile e accessibile anche sul nostro blog al fine di fare. informazione.

Allo scopo puramente didattico, per curiosi e appassionati, cerchaimo di dare una semplice e intuitiva spiegazione del come lavora l’algoritmo per generare tale chiave.
Ogni router AGPF di Alice ha un suo SSID, il quale è univoco e si presenta nella forma generica  Alice-11223344, in più le prime 2-3 cifre del numero sono significative perchè identificano la serie del router da cui è possibile risalire a parametri cruciali come il firmware montato e il numero seriale.
Tuttavia il serial number o più comunemente chiamato (SN) non è individuabile direttamente, ma grazie al MAC address della scheda wi-fi interna del router e all’SSID della rete è possibile, tramite precise informazioni della ricerca condotta da WHC, calcolarlo.

Sintetizzando all’osso, per non essere troppo macchinosi nel discorso, la WHC dopo vari studi e prove effettuate ha scoperto che in qualche forma esiste una relazione per cui è possibile calcolare il seriale conoscendo la sola parte numerica dell’ESSID. E’ stato infatti scoperto che la relazione che sussiste tra SN e SSID è di aritmetica modulare: esistono due costanti, definite per comodità con k e Q, dipendenti dalla serie del router, tale che SSID=k*SN+Q.
Da questa formula si riesce a ricavare la formula finale SN=(SSID-Q)/k. Notoriamente e’ risaputo, almeno si spera :P, che da un’equazione a due incognite non ammette un’unica soluzione, per questo gli esperti di WHC hanno ben pensato di impostare un sistema che prende in considerazione i dati di due router della stessa serie.

A questo punto fornendo questi tre parametri:

  • Mac Address delle scheda WiFi del router (considerato in byte)
  • Seriale completo del router (considerato come stringa)
  • Sequenza speciale (costante, in byte)

è possibile generare un vettore di calcolo SHA256

Infine, si riempie l’hash e grazie ad opportune conversioni sui singoli byte si riesce a risalire alla chiave WPA.
Per i più smanettoni o semplicemente curiosi vi rimando all’articolo ufficiale , anche perchè sarebbe inutile e ripetitivo riportare tutti i particolari.

Da smanettoni convinti 😀 , essendo molto più propensi alla pratica, abbiamo reso disponibile all’inizio di questo articolo uno script che inserendo ESSID e MAC del vostro rouer Alice vi calcola in automatico la WPA.
Ovviamente lo script essendo puramente dimostrativo e didattico è equipaggiato solo con le seguenti serie:

  • Alice-96xxxxxx Serie: 69102X******* k=13 Q=96017051
  • Alice-93xxxxxx Serie: 69101X******* k=13 Q=92398366
  • Alice-56xxxxxx Serie: 67902X******* k=13 Q=54808800
  • Alice-55xxxxxx Serie: 67904X******* k=8 Q=55164449
  • Alice-54xxxxxx Serie: 67903X******* k=8 Q=52420689
  • Alice-48xxxxxx Serie: 67903X******* k=8 Q=47896103
  • Alice-46xxxxxx Serie: 67902X******* k=13 Q=39015145

Ovviamente lo script viene reso disponibile per il solo testing della vulnerabilità della propria rete wi-fi, vi ricordiamo che ogni accesso non autorizzato a reti terze è punito a norma di legge, di conseguenza ci estraniamo e decliniamo ogni responsabilità per eventuali abusi dello stesso.