Autor Tema: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs  (Leído 29850 veces)

0 Usuarios y 1 Visitante están viendo este tema.

alist3r

  • Visitante
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ón
Siguiendo 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ía
Si 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 GENFECHAS

Curioseando 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:

Código: [Seleccionar]
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 diccionario
Pues 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:
Código: [Seleccionar]
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:
Código: [Seleccionar]

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 segundos

Así 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.   

Descargas

Diccionarios 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/DNBL9GYPY3
MD5:
4f36378040d62baa4339deb24c488bb4

Script genfechas v0.1.1 by alist3r
Descarga:
http://www.multiupload.com/28TLO5WR22
MD5:
489ef77b410a5949146b542a6cc30e76


« Última modificación: 25-08-2011, 00:51 (Jueves) por alist3r »

chinitiw

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #1 en: 24-08-2011, 23:21 (Miércoles) »
Simplemente una palabra

GRACIAS   >:( >:(

Tanto por el generador como por toda la explicación  ;)

alist3r

  • Visitante
y lo bien que me lo he pasao haciendolo qué? eh?  ;D
no hay de qué hombreeeh!

neoxom

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #3 en: 31-08-2011, 01:22 (Miércoles) »
Lo primero darte la enhorabuena. No escribo mucho, pero queria colaborar con la buena accion del dia.
Ya que hablamos de 15 segundos, no nos importara estar 30 o 1 minuto, ampliar el rango de fechas, por si nos da por poner la de nuestros padres o nuestros hijos ;)

Saludos y de nuevo gracias!

jupegi1

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #4 en: 31-08-2011, 07:56 (Miércoles) »
Efectivamente, yo soy de la misma opinion, deberiais ampliarlo a fechas actuales ya que mucha gente pone fechas de nacimiento de hijos.
Saludos

*dudux

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #5 en: 31-08-2011, 11:48 (Miércoles) »
Bueno amigo! Lleva soporte móvil español?  ;D




Pd._conoces cupp.py? 8)

alist3r

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #6 en: 31-08-2011, 12:39 (Miércoles) »
pues... buena idea gente!
para cubrir el rango que queda hasta el presente, y ya de paso hasta final de año, solo teneis que ejecutar el script de esta forma:

Código: [Seleccionar]
root@wifislax:/usr/src/laboratorio/diccionarios# genfechas -i 01011994 -f 31122011 -o fechas-1994-2011.dic
los que no tengais linux y por tanto no podais ejecutar genfechas, solo teneis que ejecutar el liveCD wifiway para tener un sistema linux totalmente operativo. Desde wifiway podréis decargar y ejecutar el script para generar los diccionarios.

*Dudux, qué estas preguntando? xDD
El post donde genero diccionarios para números de movil españoles está por esta misma sección, pero no es este xD

Sopalajo de Arrierez

  • Visitante
   Y un añadido pudiera ser extender aún más el rango hacia el pasado, para captar a gente que ponga la fecha de la revolución soviética, de la Segunda República Española, de la Muerte de Salvador Allende, del nacimiento de Hitler, de la Revolución Francesa...
   Eso sí, empiezan a subir los minutos de proceso :-( , claro.

neoxom

  • Visitante
pues... buena idea gente!
para cubrir el rango que queda hasta el presente, y ya de paso hasta final de año, solo teneis que ejecutar el script de esta forma:

Código: [Seleccionar]
root@wifislax:/usr/src/laboratorio/diccionarios# genfechas -i 01011994 -f 31122011 -o fechas-1994-2011.dic
los que no tengais linux y por tanto no podais ejecutar genfechas, solo teneis que ejecutar el liveCD wifiway para tener un sistema linux totalmente operativo. Desde wifiway podréis decargar y ejecutar el script para generar los diccionarios.

*Dudux, qué estas preguntando? xDD
El post donde genero diccionarios para números de movil españoles está por esta misma sección, pero no es este xD

Supongo que este mismo script lo puedo ejecutar desde wifiway cierto?

Saludos y gracias por tu curro.
PD: Si se te ocurre algun otro diccionario de palabras sencillas o habituales, de objetos que estan en casa y a veces ponemos lo primero que se nos ocurre, compartelo con nosotros :).

Alguno quizas con marcas comerciales, de coches, televisores, etc... seguramente sera menos efectivo pero por probar..
Nombres de ciudades tampoco estaria mal pero claro esos ya no podemos generarlos jeje.

Saludos!!

alist3r

  • Visitante
pues... buena idea gente!
para cubrir el rango que queda hasta el presente, y ya de paso hasta final de año, solo teneis que ejecutar el script de esta forma:

Código: [Seleccionar]
root@wifislax:/usr/src/laboratorio/diccionarios# genfechas -i 01011994 -f 31122011 -o fechas-1994-2011.dic
los que no tengais linux y por tanto no podais ejecutar genfechas, solo teneis que ejecutar el liveCD wifiway para tener un sistema linux totalmente operativo. Desde wifiway podréis decargar y ejecutar el script para generar los diccionarios.

*Dudux, qué estas preguntando? xDD
El post donde genero diccionarios para números de movil españoles está por esta misma sección, pero no es este xD

Supongo que este mismo script lo puedo ejecutar desde wifiway cierto?

Saludos y gracias por tu curro.
PD: Si se te ocurre algun otro diccionario de palabras sencillas o habituales, de objetos que estan en casa y a veces ponemos lo primero que se nos ocurre, compartelo con nosotros :).

Alguno quizas con marcas comerciales, de coches, televisores, etc... seguramente sera menos efectivo pero por probar..
Nombres de ciudades tampoco estaria mal pero claro esos ya no podemos generarlos jeje.

Saludos!!

De nada hombre, aporto lo que puedo :)

Si, en wifiway va bien el script. no he hecho un lzm porque es una chorrada enorme, se puede descargar el fichero y copiarlo directamente a /usr/bin, por ejemplo ( y siempre que tengas el modo persitant changes, claro!)

quiero señalar que tal y como he dicho antes, yo aporto lo que puedo, pero por esa regla de tres no voy a aportar algo que no domino, que no es mi especialidad, que no me interesa, etc.

mi trabajo es mas bien matemático y de programación, y por tanto no tengo ni voy a tener ninguna relación con diccionarios de objetos comunes, nombres propios o comunes, ni otros conceptos que no sean secuencialmente enumerables en una progresión matemática o en un algoritmo matemáticamente descriptible. si no se puede generar mediante matemáticas, no me interesa y no controlo nada del tema.

lo siento mucho,

aaamen :D
« Última modificación: 03-09-2011, 22:48 (Sábado) por alist3r »

gscabi

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #10 en: 04-09-2011, 00:11 (Domingo) »
Curioso a la vez que interesante  ;D

Buen trabajo!!!

alist3r

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #11 en: 04-09-2011, 00:50 (Domingo) »
   Y un añadido pudiera ser extender aún más el rango hacia el pasado, para captar a gente que ponga la fecha de la revolución soviética, de la Segunda República Española, de la Muerte de Salvador Allende, del nacimiento de Hitler, de la Revolución Francesa...
   Eso sí, empiezan a subir los minutos de proceso :-( , claro.

noooooooooooooooo... no creas ehhhhh... es com****cionalmente muy asequible aun! si si si...

mira, con la de subormales que hay por ahí tratando de fabricar diccionarios de 15 caracteres alfanumericos... lo que propones es super razonable comparao con eso :)

hazte las cuentas, si es una cosa super light:

hasta el año 1492 por ejemplo, solo hay 519 años de distancia.
519 * 365 (ya no entro en detalles de los bisiestos, no nos va de un microsegundo arriba o abajo)

189435 fechas

a 800 keys por segundo en mi máquina... 236 segundos de nada. No llega ni a cinco minutos.

Chupao.

Hay veces en las que la fuerza bruta acotada es mas inteligente que un trabajo de confección manual de diccionario. Este caso es uno de ellos. Imagina el trabajo de recopilar todas las fechas importantes de la historia y ponerlas en un diccionario. Menuda gilipollez, ¿no? Por cinco minutos de bruteforcing inteligente tienes muchas mas posibilidades de sacar positivo en una auditoria wireless.
« Última modificación: 04-09-2011, 00:55 (Domingo) por alist3r »

Sopalajo de Arrierez

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #12 en: 04-09-2011, 14:55 (Domingo) »
   Sí, estoy de acuerdo, Alist3r.
   Además, la fecha de 1492 puede ser un límite bueno. Hay que tener en cuenta que la mayoría de hechos históricos anteriores no afinan la precisión hasta el día. Creo que se debe a que los calendarios exactos del mundo occidental diferían de unas zonas geográficas a otras.

   Pero, por la misma regla de tres, se me ocurren un par de cosas:

1.- Quizá convendría hacer algo para aquellas contraseñas que consisten sólo en el año: "1492", por ejemplo.
2.- Idem para las que consisten en año y mes: "Octubre1492" por ejemplo.
3.- Me surge una duda: si no recuerdo mal, el estándar WPA exige un mínimo de caracteres, ¿no? ¿O eso era en algunos routers solamente? Lo digo porque, cuando hay un número mínimo exigido, he visto a mucha gente poner el mismo dato repetido y concatenado, algo así como "149214921492". ¿Procede quizá implentar un diccionario para esto?

alist3r

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #13 en: 04-09-2011, 16:31 (Domingo) »
   Sí, estoy de acuerdo, Alist3r.
   Además, la fecha de 1492 puede ser un límite bueno. Hay que tener en cuenta que la mayoría de hechos históricos anteriores no afinan la precisión hasta el día. Creo que se debe a que los calendarios exactos del mundo occidental diferían de unas zonas geográficas a otras.

   Pero, por la misma regla de tres, se me ocurren un par de cosas:

1.- Quizá convendría hacer algo para aquellas contraseñas que consisten sólo en el año: "1492", por ejemplo.
2.- Idem para las que consisten en año y mes: "Octubre1492" por ejemplo.
3.- Me surge una duda: si no recuerdo mal, el estándar WPA exige un mínimo de caracteres, ¿no? ¿O eso era en algunos routers solamente? Lo digo porque, cuando hay un número mínimo exigido, he visto a mucha gente poner el mismo dato repetido y concatenado, algo así como "149214921492". ¿Procede quizá implentar un diccionario para esto?

bueno, a ti ahora se te ocurrió eso, pero mañana puede venir el vecino con 100 ideas mas para nuevas permutaciones, porque realmente las opciones son brutales.

Sin embargo, lo que hace una persona razonable e inteligente es lo siguiente:

Para no volverse loco con el inmenso numero de posibilidades que ofrece la naturaleza, normalmente se aplica el Principio de Pareto en estos casos. es decir, que si algo te ofrece el 80% de los resultados con el 20% de esfuerzo, quédate con eso, y si para conseguir el 20% restante de los resultados tienes que hacer un esfuerzo no-razonable, entonces... ¡déjalo estar!

esto es muy personal, pero bajo mi punto de vista y conociendo los patrones tipicos de passwords generados por humanos, el hecho de convertir los meses en sus nombres como "octubre1492" es no-razonable, debido a la proporcion esfuerzo/resultados. Solo he visto UN password en mi vida que estuviera formado de semejante manera: "agostodel78"


Lo del estandar wpa, el rango es 8-63, por eso puse por defecto la fecha en formato ddmmaaaa, de hecho no te costará nada deducir que el formato ddmmaa no estaría por tanto contemplado como posible contraseña wpa.

lo de repetir la contraseña dos veces.. tambien es muy comun y yo personalmente lo entraria en la zona "razonable" aplicando el principio de pareto.

Un patron del que nadie habla pero he observado que es super común entre españoles es este:

mmaammaa

existe ya mas un generador/re-generador que fabrica contraseñas con permutaciones varias, con numeros concatenados, con repeticiones de la palabra, con permutaciones en formato "l33t"... a partir de un diccionario ya existente. la verdad es que es buena idea tener muchas herramientas de tratamientos de textos y listas de contraseñas, porque no hay nada como generar un diccionario a medida para el caso específico que te toque auditar. es imposible tener siempre diccionarios hechos para todo. es mucho mas inteligente saber generarlos acorde a las necesidades, dominar las distintas herramientas, etc.
Para mi lo ideal es
- tener solo diccionarios de cosas muy básicas (o cosas hiperespecificas como nombres propios)
- tener muchos generadores, dominarlos todos, compreder que puede hacer cada uno de ellos por tí. por ejemplo cambiar las mayusculas de un diccionario ya existente, o añadirles numeros al final, etc etc.
- no volverse loco acumulando diccionarios que son fáciles de generar desde cero, como fechas etc. borrarlos despues de su uso y generarlos de nuevo si hacen falta, especialmente cuando se tarda poco en generarlos como este caso particular.
- diseñar un diccionario temporal específico para la auditoria que nos ocupe en ese momento.
« Última modificación: 04-09-2011, 16:47 (Domingo) por alist3r »

juanjohacker95

  • Visitante
Otro tipo de contraseñas muy normal que veo de vez en cuándo,no sólo en contraseñas de routers sino también en contraseñas de fb o msn es lo típico de el nombre de la persona seguido de las dos últimas cifras del año de nacimiento , pero eso supongo que sería ya una burrada no ? un diccionario con nombres de la A a la Z (nombres españoles solo)  y luego las dos últimas cifras de de su año de nacimiento( ejemplo : maria73) que ronda entre el 1950 y 2000 , osea ser 50 posibilidades por nombre ...

Un diccionario con lo que he dicho antes llevaría supongo que... no sé mucho tiempo y espacio en el disco duro , pero quería saber si sería útil algo así o una simple  burrada  ^-^

alist3r

  • Visitante
en mi escala del uno al diez seria algo asi como un 7.
asequible, pero algo cansino.
en cuanto entran en juego palabras de diccionario, todo se vuelve un poco mas pesado.
en cambio lo que sigue patrones matemáticos es mucho más penetrable. automatizable, aunque no por eso más penetrable.

seria util para algunos casos, pero estamos en lo de siempre, no puedes tener diccionarios que cubren todos los casos, lo mas logico es realizar una obtencion de datos del objetivo y generar un diccionario personalizado para el test de penetración que te ocupe en ese caso.

sin animo de que parezca una bronca: no podeis estar descargando siempre diccionarios de megaupload y pidiendo diccionarios por aqui y por allá, lo lógico es aprender a generarlos con las multiples herramientas que existen, y asi teneis maxima potencia y total libertad. pero tambien hay que saber precalcular los requisitos de un diccionario y saber cuando algo es asequible y cuando es una estupidez como un camion.

un ejemplo de estupidez es tratar de generar un diccionario de 14 digitos con letras mayusculas de la A a la Z y numeros de 0 al 9 para tratar de auditar una red wifi de vodafone. es el caso de estupidez mas abundante hoy dia, pero es normal porque la gente es que no lee, solo pregunta... xD
« Última modificación: 15-11-2011, 23:29 (Martes) por _alister_ »

juanjohacker95

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #16 en: 16-11-2011, 07:33 (Miércoles) »
en mi escala del uno al diez seria algo asi como un 7.
asequible, pero algo cansino.
en cuanto entran en juego palabras de diccionario, todo se vuelve un poco mas pesado.
en cambio lo que sigue patrones matemáticos es mucho más penetrable. automatizable, aunque no por eso más penetrable.

seria util para algunos casos, pero estamos en lo de siempre, no puedes tener diccionarios que cubren todos los casos, lo mas logico es realizar una obtencion de datos del objetivo y generar un diccionario personalizado para el test de penetración que te ocupe en ese caso.

sin animo de que parezca una bronca: no podeis estar descargando siempre diccionarios de megaupload y pidiendo diccionarios por aqui y por allá, lo lógico es aprender a generarlos con las multiples herramientas que existen, y asi teneis maxima potencia y total libertad. pero tambien hay que saber precalcular los requisitos de un diccionario y saber cuando algo es asequible y cuando es una estupidez como un camion.

un ejemplo de estupidez es tratar de generar un diccionario de 14 digitos con letras mayusculas de la A a la Z y numeros de 0 al 9 para tratar de auditar una red wifi de vodafone. es el caso de estupidez mas abundante hoy dia, pero es normal porque la gente es que no lee, solo pregunta... xD

SI tienes toda la razón, he leído varios temas de gente que quiere inventar burradas de ese estilo en las que sólo crear el diccionario ya tejarías unos cuantos ... ¿años xD?

Pero entonces lo más viable ,  hablando de diccionario lógicos , sería crear el diccionario y luego eliminarlo y así no tener en el disco duro gigas y gigas de basura ¿ no ?

Aún así, aunque no venga al tema, si que me gustaría un diccionario  con las palabras típicas que usa la gente como contraseña algo así como " gili****s " , "hijode****" ( que por cierto somos unos maleducados jajá !) 


alist3r

  • Visitante
Re: diccionario con fechas de nacimiento + caso practico: WPA en menos de 15segs
« Respuesta #17 en: 16-11-2011, 20:37 (Miércoles) »
exactamente. cuando el diccionario es generable no tiene mucho sentido conservarlo.
un ejemplo: fechas


cuando el diccionario no responde a una formula matematica sino al comportamiento humano, eso ya es otra cosa.
un ejemplo: nombres

357MKR

  • Visitante
Pues justo hoy ando buscando este programa y no lo encuentro... alguien podría volver a colgarlo?

alist3r

  • Visitante
hasta yo mismo lo he perdido! jajajaja

//FINAL Y MÁS DOS RESPUESTAS