AVISO:
los monos y otros simios que no quieran aprender y que solo quieran el diccionario de marras pueden irse directos a la última linea de este post a descargar el diccionario para luego irse sin hacer ninguna pregunta. gracias
Como ya sabeis mucha gente protege sus redes wifi con una clave consistente en su número de movil. incluso algunos instaladores de adsl le piden su numero de movil al cliente para configurarles la seguridad WEP o WPA con dicho numero como contraseña.
en estos supuestos, cuando la seguridad es WEP, esto no cambia nada: la red ya es insegura de por sí por el simple hecho de ser WEP y no importa qué contraseña tenga; pero veamos cuando está protegida con WPA:
la manera estúpida de Auditar estas redes es haciendo un wordlist que comprenda desde 600000000 hasta 699999999.
eso son 100 millones de combinaciones. a una media de 800 keys por segundo en mi aircrack, tardo 125.000 segundos, o lo que es lo mismo:
34 horas y 43 minutos.
No es descabellado hacer un ataque de fuerza bruta y esperar pacientemente. Ya queda claro que no es buena idea proteger redes wifi con contraseñas de tipo "mi número de móvil".
he dicho que la forma estúpida de hacerlo era esta: un diccionario desde 600000000 hasta 699999999.
Pero yo no soy estúpido
REFINANDO EL DICCIONARIO
Todos sabemos que en ese rango de numeros hay muchos espacios en blanco, numeraciones que no se usan, y que por tanto el wordlist se podría optimizar muchísimo.
Solo hay que preguntarle a google, a ver si tiene una lista de prefijos de numeros de movil:
http://personal.telefonica.terra.es/web/oscarmartinez/v2/+010209+1112List+of+mobile+companies+prefixes.htmly ahora guardamos esa lista en un txt, por ejemplo en
prefijostelefonicos.txtcon un poco de paciencia y un editor de texto, le damos a estos prefijos telefónicos un formato que sea compatible con el formato de plantillas de mi generador de diccionarios favorito, el crunch.
y tenemos esto...
600%%%%%%
6010%%%%%
6011%%%%%
6012%%%%%
6021%%%%%
6030%%%%%
605%%%%%%
606%%%%%%
607%%%%%%
608%%%%%%
609%%%%%%
610%%%%%%
6111%%%%%
6116%%%%%
615%%%%%%
616%%%%%%
617%%%%%%
618%%%%%%
619%%%%%%
620%%%%%%
622%%%%%%
625%%%%%%
626%%%%%%
627%%%%%%
628%%%%%%
629%%%%%%
630%%%%%%
6321%%%%%
633%%%%%%
634%%%%%%
635%%%%%%
636%%%%%%
637%%%%%%
638%%%%%%
639%%%%%%
6400%%%%%
6401%%%%%
6422%%%%%
6441%%%%%
6442%%%%%
6443%%%%%
6444%%%%%
645%%%%%%
646%%%%%%
647%%%%%%
648%%%%%%
649%%%%%%
650%%%%%%
651%%%%%%
652%%%%%%
653%%%%%%
654%%%%%%
655%%%%%%
656%%%%%%
657%%%%%%
658%%%%%%
659%%%%%%
660%%%%%%
661%%%%%%
662%%%%%%
663%%%%%%
664%%%%%%
665%%%%%%
666%%%%%%
667%%%%%%
6688%%%%%
669%%%%%%
670%%%%%%
671%%%%%%
6720%%%%%
6721%%%%%
6722%%%%%
6723%%%%%
6724%%%%%
6725%%%%%
675%%%%%%
676%%%%%%
677%%%%%%
678%%%%%%
679%%%%%%
680%%%%%%
6846%%%%%
685%%%%%%
686%%%%%%
687%%%%%%
6886%%%%%
6888%%%%%
689%%%%%%
690%%%%%%
691%%%%%%
692%%%%%%
6931%%%%%
6932%%%%%
6933%%%%%
6934%%%%%
6935%%%%%
6936%%%%%
6937%%%%%
6938%%%%%
6939%%%%%
695%%%%%%
696%%%%%%
697%%%%%%
6981%%%%%
699%%%%%%
en total, 105 prefijos.
puede que haya más prefijos nuevos actualizados por ahi. si alguien no encuentra su numero de movil en el diccionario, que me avise.
total, que ya hemos pasado de tener 105 prefjos telefonicos a tener 105 plantillas de crunch. crunch ya sabe qué es lo que tiene que hacer con una de esas, y en cada simbolo "%" crunch realizará una sustitución por todas las combinaciones posibles del 0 al 9.
asi que ahora, para cada plantilla que tenemos, tenemos que ejecutar crunch con los debidos parámetros para que genere un diccionario.
crunch 9 9 -t 600%%%%%% -o diccionario1
crunch 9 9 -t 6010%%%%% -o diccionario2
crunch 9 9 -t 6011%%%%% -o diccionario3
crunch 9 9 -t 6012%%%%% -o diccionario4
crunch 9 9 -t 6021%%%%% -o diccionario5
crunch 9 9 -t 6030%%%%% -o diccionario6
...
etc etc etc
Pero aquí somos gente refinada, no unos machacas, asi que no vamos a andar leyendo a ojo nuestro archivo
prefijostelefonicos.txt para luego andar picando a mano 105 comandos.
Evidentemente tenemos que usar scripting para automatizar el proceso.
He utilizado un miniprograma en bash para automatizar esta parte. Con solo 5 lineas de código es suficiente:
numerodediccionario=1
for plantilladecrunch in $(cat prefijostelefonicos.txt); do
crunch 9 9 -t $plantilladecrunch -o diccionario"$numerodedicionario".dic
let numerodediccionario=$numerodediccionario+1
done
Despues de escasos minutos, tenemos 105 archivos .dic, cada uno con los diferentes trozos de diccionario correspondientes a cada prefijo telefónico:
diccionario1.dic
diccionario2.dic
...
Ahora me gustaria concatenarlos todos en uno solo para no andar mareando la perdiz, así que, desde la misma consola, me hago un miniprograma de una sola linea que me los junte:
root@blah:~# for fragmento in $(ls diccionario*.dic | sort -n); do cat $fragmento >> diccionariocontodo.dic
el motivo por el que utilizo este comando tan complejo en lugar de un simple
cat diccionario*.dic >> diccionariocontodo.dic
es porque quiero concatenar los archivos en
orden numérico ("sort -n" hace la magia)
diccionario1
diccionario2
diccionario3
diccionario4
diccionario5
diccionario6
diccionario7
diccionario8
diccionario9
diccionario10
diccionario11
...
y si lo hicera con un simple cat, los archivos quedarian concatenados en un
orden alfabético super feo que no me interesa:
diccionario1
diccionario10
diccionario11
...
diccionario100
diccionario101
..
diccionario2
diccionario20
...
FInalmente hacemos unas pruebas.
Buscamos el número de movil de mi tia, que tiene varios años de antiguedad, de esta forma comprobamos que el proceso de refinamiento no se ha dejado fuera números válidos.
grep 6xxxxxxxx diccionariocontodo.dic
donde 6xxxxxxxx es el numero de mi tia.
Luego pruebo con mi número, que solo tiene unos meses de vida. De esta forma comprobamos que los números mas recientes tambien estan comprendidos en la lista de prefijos que conseguimos por internet.
El resultado tambien ha sido positivo: Mi número está en el diccionario.
RESULTADO FINAL
De 99.999.999 combinaciones hemos bajado a 73.500.000, logrando una
mejora del 26,5% de velocidad a la hora de Auditar una contraseña basada en un número de teléfono movil.
Ahora para Auditar una red WPA cuya contraseña es el número de movil de su dueño, hemos pasado de necesitar 34h 43m inicialmente a
25h 30m como máximo.
DESCARGA: DICCIONARIO CON TODOS LOS NUMEROS DE MOVIL DE ESPAÑAcomprimido con gzip, 157Mb
http://www.multiupload.com/SSCMSNJX8GMD5: cf930a55cb620376830485d9896855f7
Post fusionado: 20-08-2011, 22:19 (Sábado)
hala, ya está editao. es que salí un rato y esto quedó subiendo