El viernes pasado mi director de proyecto me dio un mandato SQL para que probara si era vulnerable a inyecciones. Pasó la prueba, pero no habría sido muy raro que hubiese funcionado y me hubiera soltado todas las contraseñas.
Visto lo visto, me decidí a no guardar las contraseñas en texto plano, sino en MD5. El cambio a penas me llevó 5 minutos, pero quedé intrigado… ¿sería seguro?
Como no puedo estar quieto, me hice una pequeña herramienta de auditoría que extraía la lista de usuario, contraseña (md5) de la base de datos (o de un fichero con formato "login hashMD5") e intentaba sacar la contraseña. Por si alguien no sabe nada de MD5, aquí va una explicación muy por encima:
MD5 cifra la información utilizando un algoritmo fácil de realizar en un sentido, es decir, codificar la palabra "hola" nos llevará un abrir y cerrar de ojos, sin embargo, pasar de la versión cifrada a la palabra original resulta imposible. ¿Cómo puede el sistema verificar entonces si nuestra contraseña es correcta? En la base de datos está la versión codificada, tú introduces la contraseña, el sistema le aplica MD5, si coincide con la que tiene almacenada, es correcta, si no… mala suerte.
¿Cómo es posible que haya hecho un programita para crackear md5? Fácil, porque no lo he hecho. Imagina que tengo todas las combinaciones posibles con su correspondiente MD5… pasar de uno a otro sería tribial, el problema es que eso tomaría mucho espacio. Lo que hago es hacer uso de una web que tiene almacenadas un puñado de Hashes MD5 comunes… si por casualidad coincide, el programa te la mostrará.
Os dejo el programa y un fichero de ejemplo por si a alguien le resultase útil.
Hombre, es que MD5 es un algoritmo que es inseguro (se pueden atacar por colisiones). Yo usaría SHA-2 de al menos 256 bits o cifraría esos hashes con Blowfish, que es libre.
porfa dime que va donde dice login :)
Adrían, me temo que no te entiendo. El fichero de ejemplo contiene una relación de login y sus hashes. Simplemente reemplaza los datos de ejemplo por los tuyos.
Yo les recomiendo este otro sitio que me funciono mejor en 2 contraseñas que buscaba http://md5.unidadlocal.com
espero les ayude como a mi
Hola si quieren encontrar hashes md5 entren a Perico-links, hay encontraran una pagina que busca en 15 bases de datos para que tengan una búsqueda satisfactoria.
Saludos