AVISO:
los monos y otros simios que no quieran aprender y que solo quieran el diccionario de marras pueden irse directos a las últimas lineas de este post a descargar el diccionario para luego irse sin hacer ninguna pregunta. gracias
IntroducciónSiguiendo la serie de posts explicando las debilidades de las contraseñas que mucha gente utiliza, que empecé con un caso práctico donde hablaba de
cómo Auditar passwords basados en numeros de telefon movil y aplicando estas debilidades a la seguridad de redes wifi, en este hilo voy a explicar cómo Auditar una contraseña WPA que está basada en la fecha de nacimiento del propietario...
en menos de 15 segundos.TeoríaSi los números de teléfono móvil son com****cionalmente muy asequibles a la hora de ser crackeados, las fechas de nacimiento lo son mucho más, pues las combinaciones posibles son muchísimo más reducidas.
Vamos a suponer que somos
hackers de sombrero negro y que tenemos al alcance la red wifi con protección WPA/WPA2 de una posible víctima.
Imaginemos tambien que ya hemos probado a atacar su red con el diccionario de numeros de móvil que ofrecí en el post anterior, pero no tuvimos suerte con él.
El siguiente paso es probar suerte con otro clásico de las contraseñas débiles: las fechas de nacimiento.
No sabemos la edad de la víctima a ciencia cierta, y mucho menos su fecha de nacimiento, pero para ir sobre seguro supondremos una edad comprendida entre 18 y 50 años. Este rango es más que suficiente para dar en el clavo.
Por tanto, las fechas con las que trabajaremos estaran comprendidas entre los años 1961 y 1993. Así que tenemos que fabricar un diccionario con este rango de fechas.
Presentando GENFECHASCurioseando el trabajo de terceros, me encontré con que el compañero
tape, del equipo de backtrack, habia hecho
un script en bash llamado datelist, pero el chaval es estadounidense y su trabajo está muy orientado a fechas en el formato tipico de USA "aaaammdd".
Se pueden indicar otros formatos, asi que este no es un problema mayor, pero es que además su script se apoya en el comando externo de unix
date, lo cual arrastra limitaciones muy feas ya que date no se comporta correctamente con determinadas fechas.
Así que preferí programar mi propio generador a medida, más orientado al panorama español, y sin apoyarme para nada en el subsistema de fechas de unix.
Aquí os muestro la pantalla de ayuda y resumen de opciones del programa:
root@wifislax4:/usr/src/laboratorio/diccionarios# genfechas
genfechas v0.1.1 por alist3r
generador de listas de passwords para atacar passwords debiles basados en fechas
uso:
genfechas -i fechainicio -f fechafinal [opciones]
obligatorio:
-i --- fechainicio: fecha inicial del diccionario a generar, en formato ddmmaaaa.
-f --- fechafinal: fecha final del diccionario a generar, en formato ddmmaaaa.
opcional:
-o --- output: guarda el diccionario en la ruta indicada.
p. ej.: -o /home/usuario/diccionarios/fechas.dic
si no se indica ningun fichero, solo se imprime el diccionario por la salida estandar.
-v --- verboso: imprime por la salida estandar el progreso de generacion del diccionario.
-p --- plantilla:
1: ddmmaaaa -> 31121950 (por defecto)
2: ddmmaa -> 311250
3: dd-mm-aaaa -> 31-12-1950
4: dd-mm-aa -> 31-12-50
5: dd/mm/aaaa -> 31/12/1950
6: dd/mm/aa -> 31/12/50
-h --- help: imprime este mensaje
La idea es que en España el formato de fecha más utilizado es ddmmaaaa, por contra de USA donde utilizan otros formatos como aaaammdd.
Seguro que conoceis a alguna persona, si no vosotros mismos, que utiliza fechas en estos formatos. Investigad un poco y veréis que esta estadística se cumple la mayoria de veces
Así pues, la opción por defecto del generador de fechas es utilizar una plantilla con formato ddmmaaaa. Esta plantilla es la numero 1 y es la que el programa cargará por defecto si no se le especifica otra con el parámetro -p
Otra opción muy común es usar el formato corto ddmmaa. Para eso he programado otra plantilla, la plantilla numero 2.
Cubriendo estos dos formatos habremos acertado en la mayoría de passwords de un usuario español basados en fechas.
Tambien he programado otras 4 plantillas más para otros casos menos comunes, utilizando barras y guiones para separar dia mes y año.
Generando el diccionarioPues como decíamos antes, tenemos que generar una lista de fechas desde el 1 de enero de 1961 hasta el 31 de diciembre de 1993.
Ahora que tenemos un programa que nos facilita el trabajo, generar el diccionario es tan simple como escribir un comando en el terminal:
root@wifislax:/usr/src/laboratorio/diccionarios# genfechas -i 01011961 -f 31121993 -o fechas-1961-1993.dic
Utilizando la plantilla por defecto: DDMMAAAA
Lista completada
Y así ya tenemos un fichero, fechas-1961-1993.dic, conteniendo todas las fechas indicadas en el formato DDMMAAAA. Ahora toca usarlo.
Crackeando la WPA en menos de 15 secs
Para hacer un precálculo de lo que podemos tardar en procesar todo el diccionario sobre una red wifi con seguridad WPA, vamos a contar el numero de combinaciones que se han generado:
root@wifislax:/usr/src/laboratorio/diccionarios# wc -l fechas-1961-1993.dic
11515 fechas-1961-1993.dic
11515 combinaciones. realmente son muy pocas y esto plantea una facilidad enorme a la hora de Auditar este tipo de contraseñas.
A una media de 800 keys por segundo en aircrack-ng en una máquina medio potente, tenemos lo siguiente:
11515 keys / 800k/s = 14,39 segundosAsí que cuando lanzamos aircrack y conseguimos un handshake válido para la red de la víctima, pasamos a Auditar dicho handshake especificando la ruta al nuevo diccionario que hemos creado, y esperamos menos de 15 secs para ver si cae.
Menos de 15 secs en Auditar una contraseña WPA basada en una fecha de nacimiento.
Pan comido.
Por supuesto, estos diccionarios tambien se pueden utilizar en otros programas como hydra para auditar las seguridad de otros sistemas como formularios http, cuentas ftp, etc.
DescargasDiccionarios generados con genfechas v0.1.1, desde 1961 hasta 1993.
Dentro del tar.gz:
en formato ddmmaaaa: fechas-1961-1993.dic
en formato ddmmaa: fechas-1961-1993-short.dic
Descarga:
http://www.multiupload.com/DNBL9GYPY3MD5:
4f36378040d62baa4339deb24c488bb4
Script genfechas v0.1.1 by alist3rDescarga:
http://www.multiupload.com/28TLO5WR22MD5:
489ef77b410a5949146b542a6cc30e76