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
, ynginxatsu-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. |