baby nginxatsu– Hack The Box [Write Up] Challenge

Continuamos los Challenges de Hack The Box en este caso con el llamado «baby nginxatsu» de dificultad Fácil y categoría Web.

Al final del post encontrarás un resumen de todo lo trabajado en este CTF. 🙂

La forma de iniciar los challenges es igual que cuando nos conectamos a una máquina del laboratorio de HTB, en este post te cuento paso a paso cómo conectarte con la VPN de la plataforma e iniciar la conexión.

Una vez nos dan el host de la máquina, la ejecutamos en el navegador:

En este caso, voy a hacer como cuando resolvemos máquinas, y es analizando el puerto que nos asignan para esa IP y ver más detalles:

También analizamos con whatweb:

Vemos como la IP http://83.136.252.206:53843/ hace una redirección temporal a la página de login /auth/login donde nos muestra que corre bajo un servidor nginx y php 7.4.12 basado en Laravel.

Vemos muchas de las vulnerabilidades publicadas que podemos ver sobre Laravel:

Analizamos igualmente si existen directorios abiertos ocultos bajo ese puerto que puedan ser interesantes analizar:

Vemos que se encuentran los de /static y /storage. En Static nos devuelve un Forbidden, pero Storage, no, y nos muestra un listado de archivos .conf y el archivo de respaldo .tar.gz que parecen ser una vía potencial de vulnerabilidad en la configuración.

En este punto vamos a descargarnos y analizar ese archivo back up: v1_db_backup_1604213342.tar.gz que parece ser un respaldo de la base de datos.

Descomprimimos el archivo y analizamos el contenido:

tenemos una base de datos Sqlite.

Vamos a explorar el contenido de la base de datos y una vez dentro vamos a listar las tablas para ver el contenido:

Prioridad de las tablas a revisar, empezamos por:

  • users: Lo más probable es que contenga credenciales de usuarios (nombres de usuario, contraseñas, correos electrónicos, etc.).
  • password_resets: Puede contener tokens o información relacionada con el restablecimiento de contraseñas.
  • nginx_configs: Podría incluir configuraciones de Nginx que revelen rutas interesantes o configuraciones inseguras.

Mediante el siguiente comando accedemos a ver el contenido de la tabla users, que nos devuelve la siguiente información:

SELECT * FROM users;
  • Usuarios: nginxatsu-adm-01, nginxatsu-giv, y nginxatsu-me0wth.
  • Contraseñas hasheadas para esos usuarios que vamos a romper mediante hashcat o crackstation.net :

En este caso para hacerlo más rápido usamos crackstation.net que nos dice que el tipo de hash utilizado en la contraseña del primer usuario encontrado nginxatsu-adm-01 es md5 y la contraseña es «adminadmin1».

Ahora que tenemos el mail de ese primer usuario y la contraseña, vamos a probar a logarnos con esas dos credenciales en el panel de login del inicio y nos da la flag:

RESUMEN

El primer paso fue explorar el sitio web en el puerto asignado (53843) mediante enumeración básica con gobuster, donde se identificaron dos directorios: /static/ (prohibido) y /storage/, que contenía un listado expuesto de archivos.

Dentro de /storage/, se encontró un archivo de respaldo llamado v1_db_backup_1604123342.tar.gz, que se descargó y descomprimió para revelar una base de datos SQLite.

Explorando la base de datos con sqlite3, se identificó una tabla llamada users, que contenía nombres de usuario y hashes de contraseñas. Estos hashes fueron crackeados usando herramientas como CrackStation, lo que permitió obtener una contraseña funcional.

Utilizando el correo y la contraseña del primer usuario, accedimos a ver la flag.

Otros posts relacionados