PDA

Ver la versión completa : ¿Se puede desencriptar un HASH?



N0BAT0
03-05-2006, 22:07
¡Buenas a todos!
Una pregunta:
¿Existen métodos para desencriptar un HASH en MD5?
¿O si o si hay que crackearlos?
Es que crackearlos me lleva muchísimo... horas... días... xD
El otro día me pase 32 hs. para crackear uno de una passwd de 8 caracteres, xD.
Conozco algunas páginas que los desencriptan, como por ejemplo:
http://md5.altervista.org/
Pero el problema es que hay algunos HASH que no los logran desencriptar... y me veo obligado a crackearlos...
Bueno, espero sus mensajes, saludos a todos.

morza2
04-05-2006, 02:48
Un buen metodo es el RainbowCrack.
Es un programa que genera unas tablas (como si fuera un diccionario) de passwords en el algoritmo que queramos, tamaño de longitud, etc, de manera que generando unas buenas tablas (grandes) es posible sacar un password débil de cualquier sitio (siempre que tengamos el hash) en segundos.
Generador de tablas del rainbow: http://www.oxid.it/downloads/winrtgen.zip
Descargar el Rainbow: http://www.antsight.com/zsl/rainbowcrack/

Otro programa similar, pero mas nuevo y rapido es el ophcrack 2.0
Es capaz de sacar los passwords a partir de los archivos SAM y SYSTEM sacados del sistema , o a partir de los hashes sacados con cualquier otra herramienta (como el pwdump), la versión para Windows también pude sacar los hashes de la máquina local o de una máquina remota.
Las tablas que hay que utilizar están disponibles en la propia web del ophcrack. Puedes elegir entre una de estas dos:

* SSTIC04-5k (http://lasecwww.epfl.ch/SSTIC04-5k.zip) (720MB) para máquinas que tengan al menos 500M de RAM
* SSTIC04-10k (http://lasecwww.epfl.ch/SSTIC04-10k.zip) (388MB) para máquinas que tengan menos de 500M de RAM.
Para crear tablas nuevas puedes utilizar la herramienta "precomp" incluida con el Ophcrack v1.0a (http://lasecwww.epfl.ch/%7Eoechslin/projects/ophcrack/ophcrack_1_0a.zip) , que crea las tablas del rainbow, en formato ascii, y después utilizar el "binarize" también incluido en el mismo paquete para comprimir estas tablas a formato binario.

Si no puedes instalarlo en la máquina que utilizas normalmente puedes utilizar la versión online del crackeador, puedes encontrarla aquí:
http://lasecwww.epfl.ch/~oechslin/projects/ophcrack/
Esta versión utiliza la tabla SSTIC04-2.7k (1.1GB) que no está disponible para descargarse.
salu2

Marchi
04-05-2006, 04:39
Esto es simplemente a modo explicativo, para entender bien a que se refiere desencriptar un hash, para aquellos que no tienen muy claro que es una funcion hash.

En realidad las funciones hash no generan una salida que se pueda desencriptar, por que no encriptan nada.
Idealmente no existe ninguna funcion que a partir de la salida de una funcion hash, nos de la entrada. En un algoritmo hash, la entrada se manipula de tal forma que se hace imposible saber cual era.
Por ejemplo:

X mod 8 = Y -> 8*K+Y=X X,Y,K enteros positivos

A partir de X se puede calcular Y, pero a partir de Y no se pude calcular X

Por esto lo mas correcto es hablar de fuerza bruta en estos casos, aun quedando lugar para que una misma salida de una funcion hash, tenga varias entradas distintas.

Por ejemplo si la salida de una dada funcion hash es de 8 bits, una entrada de longitud menor o igual a 8 bits va a tener una misma salida que otra entrada de longitud entre 9 y 16 bits, al menos idealmente.

Con un ejemplo mas practico, si tengo como salida de una funcion hash: d18e35de hex 4bytes, y suponiendo la entrada "HOLA" 4bytes tambien cabria la suposicion de una entrada "FIREWALL" 8bytes con la misma salida.


Lo que se hace con el metodo de fuerza bruta es aplicar la funcion hash a una lista de combinaciones posibles de entradas, y en caso de que la salida coincida con a la que se le desea averiguar la entrada se tiene una de las posibles entradas.


Hay que tener en cuenta que idealmente una funcion hash es inyectiva para una longitud de entrada menor o igual a la longitud de salida, es decir, por ej. que con una salida de 8 bits (256 combinaciones) y una salida de 8 bits tambien cada combinacion de entrada tiene una y solo una combinacion posible de salida. Pero como en la entrada no hay limites de logitud, la cantidad de entradas posibles de cualquier logitud para una dada salida de longitud finita, es infinita.


Estas funciones se suelen usar como firmas digitales principalmente y tambien para guardar passwords en distintos sistemas.



En el MD5 se descubrieron algunas colisiones, esto quiere decir que se han encontrado mas de una entrada de longitud menor o igual a la de salida que responde a una misma salida de la funcion hash. Esto lo hace un tanto menos confiable, por lo que se aconseja migrar a otros algoritmos como SHA-1 o RIPEMD-160.


Chau saludos

morza tu numero de posts :eek:

morza2
09-05-2006, 03:09
Gracias Marchi por darnos esa info!
salu2