El otro día nos encontrábamos con un problemilla tras una SQLi exitosa echa a mano. Dicho problema no era otro que la contraseña hasheada en MD5. Vamos a ver varias soluciones ytodas son válidas (todo depende del tiempo que quieras invertir). Al menos una hará que aprendas algo nuevo xD.
En el ejemplo del otro día, nos encontramos con cinco hashes en MD5 que habíamos volcado en un ataque de SQl injection.
- 5f4dcc3b5aa765d61d8327deb882cf99
- 0d107d09f5bbe40cade3de5c71e9e9b7
- 8d3533d75ae2c3966d7e0d4fcc69216b
- e99a18c428cb38d5f260853678922e03
- 81dc9bdb52d04dc20036dbd8313ed055
Vamos a ver como podemos tratar estos hashes para conseguir obtener la contraseña en texto claro.
La primera forma será a través de John the ripper. Es bastante sencillo. Guardamos los hashes en un fichero y se lo pasamos a John de la siguiente manera.
En este caso, como son contraseñas conocidas - o visto de otro modo, son contraseñas que vienen en cualquier diccionario- las saca en un corto espacio de tiempo.
Otra forma es con el programa hashcat, que ya os aviso que es bastante potente (para mi, incluso mejor que John). Su uso también es sencillo, aunque quizá no tanto como el anterior.
Creamos un fichero hash.txt (o el que teníamos de antes) en el que metemos los hashes y otro fichero que usaremos como diccionario con las claves.
En este punto podemos usar cualquiera de los diccionarios que vienen en Kali. Podemos crear uno nosotros a medida o, podemos descargar alguno (ojo, no sea que nos toque premio en la descarga xD). Para este ejemplo usamos uno que he creado a medida metiendo las 25 peores contraseñas.
Para ver que opción es la que usaremos contra los MD5, ponemos lo siguiente en el terminal (desde la ruta /usr/share/hashcat):
./hashcat-cli64.bin -help |grep MD5 (ojo que es case sensitive).
Y nos devuelve lo siguiente.
Con eso ya sabemos que hay que usar la opción 0 que es MD5.
Lo que le estamos pasando con el parámetro anterior es -a 0 para realizar un ataque directo y -m 0 para decirle que es MD5.
Si has llegado hasta aquí leyendo todo esto, te mereces la forma rápida de sacar los MD5 y es que, para este tipo de casos (contraseñas de DWVA y otras máquinas vulnerables, o contraseñas conocidas) nos vale con poner tal cual el hash en Google y ya lo tenemos xD.
Como vemos en la imagen anterior, no hace falta ni abrir el enlace, en el propio resultado de la búsqueda se puede ver el resultado jeje.
Ya tenemos las contraseñas de los usuarios que sacamos con la SQLi manual.
Roberto García (@1GbDeInfo)