1 minuto(s) de lectura

¡Volvemos con los retos de CTFs! El reto que se detalla en esta entrada es un reto web del CTF SwampCTF 2018, celebrado durante los días 29,30 y 31 de marzo. Este se resuelve crackaenado un hash SHA256.

Al acceder a la URL nos aparecía la siguiente pantalla:

SwampCTF

Si introducimos dos caracteres en los campos para probar el formulario recibimos el siguiente mensaje:

SwampCTF

Si realizamos la misma petición pero con burp como proxy para poder capturar la respuesta el resultado es el siguiente:

SwampCTF

Este error es más claro, nos indica que el usuario no existe. Por lo tanto, lo primero que necesitamos es un usuario válido. Probamos con el usuario DUNGEON_MASTER ya que según la web es el único con acceso: «only DUNGEON_MASTER may enter the vault». Probamos esto y efectivamente la respuesta es diferente:

SwampCTF

La respuesta indica que el hash XXX no es igual al real_hash XXX. El primer hash es el hash SHA256 de nuestro password y el segundo debe ser el hash SHA256 del password que necesitamos.

Sabiendo el hash SHA256 del password que necesitamos probaremos a realizar un ataque de fuerza bruta mediante hashcat, una herramienta de recuperación de passwords que podéis ver en nuestra sección herramientas

En nuestro caso decidimos utilizar el diccionario rockyou que podéis localizar en el GitHub de SecLists

SwampCTF

Lanzamos hashcat con las siguientes opciones:

-m 1400  indicamos que es un hash tipo SHA256, en la wiki de hashcat podéis ver ejemplos de cada hash y su código en hashcat

-a 0 modo Straight para usar un diccionario y reglas

hash.txt fichero donde estará nuestro hash

rockyou.txt diccionario a utilizar

rules\best63.rules reglas que utilizará hashcat para crear nuevas contraseñas a partir de las contraseñas del diccionario

Tras lanzar el comando, en pocos segundos obtenemos el password:

SwampCTF

Introducimos la contraseña obtenida en la web de SwampCTF y nos aparecerá la flag !

SwampCTF