¿Que tan seguras son nuestras contraseñas?

No Comments
Bueno el motivo del siguiente post es porque mi querido amigo Blozzter papa de Blz que luego les cuento la historia.. .. .

Codeo en Python un Script.

Cita de Blozzter
La idea de realizar el Script fue de simple curiosidad ver que tan vulnerable son los passwords que se ponen en los foros.
Bueno primero se hizo la prueba con una BD de Underc0de efectivamente la cual estuvo libre posteriormente de su Owneo. No tratamos de indicar que somos grandes ni nada a los que logramos ingresar les avisamos.

Si se ve son varios los que se saco un pequeño ejemplo.


 Lo primero los Foros SMF manejan el tipo de encriptacion SHA1.

Que es SHA

Secure Hash Algorithm

La familia SHA (Secure Hash Algorithm, Algoritmo de Hash Seguro) es un sistema de funciones hash criptográficas relacionadas de la Agencia de Seguridad Nacional de los Estados Unidos y publicadas por el National Institute of Standards and Technology (NIST). El primer miembro de la familia fue publicado en 1993 es oficialmente llamado SHA. Sin embargo, hoy día, no oficialmente se le llama SHA-0 para evitar confusiones con sus sucesores. Dos años más tarde el primer sucesor de SHA fue publicado con el nombre de SHA-1. Existen cuatro variantes más que se han publicado desde entonces cuyas diferencias se basan en un diseño algo modificado y rangos de salida incrementados: SHA-224, SHA-256, SHA-384, y SHA-512 (llamándose SHA-2 a todos ellos).
En 1998, un ataque a SHA-0 fue encontrado pero no fue reconocido para SHA-1, se desconoce si fue la NSA quien lo descubrió pero aumentó la seguridad del SHA-1

SHA-1


SHA-1 ha sido examinado muy de cerca por la comunidad criptográfica pública, y no se ha encontrado ningún ataque efectivo. No obstante, en el año 2004, un número de ataques significativos fueron divulgados sobre funciones criptográficas de hash con una estructura similar a SHA-1; lo que ha planteado dudas sobre la seguridad a largo plazo de SHA-1.

SHA-0 y SHA-1 producen una salida resumen de 160 bits (20 bytes) de un mensaje que puede tener un tamaño máximo de 264 bits, y se basa en principios similares a los usados por el profesor Ronald L. Rivest del MIT en el diseño de los algoritmos de resumen de mensaje MD4 y MD5.

La codificación hash vacía para SHA-1 corresponde a:

SHA1("") = da39a3ee5e6b4b0d3255bfef95601890afd80709

Como notamos es posible vulnerar, casos se dieron en donde SHA-1 se ha visto comprometida a lo largo del año 2005 luego que MD5 quedo comprometido en el 2004, en China fue cuando lo hicieron.

El mismo equipo de investigadores chinos, compuesto por Xiaoyun Wang, Yiqun Lisa Yin y Hongbo Yu (principalmente de la Shandong University ), ha demostrado que son capaces de romper el SHA-1 en al menos 269 operaciones, unas 2000 veces más rápido que un ataque de fuerza bruta (que requeriría 280 operaciones). Los últimos ataques contra SHA-1 han logrado debilitarlo hasta 263.


Entonces es facil realizarlo con un buen diccionario, como lo hizo Blozzter si.

Cita de BLozzter



En una hora, con un diccionario de 3.37 mb logre obtener 130 cuentas


 Primero sabemos que SMF maneja sha1 con la diferencia que es usser + password


­C:\Users\Blozzter\Desktop>sha1 asalopezsimpatico
        [+] asalopezsimpatico --> a48272f4af247dce9bfe38587a1f032df6eb2a50

http://www.sha1.cz/


En la web se puso el mismo dato y nos boto. el mismo hash.

El punto de este post no es de explicar esto si no de dar a conocer que tan mal acostumbrados estamos un claro ejemplo



El acceso a la cuenta de el Usuario asalopez. El mismo password para su correo electronico si notamos estamos muy acostumbrados a usar la misma contraseña pero al hacer esto la hacemos muy vulnerable a que accedan a nuestros datos personales.

Por datos simples y curiosos el user es de Honduras con Ingenieria Social podemos saber mas datos de la persona.

FUNCION DEL ALGORITMO


El script que hice selecciona email_address, real_name y passwd de la tabla smf_members propia de los foros smf (aunque al seleccionar las 2 ultimas columnas basta).
El tipo de encriptación usado para proteger las passwords de los usuarios es del tipo sha1.
Al realizar un sencillo script que utilizando un diccionario vaya concatenando, encriptando y probando las posibles passwords, podemos obtener muchas de las cuentas.

Para esto realicé una lista con los real_name y otra con los passwd de la DB, luego el código automatiza la tarea probando las distintas combinaciones userpassword, es decir, prueba nick + cada uno de las palabras del diccionario, asi sucesivamente para cada user.

El codigo :D








Con algo de ingenio se pueden hacer muchas cosas, el code cuenta con 55 lineas de código la cual de echo puede ser mejorada.

0 comentarios

Publicar un comentario en la entrada