Explotando las colisiones de MD5

| Sin comentarios | 1 TrackBack

Escribí un programa en C# para demostrar como se puede explotar las colisiones encontradas en MD5 para crear 2 archivos con el mismo valor de hash.

Esta imagen muestra la prueba de concepto:

Primero generamos 2 archivos binarios para distribuir, usando un programa inofensivo (good.exe), y otro programa peligroso (evil.exe).

El valor MD5 para ambos archivos es el mismo.
Posteriormente un programa extractor saca distintas versiones del programa, dependiendo del archivo de distribución que se le entrega.
En el primer caso vemos como se extrae del archivo good.bin el programa inofensivo, y se ejecuta sin problemas.
En el segundo caso, el usuario extrae del archivo evil.bin nuestro programa dañino, como el usuario está confiado de que el archivo no ha sido alterado, debido a que su hash MD5 es el correcto, ejecuta un programa, que en este caso puede hacer mucho daño, como formatear el disco.

Puedes bajar los fuentes de la prueba de concepto de este archivo:
Codigo Fuente para Visual Studio 2003.

Y la versión compilada desde acá:
Demo compilada

Este desarrollo se basó en los siguientes papers:

http://www.cits.rub.de/MD5Collisions/

http://www.doxpara.com/md5_someday.pdf

Un artículo mas detallado lo publiqué en CodeProject.

1 TrackBack

URL de TrackBack: http://www.lnds.net/cgi-bin/mt-tb.cgi/344

Eduardo Díaz ha escrito un excelente artículo [1] para Codeproject, del que podemos encontrar una versión reducida [2] -pero en español- en su weblog [3]. El artículo describe la realización de un programa en C# para demostrar cómo se pueden Leer más

Escribir un comentario

Sobre esta entrada

Esta página contiene una sola entrada realizada por Eduardo Diaz y publicada el 15 de Septiembre 2005 3:03 PM.

Que te pasó Fayerwayer? es la entrada anterior en este blog.

Blogosfera, solidaridad y contacto es la entrada siguiente en este blog.

Encontrará los contenidos recientes en la página principal. Consulte los archivos para ver todos los contenidos.

BloGalaxia website stats