Ciao a tutti, vi volevo segnalare il seguente codice su
github:
I router Zyxel ( modelli VMG8823, VMG8825 ) che hanno come SSID :
"Home&Life SuperWiFi-xxxx" (lunghezza password 16 caratteri)
"Infostrada-xxxxxx" (lunghezza password 10 caratteri)
"TISCALI_xxxx" (lunghezza password 10 caratteri)
generano la password di default della WPA usando il proprio codice seriale (il codice seriale, è un codice identificativo del router, non è la password wpa! ) . Il problema è che tale codice è facile da indovinare perchè seguono un pattern abbastanza semplice:
"Home&Life SuperWiFi-xxxx"/"Home&Life 2.4GHz" Range seriali:
S182V00000000-S182V99999999
S192V00000000-S192V99999999
"Infostrada-xxxxxx" Range seriali:
S172V00000000-S172V99999999
S182V00000000-S182V99999999
"TISCALI_****" Range seriali:
S172V00000000-S172V99999999
S182V00000000-S182V99999999
Il primo carattere è sempre un 'S'.
- I due caratteri successivi dovrebbero essere l'anno di produzione del router, nell'esempio di sopra abbiamo 2017 ,2018 e 2019.
- La quarta e quinta lettera ('2V') è costante .
- Il resto della stringa varia da router a router
Partendo dal codice golang che è già stato implementato, dovete modificarlo in modo da fare un bruteforce nel range dei codici seriali che vi ho messo sopra , calcolare la corrispondente password WPA usando le funzioni che sono già state implementate (in base al tipo di rete dovete scegliere se creare chiavi da 10 o 16 caratteri, guarda sopra per dettagli) e salvarle tutte le password generate su un file di testo. Se tale file di testo venisse usato insieme ad Hashcat ed un handshake catturato, è possibile risalire alla password giusta in meno di mezz'ora.
Possibili risoluzioni da suggerire a Zyxel:
- Utilizzare un seriale di tipo alfanumerico casuale anzichè puramente numerico con un pattern semplice.
- Offuscare il codice.
N.B: Per ogni range, vengono generate circa 1Gb di chiavi, non vi preoccupate se il programma macina per un po', se volete aprire il file di testo vi consiglio di farlo con il programma "glogg".
Le reti infostrada sono quelle dei router nuovi, per i router vecchi, che creano la rete con SSID
InfostradaWiFi-****** , la password WPA di default è "2"+"MAC router".
EDIT:
Il modello
VMG8823-B50B ,come fatto osservare nel
seguente commento, trasmette il proprio seriale nelle probe response.