Banner 1

Mostrando entradas con la etiqueta md5. Mostrar todas las entradas
Mostrando entradas con la etiqueta md5. Mostrar todas las entradas

Los crackers MD5 más rápidos

0 comentarios

Hola,

Enlazan en Darknet una interesante estadí­stica sobre la velocidad de ciertos productos a la hora de romper hashes MD5 por medio de fuerza bruta.

El premio se lo lleva BarsWF, que con la ayudita de una GPU potente (nVidia 9600GT/C2D 3Ghz CUDA) es capaz de procesar 350 millones de claves por segundo. Este mismo programa, rompiendo claves con la CPU, procesa unos 108 millones de claves por segundo corriendo en un Core2Duo de 3Ghz. No está nada mal ...

cuda md5

md5

Las herramientas:

http://www.sahw.com/wp/archivos/2008/12/05/los-crackers-de-md5-mas-rapidos/

Brute force MD5 Software by яє∂мaѕтєя

0 comentarios
Post hecho por redmaster para root-sh3ll.66ghz.com , saludos a todos

PUES SI AMIGOS ES UN MD5 BRUTEFORCE OSEA CON DICCIONARIO
AQUI ESTA UNA IMAGEN...






LE DAN EN SET CODES METEN EL PASS ENCRIPTADO Y LISTO LE DAN START

http://www.timwarriner.com/software/files/mdbruter20040221-1.zip

Espero les sirva de algo...

Fuente:http://root-sh3ll.66ghz.com/foro/index.php?topic=241.0

Aprendiendo a usar Mdcrack

0 comentarios
1.Bajarse el Mdcrack http://membres.lycos.fr/mdcrack/download/mdcrack.exe
2.Abres el MS-DOS y pones mdcrack hash
por ejemplo:

Código:
C:\Documents and Settings\xxx>mdcrack 926e27eecdbc7a18858b3798ba99bddd

<> MDcrack v1.2 is starting.
<> Using default charset : abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHI
JKLMNOPQRSTUWXYZ
<> Max pass size = 12 >> Entering MD5 Core 1.

Password size: 1

Password size: 2

Password size: 3

Password size: 4


----------------------------------------
Collision found ! => pepe


Collision(s) tested : 1214348 in 0 second(s), 328 millisec, 0 microsec.
Average of 3702280.4 hashes/sec.
Explico: El password hasheado a sido "pepe".
Lo de "password size:1" te indica los digitos del password que esta crackeando.
En cuanto ponga Collision found ! => ya has triunfao porque ahi tienes el password.
Si solo pones mdcrack y el hash empezara a crackear y usara letras minusculas, mayusculas y numeros asi que como el password sea muy largo tardará años.
Para eso yo pongo:
Código:
mdcrack -s abcdefghijklmnopqrstuvwxyz 926e27eecdbc7a18858b3798ba99bddd
Asi le estas mandando que cracke el hash con letras minusculas, asi te tardará mucho menos.
Si pones:
Código:
mdcrack -s 0123456789 926e27eecdbc7a18858b3798ba99bddd
Estas mandando que cracke el hash con numeros.

Creo que ya vais pillando el rollo.

Yo normalmente pongo:
Código:
mdcrack -s abcdefghijklmnopqrstuvwxyz01 926e27eecdbc7a18858b3798ba99bddd
Porque en algunos password usan el 0 y el 1 entre el pass.

Con esto creo que ya sabreis crackear hash MD5. Por lo menos ami me va de lujo.

P.D. Cuando uses el mdcrack el ordenador se kedara petadillo porque usa todo el CPU para crackear el hash asi tarda menos.

P.D.2 Creo que se puede pausar y resumir pero yo no se como ???


salu2!!!

CHIFLON

PD: el link del programa del post original no sirve asi que les pongo el nuevo mas abajo en referencias

Links y referencias:

http://c3rb3r.openwall.net/mdcrack/download/MDCrack-NG.exe --MDcrack con entorno grafico

http://foro.elhacker.net/tutoriales_documentacion/manual_mdcrackpara_mi_el_mejor_crackeador_de_md5-t30367.0.html --preguntas , mejoras inquietudes

http://hack-2600.mforos.com/956072/6444663-manual-mdcrack-by-chiflon/ --fuente donde encontre el texto

http://www.hackersdelocos.com.ar/mdcrack.htm --otros metodos en diferentes s.o

http://www.indaya.com/tutorials.php?cmd=tutorial&id=42 --otro texto

http://www.weycrest.co.uk/information/infosec/info/tools/mdcrack/ --programa original para varios s.o

http://emilio.aesinformatica.com/2007/06/11/crackear-una-contrasena-en-md5/ texto extra

Algoritmos HASH (II): Atacando MD5 y SHA-1

0 comentarios

Continuacion del articulo hecho por LordHASH

--------------------------------------------------------------------------------------------------

Este artículo es una colaboración enviada por LordHASH

Algunos de los algoritmos de HASH más utilizados, que son sobre los que trabajaremos, son los siguientes:

  • MD5 (Message-Digest Algorithm 5 o Algoritmo de Firma de Mensajes 5): Desarrollado por Ron Rivest, ha sido hasta los últimos años el algoritmo hash más usado. Procesa mensajes de una longitud arbitraria en bloques de 512 bits generando un compendio de 128 bits. Debido a la capacidad de procesamiento actual esos 128 bits son insuficientes, además de que una serie de ataques criptoanalíticos han puesto de manifiesto algunas vulnerabilidades del algoritmo. Puede ser útil para comprobar la integridad de un fichero tras una descarga, por ejemplo, pero ya no es aceptable desde el punto de vista del criptoanálisis.
  • SHA-1 (Secure Hash Algorithm 1 o Algorimo de Hash Seguro 1): El SHA-1 toma como entrada un mensaje de longitud máxima 264 bits (más de dos mil millones de Gigabytes) y produce como salida un resumen de 160 bits. Este número es mayor que el que se utilizaba en el algoritmo SHA original, 128 bits. Ya existen nuevas versiones de SHA que trabajan con resúmenes de 224,256,384 e incluso 512 bits.

En realidad, lo seguros o inseguros que estos algoritmos sean no depende de los conocimientos informáticos o telemáticos que uno tenga, sino de sus conocimientos matemáticos. Nuestra intención es demostrar por dónde cojean los algoritmos de HASH, la dificultad computacional que presentan, y qué soluciones se dan a los posibles ataques que puedan sufrir por parte de individuos malintencionados.

Desde el año 2004 aproximadamente, cuando saltaron las primeras noticias escandalosas sobre la ruptura de MD5, la seguridad que ofrecen los algoritmos de HASH a nuestros esquemas de cifrado ha sido una cuestión que se ha puesto en entredicho. ¿Qué seguridad ofrecen estos algoritmos? ¿Resulta computacionalmente complejo romper uno de estos algoritmos? ¿Qué solución se debe adoptar? Intentaremos resolver estas cuestiones.

Intentemos dar una descripción algo más matemática de lo que es una función HASH. Supongamos que tenemos un mensaje a, al que aplicamos una función resumen a la que llamaremos h. Decimos entonces que el resultado de esta operación, al que llamaremos b es el HASH de a. Es decir:

h(a)=b

Esta función debe ser sencilla de realizar para un computador, pero debe ser computacionalmente imposible realizar la operación inversa, al menos para usuarios normales.

Además, esta función tiene otra característica: el tamaño de la entrada no es de longitud fija, puede ser de longitud variable. Esto tiene la siguiente consecuencia, que no demostraremos matemáticamente, pero que asumiremos por estar razonado en otros artículos publicados en Internet (al final se indican): es posible que dos mensajes de entrada a produzcan el mismo mensaje de salida b. Es decir, es posible encontrar un mensaje c, tal que:

h(c)=b

Sin embargo, encontrar ese mensaje debe ser, al igual que la particularidad antes mencionada, muy complejo desde el punto de vista computacional. Para los algoritmos de HASH esto es lo que se conoce como colisión: que dos mensajes de entrada produzcan el mismo mensaje de salida.

Así, a priori, podemos establecer dos posibles vulnerabilidades de las funciones HASH:

  • Que sea posible realizar la operación:

    h-1(b)=a

    Habitualmente, a la operación de invertir la función HASH comprobando todas las posibilidades para los bits de salida se le llama ataque de fuerza bruta. Esto es lo que debe ser computacionalmente impracticable. Supondría aplicar la función HASH 2n veces hasta encontrar la coincidencia (n es el número de bits de salida de la función).

  • Que se hallen colisiones:

    h(a)=b y h(c)=b, a distinto de c

    Lo que antes hemos denominado colisión.

Estas dos posibles debilidades dan lugar a cuatro tipos de ataques:

  • Ataque Tipo 1: El atacante es capaz de encontrar dos mensajes al azar que colisionan pero es incapaz de hacerlo de forma sistemática. Si es capaz de dar sólo con dos mensajes que provocan colisión, esta no es razón suficiente para tildar el algoritmo de ineficiente. Índice de peligrosidad: *
  • Ataque Tipo 2: El atacante es capaz de generar dos mensajes distintos de forma que sus HASH colisionen, pero sin saber a priori qué hash resultará. Es decir, el atacante no podría generar “queriendo” el HASH que necesite para fines maliciosos. Índice de peligrosidad: **
  • Ataque Tipo 3: El atacante es capaz de construir un mensaje sin sentido de forma que su HASH colisione con el de un mensaje con sentido. Si éste es el caso, el agente malicioso puede atacar algoritmos de encriptación asimétricos con firma digital, haciendo que se firmen mensajes sin sentido, y que el destinatario los acepte como fidedignos. Índice de peligrosidad: ***
  • Ataque Tipo 4: El atacante es capaz de crear un segundo mensaje falso que tiene sentido y cuyo hash colisiona con el del mensaje verdadero. En este caso, el atacante puede actuar con total impunidad, puede falsificar certificados, firmar mensajes…El resultado sería desastroso. Índice de peligrosidad: ****.

El problema entonces es el siguiente: ¿cómo de difícil es encontrar una solución? ¿Qué ataques reales son practicables? ¿Qué se gana incrementando el número de bits de salida del algoritmo?

En primer lugar, responderemos a la última pregunta. Si aumentamos el número de bits de salida del algoritmo, el ataque de fuerza bruta será más impracticable y también lo será encontrar los mensajes que colisionen, pues teóricamente se cumple que para confiar en que podemos encontrar dos mensajes que colisionen no hay que realizar 2n operaciones, si no sólo 2n/2.

Realicemos algunos cálculos para realizar ataques de fuerza bruta:

  • Para una clave de 12 dígitos, escrita con un teclado con 97 caracteres (base 97), habría que realizar (esto no tiene nada que ver con los algoritmos de HASH):

    9712 = 693.842.360.995.438.000.295.041 comprobaciones.

  • Para MD5, la salida es de 128 bits, sería necesario realizar:

    2128=3′402823669 * 1038 operaciones.

Trabajemos ahora con los ataques basados en búsqueda de colisiones:

  • Para MD5, la salida es de 128 bits, luego hay que operar sobre la mitad de bits, y sería necesario realizar:

    264=18.446.744.073.709.551.616 operaciones.

  • Para el algoritmo SHA 1, cuya salida es de 160 bits:

    280=1.208.925.819.614.629.174.706.176 operaciones.

    Curiosidad: 1.000.000 de ordenadores capaces de procesar en 1 µs cada operación tardarían más de 38.000 años en las 280 operaciones.

Y para los más desconfiados e incluso paranoicos: ¿qué hay de las supercomputadoras y de la gente que sí dispone de los medios necesarios? Cuando saltaron las primeras alarmas sobre estos algoritmos, hace unos dos años, las cifras eran las siguientes:

  • Para romper el SHA-0 completo se ha requerido un supercomputador de BULL de 256 procesadores durante unos 9 años de proceso, pero al supercomputador que está instalando IBM en la UPC (Barcelona) sólo le costaría del orden de 1 año.
  • Otro grupo de investigadores, Wang, Feng, Lai, y Yu han reportado haberlo conseguido con una complejidad aproximadamente 2000 veces menor (240 en vez de 251). Esta reducción equivaldría a una necesidad de cálculo de algo menos de 1 día, si la relación fuese lineal, pero los mismos investigadores han reportado necesitar sólo 1 día con un IBM P690 en cluster, para romper el MD5, que tiene una complejidad equivalente.

Por tanto, lo habitual no es que nos ataque desde uno de estos grandes usuarios (tienen cosas más interesantes que hacer, diría yo…) si no que nos ataque un cracker o similares (ACLARACIÓN: No incluyamos a los señores programadores en esto, los hackers. Gracias a Richard Stallman).

Lo habitual es que este tipo de usuarios realicen ataques basados en diccionarios, como la aplicación para Ñu/Linux John the Ripper. Este tipo de aplicaciones tiene una base de datos con claves comunes, que prueban sobre los sistemas a los que queremos acceder (por ejemplo Sistemas basados en UNIX donde se almacenan los resúmenes HASH de el nombre de usuario y su clave para autenticar). Ante esto sólo hay una solución: EVITAR LAS PASSWORDS ABSURDAS. No sirve (marta -tkm ni maria-secreto) ok??

Concluyendo, dependiendo de su nivel de paranoia críptica y de la aplicación que estén utilizando…escojan su algoritmo de HASH, pero no acepten menos de SHA-1. Cuando un algoritmo empieza a presentar vulnerabilidades no tarda mucho en ser aniquilado, así que a algunos de estos les queda poco tiempo de vida.

Fuentes:

Ir a Algoritmos HASH (I): Introducción


Fuente Del Articulo:

http://gaussianos.com/algoritmos-hash-ii-atacando-md5-y-sha-1/

Algoritmos HASH (I): Introducción

0 comentarios

Excelente articulo elaborado por LordHASH

--------------------------------------------------------------------------------------------------

Este artículo es una colaboración enviada por LordHASH

En primer lugar, trataremos de abordar de forma sencilla este concepto para aquellos que no lo conozcan. Podemos decir que un HASH no es más que un número resumen. De hecho, en muchos sitios web podéis encontrar expresiones como “checksum MD5″, lo que literalmente se traduce por “suma de comprobación”. Así, el concepto no es complicado, pero sí su implementación. Pongamos un ejemplo: supongamos que tenemos un fichero cualquiera. Pues bien, si consideramos dicho fichero como un flujo de bits y le aplicamos un algoritmo de HASH lo que obtenemos es otro conjunto de bits (de longitud fija y que depende del número de bits de salida del algoritmo o función que utilicemos) que depende bit a bit del contenido del flujo original de bits que sirvió como entrada al algoritmo.
Además, cumplen las siguientes propiedades:

• Todos los HASHes generados con una función de hash tienen el mismo tamaño, sea cual sea el mensaje utilizado como entrada.
• Dado un mensaje, es fácil y rápido mediante un ordenador calcular su HASH.
• Es imposible reconstruir el mensaje original a partir de su HASH.
• Es imposible generar un mensaje con un HASH determinado.

Es decir, un algoritmo de HASH no es un algoritmo de encriptación, aunque sí se utiliza en esquemas de cifrado, como algoritmos de cifrado asimétrico (por ejemplo en el RSA).

Ahora bien, tener una función de estas características puede tener muchas aplicaciones. Algunas de ellas pueden ser las siguientes:

  • Comprobación de integridad de ficheros: Supongamos que queremos transmitir un fichero a un amigo. Si antes de realizar este envío calculamos la función HASH del fichero, para nuestro amigo del otro extremo es posible verificar la integridad del fichero aplicando el mismo algoritmo al archivo que recibe. Si ambos coinciden, podemos asegurar que el envío ha sido satisfactorio. Ésta es una aplicación real que se utiliza, por ejemplo, para comprobar la integridad de muchos paquetes que se descargan en distribuciones del sistema operativo GNU/Linux.
  • Seguridad en procesos de identificación en sistemas: Los procesos de identificación (Login+Password) se ven reforzados por estos algoritmos. Se utilizan de la siguiente forma: cuando un usuario accede a su computadora debe introducir su nombre de usuario y su password. Pues bien, si el sistema operativo no registra estos datos como “texto claro”, si no que registra el resultado de aplicarles una función HASH, en el caso de que un usuario malicioso logre acceder a nuestro archivo de registros no conseguirá (a menos que el algoritmo utilizado sea malo o disponga de una supercomputadora) revertir el contenido de dicho registro, y por tanto no puede acceder a nuestro sistema. Esta misma idea se aplica en identificación de usuarios en muchas webs, con la diferencia de que para que este esquema sea seguro debe incluir información adicional y “aleatoria”, como marcas de tiempo y redundancias.
  • Firma digital: Estos algoritmos se utilizan en esquemas de firma digital para verificar la integridad de la información enviada por el canal de comunicaciones. Algoritmos de cifrado asimétrico, como RSA por ejemplo, realizan lo siguiente: calculan la función HASH del contenido del mensaje que se va a enviar y luego se firma dicho checksum con la clave privada del emisor. Así se asegura la integridad de la información y el “no repudio”.
  • En el próximo post veremos algo más sobre ataques a dos algoritmos HASH: MD5 ySHA-1.

    Ir a Algoritmos HASH (II): Atacando MD5 y SHA-1


    Fuente:http://gaussianos.com/algoritmos-hash-i-introduccion/

Como crear claves MD5 y con que crackearlas

0 comentarios
Hola,
bueno, primero que nada, ¿que es un hash md5??

Es un algoritmo de reduccion criptografico de 128 bits que se traduce en 32 caracteres hexadecimales (acrónimo de Message-Digest Algorithm 5, Algoritmo de Resumen del Mensaje 5)


Primero vamos a crear una clave encritada en md5 para luego crackearla y ver el resultado, ya que no es permitido utilizar tecnicas impropias que invadan la privacidad de algun usuario web .. XD

Para crear el codigo utilizmos un archivo lamado md5.php que contiene el siguiente codigo:


$cadena=“ villatux” ;
$texto_codificado=md5($cadena);
print “ $texto_modificado” ;
?>

ahora en el navegador, escribimos : "http:// localhost/md5.php" (sin comillas), esto nos mostrara el siguiente resultado:


6d887a5c677e2c9163b7e0536ef442ab


Para crackear este codigo y "saber" cual es la contraseña utilizaremos nuestro crackeador de md5 preferido, solo hay que introducir el hash a crackear y dependiendo de la complejidad de la contraseña encriptada y el crackeador que utilicen sera el tiempo en lograr crackearlo. Para una contraseña de 4 dijitos en Alfa tarda masomenos unos 3 segundos en crackear la contraseña... XD


acontinuacion les expongo algunos crackeadores y sus paginas de descarga:









Salu2!

MD5 Collision Demo

0 comentarios

Comparto con ustedes esta nota que leí aquí.

Collisions in the MD5 cryptographic hash function


It is now well-known that the crytographic hash function MD5 has been broken. In March 2005, Xiaoyun Wang and Hongbo Yu of Shandong University in China published an article in which they describe an algorithm that can find two different sequences of 128 bytes with the same MD5 hash. One famous such pair is the following:
d131dd02c5e6eec4693d9a0698aff95c 2fcab58712467eab4004583eb8fb7f89
55ad340609f4b30283e488832571415a 085125e8f7cdc99fd91dbdf280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e2b487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080a80d1e c69821bcb6a8839396f9652b6ff72a70
and
d131dd02c5e6eec4693d9a0698aff95c 2fcab50712467eab4004583eb8fb7f89
55ad340609f4b30283e4888325f1415a 085125e8f7cdc99fd91dbd7280373c5b
d8823e3156348f5bae6dacd436c919c6 dd53e23487da03fd02396306d248cda0
e99f33420f577ee8ce54b67080280d1e c69821bcb6a8839396f965ab6ff72a70
Each of these blocks has MD5 hash 79054025255fb1a26e4bc422aef54eb4. Ben Laurie has a nice website that visualizes this MD5 collision. For a non-technical, though slightly outdated, introduction to hash functions, see Steve Friedle's Illustrated Guide.
Exploits

As we will explain below, the algorithm of Wang and Yu can be used to create files of arbitrary length that have identical MD5 hashes, and that differ only in 128 bytes somewhere in the middle of the file. Several people have used this technique to create pairs of interesting files with identical MD5 hashes:
  • Magnus Daum and Stefan Lucks have created two PostScript files with identical MD5 hash, of which one is a letter of recommendation, and the other is a security clearance.
  • Eduardo Diaz has described a scheme by which two programs could be packed into two archives with identical MD5 hash. A special "extractor" program turn one archive into a "good" program and the other into an "evil" one.
  • In 2007, Marc Stevens, Arjen K. Lenstra, and Benne de Weger used an improved version of Wang and Yu's attack known as the chosen prefix collision method to produce two executable files with the same MD5 hash, but different behaviors. Unlike the old method, where the two files could only differ in a few carefully chosen bits, the chosen prefix method allows two completely arbitrary files to have the same MD5 hash, by appending a few thousand bytes at the end of each file. (Added Jul 27, 2008).
An evil pair of executable programs

The following is an improvement of Diaz's example, which does not need a special extractor. Here are two pairs of executable programs (one pair runs on Windows, one pair on Linux).
  • Windows version:
    • hello.exe. MD5 Sum: cdc47d670159eef60916ca03a9d4a007
    • erase.exe. MD5 Sum: cdc47d670159eef60916ca03a9d4a007
  • Linux version (i386):
    • hello. MD5 Sum: da5c61e1edc0f18337e46418e48c1290
    • erase. MD5 Sum: da5c61e1edc0f18337e46418e48c1290
These programs must be run from the console.

How it works

The above files were generated by exploiting two facts: the block structure of the MD5 function, and the fact that Wang and Yu's technique works for an arbitrary initialization vector. To understand what this means, it is useful to have a general idea of how the MD5 function processes its input. This is done by an iteration method known as the Merkle-Damgard method. A given input file is first padded so that its length will be a multiple of 64 bytes. It is then divided into individual 64-byte blocks M0, M1, ..., Mn-1. The MD5 hash is computed by computing a sequence of 16-byte states s0, ..., sn, according to the rule: si+1 = f(si, Mi), where f is a certain fixed (and complicated) function. Here, the initial state s0 is fixed, and is called the initialization vector. The final state sn is the computed MD5 hash.

The method of Wang and Yu makes it possible, for a given initialization vector s, to find two pairs of blocks M,M' and N,N', such that f(f(s, M), M') = f(f(s, N), N'). It is important that this works for any initialization vector s, and not just for the standard initialization vector s0.

Combining these observations, it is possible to find pairs of files of arbitrary length, which are identical except for 128 bytes somewhere in the middle of the file, and which have identical MD5 hash. Indeed, let us write the two files as sequences of 64-byte blocks:

M0, M1, ..., Mi-1, Mi, Mi+1, Mi+2, ..., Mn,

M0, M1, ..., Mi-1, Ni, Ni+1, Mi+2, ..., Mn.

The blocks at the beginning of the files, M0, ..., Mi-1, can be chosen arbitrarily. Suppose that the internal state of the MD5 hash function after processing these blocks is si. Now we can apply Wang and Yu's method to the initialization vector si, to find two pairs of blocks Mi, Mi+1 and Ni, Ni+1, such that

si+2 = f(f(si, Mi), Mi+1) = f(f(si, Ni), Ni+1).

This guarantees that the internal state si+2 after the i+2st block will be the same for the two files. Finally, the remaining blocks Mi+2, ..., Mn can again be chosen arbitrarily.

So how can we use this technique to produce a pair of programs (or postscript files) that have identical MD5 hash, yet behave in arbitrary different ways? This is simple. All we have to do is write the two programs like this:

Program 1: if (data1 == data1) then { good_program } else { evil_program }
Program 2: if (data2 == data1) then { good_program } else { evil_program }

and arrange things so that "data1" = Mi, Mi+1 and "data2" = Ni, Ni+1 in the above scheme. This can even be done in a compiled program, by first compiling it with dummy values for data1 and data2, and later replacing them with the properly computed values.

Do it yourself: the "evilize" library

Here, you can download the software that I used to create MD5-colliding executable files. This software is based on Patrick Stach's implementation of Wang and Yu's algorithm. You can find his original implementation here.

Quick usage instructions:

Note for Windows users: the below instructions are for Unix/Linux. On Windows, you may have to append ".exe" to the names of executable files. Also, to use "make", you must have the GNU tools installed and working.

  1. Unpack the archive and build the library and tools:
        tar zxf evilize-0.1.tar.gz
    cd evilize-0.1
    make
    This creates the programs "evilize", "md5coll", and the object file "goodevil.o".
  2. Create a C program with multiple behaviors. Instead of the usual top-level function main(), write two separate top-level functions main_good() and main_evil(). See the file hello-erase.c for a simple example.
  3. Compile your program and link against goodevil.o. For example:
        gcc hello-erase.c goodevil.o -o hello-erase
  4. Run the following command to create an initialization vector:
        ./evilize hello-erase -i
  5. Create an MD5 collision by running the following command (but replace the vector on the command line with the one you found in step 4):
        ./md5coll 0x23d3e487 0x3e3ea619 0xc7bdd6fa 0x2d0271e7 > init.txt
    Note: this step can take several hours.
  6. Create a pair of good and evil programs by running:
        ./evilize hello-erase -c init.txt -g good -e evil
    Here "good" and "evil" are the names of the two programs generated, and "hello-erase" is the name of the program you created in step 3.

    NOTE: steps 4-6 can also be done in a single step, as follows:

        ./evilize hello-erase -g good -e evil
    However, I prefer to do the steps separately, since step 5 takes so long.
  7. Check the MD5 checksums of the files "good" and "evil"; they should be the same.
  8. Run the programs "good" and "evil" - they should exhibit the two different behaviors that you programmed in step 2.


Fuente: Peter Selinger's WebPage.
http://sechack.blogspot.com/2009/01/md5-collision-demo.html

Cómo recuperar una clave en MD5

0 comentarios

La criptografía es utilizada para la proteger la información sensible de usuarios no autorizados, en una de ramas se encuentran los algoritmos de hash los cuales se encargan de asignan un valor numérico a cada carácter dentro del texto/archivo y generar un “hash” único (en teoría) para este.

En esta entrada pretendo recopilar los distintos métodos que tenemos para recuperar una clave o texto codificado con el algoritmo MD5, uno de los mas utilizados actualmente .

Candado MD5

Antes de empezar definamos qué es MD5:

Es uno de los algoritmos de reducción criptográficos diseñados por el profesor Ronald Rivest del MIT (Massachusetts Institute of Technology, Instituto Tecnológico de Massachusetts), Ampliamente utilizado en aplicaciones web (principalmente para almacenar contraseñas), para verificar la integridad de archivos y en.

Métodos para recuperar una Clave en MD5

Ataque de Fuerza Bruta

El MD5 es un algoritmo unidireccional (permite codificar mas no decodificar), por eso para validar las entradas es necesario pasarlas primero por el algoritmo para después comparar el hash generado con el que esta almacenado previamente, una de las primeras ideas que nos llega a la mente para “decodificar” algo en MD5 es realizar un ataque por fuerza bruta, donde codifiquemos caracteres desde aaaaaaa…a hasta zzzzzzz…z comparando con el hash que tenemos para ver si coincide.

Existen portales que se dedican a realizar este ataque de fuerza bruta y a almacenar en su base de datos la cadena de caracteres con su respectivo hash en MD5 por lo tanto lo primero que debemos hacer es comprobar si el hash que tenemos ya ha sido almacenado en alguna de estas bases de datos, si es asi podremos ahorrarnos mucho tiempo.

Bases de Datos para crackear MD5

Aquí les dejo un listado con las bases de datos con mas registros, este es el primer paso que se debe realizar solo tendremos que colocar el hash en el campo de texto y consultar si este ya esta en la base de datos, no es demorado y puede ahorrarnos mucho tiempo (click en la imagen para visitar la pagina).

Hash Database
authsecu.com

Crack MD5
md5decrypter.com

Database MD5 Crack
gdataonline.com

Database MD5
shm.hard-core.pl

CheckSum MD5
md5.shalla.de

Bases de Datos MD5 Hash
md5.rednoize.com

MD5 Hash DB
insidepro.com

MD5
passcracking.com

Y existen muchas mas solo es cuestión de buscar, recuerda probar primero el hash que tienes en cuanta base de datos de este tipo encuentres ya que el tiempo que gastas buscando nuevos portales con DB lo recuperas con creces si encuentras el pass decodificado en uno de ellos.

Software para Realizar Ataques de Fuerza Bruta a claves con MD5

Si la búsqueda en las bases de datos no te arrojo resultados positivos puedes realizar el ataque desde tu propia maquina, existe mucho software que puedes utilizar para este fin.

En mi experiencia personal el mejor programa para realizar ataques de fuerza bruta a una clave codificada con MD5 es el MDCRACK así que solo realizare un pequeño tutorial de como manejar este software y les pondré un listado de las otras alternativas que tienes para recuperar tu password en MD5 por este medio.

Manual MDCRACK

Lo primero que debemos hacer es descargar el MDCRACK de la pagina oficial lo descomprimimos e iniciamos un terminal (inicio/ejecutar/cmd.exe) ubicándonos en la carpeta donde tengamos el archivo MDCrack-sse.exe y ejecutamos el comando

MDCrack-sse.exe f4d09a31cd15e26c0a150e595511c90e

Con este comando el MDCrack empezará a realizar el ataque contra el hash que le hemos ingresado como parámetro utilizando las opciones por defecto, es decir todas las combinaciones de letras en minúsculas, MAYUSCULAS y num3r0s con un tamaño de password máximo de 12 caracteres.

En la mayoría de los casos esa configuración es la apropiada ya que no es muy común (lamentablemente) encontrar passwords de mas de 8 caracteres y con S!m&ol@s.

Despues empezara a aparecer en pantalla algo parecido a esto:
Password size: 1

Password size: 2

Password size: 3

Password size: N..

Hasta que aparezca el resultado del ataque

----------------------------------------
Collision found ! => Comunidad DragonJAR (este es el password en md5 crackeado)

Si no te aparece el resultado deberás introducir una configuración personalizada:

Si queremos que además de minúsculas, MAYÚSCULAS y nu3r0s aparezcan también S!m&ol@s debemos ingresar lo siguiente en consola:


MDCrack-sse.exe -s abcdefghijklmnopqrstuvwxyzABCDEFGHIJKMNOPQRSTUVWXYZ0123456789!&@ f4d09a31cd15e26c0a150e595511c90e

Como puedes ver para ingresar parámetros personalizados se llama el programa con el la opción -s seguido de todos los caracteres que quieres usar, en este caso todas las letras (menos la ñ ni Ñ que no son soportadas) en minúsculas y MAYÚSCULAS, todos los números del 0 al 9 y los 3 símbolos usados en la clave de ejemplo !&@.

Puedes realizar las combinaciones que quieras, por ejemplo si sabes que la mayoría de claves se escriben en minúscula puedes ahorrarte mucho tiempo colocando como parámetro solo las minúsculas.

Si quieres pausar la tarea y resumir mas tarde solo tienes que crear la carpeta c:\temp en esta se guardara lo que llevas, cuando quieras resumir ejecuta el MDCrack sinr ningún parámetro el revisara la carpeta y continuara el trabajo.

Es recomendado también si quieres otras tareas en el equipo mientras realizas el ataque es recomendable que le asignes una prioridad de “muy bajo” al proceso desde el administrador de tareas, de lo contrario tu pc quedara muy lento por la cantidad de recursos que consume el mdcrack y no podras hacer nada mas.

Originalmente el mdcrack solo esta disponible por linea de comandos, pero existen varios front ends realizados por terceros para las personas que no son muy amigas de la consola, el mas completo es este frontend en VB desarrollado por nulladd con el cual puedes configurar fácilmente los parámetros de este programa pero en la pagina del proyecto encontraras otros.

Free Image Hosting at www.ImageShack.us

El MDCrack funciona sin ningun problema con wine por lo que el sistema operativo no es una limitación.

Pagina Oficial del MDCrack

Con esto termino el pequeño tutorial sobre MDCrack, ahora les daré un listado de otras herramientas utilizadas para realizar ataques de fuerza bruta a hash en MD5.

Cain & Abel, Password Cracker

Cain & Abel

Una de las mejores herramientas para recuperación de passwords en Windows, para utilizarlo con claves en MD5 solo tienes que ir a la Pestaña “Cracker” luego en “MD5 Hashes” le das en el “+” y metes el hash.

Pagina Oficial de Cain & Abel

Documentacion del Cain & Abel

John The Ripper

John The Ripper

John the Ripper es un clásico entre las herramientas para realizar ataques de fuerza bruta, desde hace un tiempo soporta ataques a hash en MD5 y aunque no es tan rápido en esta tarea como el mdcrack es otra opción que tienes.

Pagina oficial del John The Ripper

Otras herramientas para Realizar Ataques de Fuerza Bruta a hash MD5

Google MD5 Crack
Google

Hace unos meses comentaba una noticia donde se comentaba sobre el uso de Google para descifrar Password MD5, no debe ser una de tus primeras opciones pero si deberías tenerla en cuenta.

Elf Wizard The Ripper MD5
Elf Wizard The Ripper MD5

Este es un proyecto elaborado por WHK el cual consiste en un sistema basado PHP donde se ingresa una serie de palabras con sus respectivos hashes en MD5 a una base de datos en MySQL, lo que diferencia este sistema de las bases de datos es que permite ingresar listas de palabras, y ademas sacar palabras de búsquedas especificas en google o de cualquier pagina web.

Pagina Oficial del Elf Wizard The Ripper MD5

En IronGeek publicaron un video donde explican varios de los métodos expuestos en este articulo para decodificar passwords en MD5.

Podemos concluir que aunque los hash agregan un pequeño obstáculo entre el atacante y la clave, no podemos confiar en el y es recomendable utilizar contraseñas con mas de 12 caracteres 4lph4num3r1c0s y con s!m&olºs para hacer de la tarea del atacante sea un poco mas dispendiosa.

Si tienes alguna otra forma de realizar no olvides comentarla y la agregare a esta entrada.

via portal dragon

Powered by Bad Robot
Helped by Blackubay