General, hack, hobbie, Tecnologia en General

Desencriptando SHA1

El sha1 es uno de los metodos mas “efectivos” al momento de encriptar una contraseña o lo que sea que queramos encriptar, por eso es que en la actualidad es muy usado principalmente en bases de datos como una forma de autenticación.  Esto hace que el hecho de desencriptar un hash en SHA1 sea relativamente algo codiciado, y es relativo porque para obtener el hash se debe tener acceso a la base de datos donde este almacenado…

Suponiendo que somos administradores de la base de datos o que simplemente tenemos acceso a ella, es cuando nos interesaría por alguna razón obtener la contraseña o el texto que origina dicho hash. Siendo así la teoria dice que seria imposible obtenerlo a partir del hash en si, en otras palabras no hay un metodo que se pueda aplicar para descubrir la palabra original que origino dicha cadena… es aqui donde antaño se usaba un metodo poco ortodoxo pero en ocasiones muy efectivo, la fuerza bruta, este metodo consiste basicamente en intentar descifrar la palabra haciendo pruebas de a una por una hasta obtener el valor deseado, lamentablemente esto podría ser muy lento y es la razón de que se inventara algo llamado “diccionarios” estos diccionarios contienen palabras muy frecuentes o comunes y esto hace que en lugar de probar por combinaciones de letras sin sentido se busque intentar adivinar que palabra común es la originaria de dicho hash.

Por ejemplo supongamos que tenemos el siguiente hash: 40bd001563085fc35165329ea1ff5c5ecbdbbeef

y tenemos un diccionario X con las sig palabras:

hola,adios,perro,gato,123,1234,password,…,

lo que falta es tener un algoritmo relativamente sencillo que pruebe palabra por palabra hasta encontrar una coincidencia

cabe destacar que los diccionarios al tener tantas palabras suelen organizarle o agruparse de acuerdo a un “tema” por ejemplo hay diccionarios de libros y autores donde las palabras claves son nombres de libros o de sus autores hay por ejemplo de equipos de futbol o de X cosa ademas tambien deben estar clasificados por regiones o países o incluo idiomas esto para tener un mejor control de que palabras son las que se evalúan, por ejemplo si queremos saber la contraseña de un medico es mas probable que la encontremos en un diccionario de medicina a que la encontremos en uno de plomería por ejemplo…

volviendo a nuestro hash y diccionario, si probamos uno a uno obtendremos que la palabra correcta que origino dicho hash es la palabra “123”, esto quiere decir que si algún dia nos encontramos con dicho hash por el ejercicio que hemos hecho aqui sabremos que se trata de la tan famosa palabra “123”.

Aqui radica algo importante, si bien podríamos aprendernos de memoria este hash y cada vez que lo veamos detectar cual es la palabra originaria de la que se trata es mas comodo para nosotros “anotarla” e incluso anotar mas no? bueno algo practico que se ha hecho es convertir muchos diccionarios con miles de palabras comunes, cosas que la gente usa normalmente como contraseña para así poder tener el hash directamente en lugar de probar palabra con palabra, un metodo tan rapido y tan eficiente que permite saber la contraseña en cuestión de milisegundos en lugar de horas o dias o quizas años en tratar de adivinar por fuerza bruta una contraseña.

Ejemplos de esto son algunas paginas que ofrecen este “servicio” donde puedes meter tu hash y ver si en su base de datos tienen la coincidencia, ademas de ofrecer el servicio de desencriptar ofrecen el “valioso” servicio de encriptamiento por si quieres saber como es tu nombre encriptado en hash1 o cualquier cosa, este servicio es de un valor incalculable para dicha pagina ya que sin querer la gente esta “retro-alimentando” su base de datos, suponiendo que tu sabes que tu contraseña es infalible, es unica, vas y metes el hash de tu password por puro ocio y efectivamente no la encuentra entonces la curiosidad te lleva a probar su encriptador y metes tu contraseña infalible y efectivamente ves que funciona bien y que obtienes el hash que tu sabias se generaría, lo que no sabes y algunos talvez lo deduzcan es que la contraseña que has metido junto con su hash se ha guardado en su base de datos lo que hará que en ese preciso momento puedas volver a checar por ese hash y veras que ahora tu contraseña esta totalmente vulnerable, ya es obtenible por dicha pagina!!!

Aqui les dejo un ejemplo de estas paginas, que si bien no son tan famosas aun, es cuestión de tiempo para que la gente las valla conociendo y conosca su potencial.

StringFunction

Y en esa misma pagina podemos ver el ejemplo de como se puede encriptar una cadena en SHA1 aunque de igual forma debemos estar conscientes de que seguramente nuestra combinación sera guardada para alimentar la base de datos, aunque talvez se lleven la sorpresa de que las palabras que aveces usamos son lo suficientemente comunes como para ya estar en esa base de datos.

Link a misma pagina pero para encriptar

Sabiendo esto es que vemos mas que nunca la importancia de usar contraseñas seguras, si nos confiamos y usamos algo muy sencillo o “común” corremos un riesgo de que alguien pudiera tener nuestra contraseña.

Anuncios

2 comentarios en “Desencriptando SHA1

  1. Oye amigo, yo soy de ESIME y estoy empezando a conocer de esto.
    Ahora necesito un diccionario de SHA1. ¿Sabes como lo puedo obtener?

    1. Normalmente el diccionario se busca o genera conforme al uso que le vas a dar, ayuda el conocimiento que tengas sobre el “objetivo”. Si es solo para practicar puedes generar uno muy facil, tomas palabras de algún lugar como por ejemplo un listado de razas de perros y mediante PHP o MYSQL los pasas por la función SHA1 o MD5 según requieras.
      Buscando en google igual puedes encontrar algunos diccionarios aunque casi siempre andan caídos debido a que esos se generan mas que descargar ademas muchos están en ingles.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s