🟢Nocturnal
En esta ocasión vamos a hacer el writeup de la máquina Nocturnal de Hack the Box, una máquina Linux de dificultad easy.

Información General
Nombre de la máquina:
NocturnalIP:
10.10.11.64Sistema operativo:
LinuxDificultad:
🟢 FácilFecha:
27/05/2025
Añadimos la IP al /etc/hosts
Escaneo de Puertos
Observaciones: Solo encontramos puertos comunes abiertos. Nos interesa la aplicación web.
Reconocimiento Inicial
Acceso Web
Accedemos a http://nocturnal.htb y observamos que parece ser una plataforma donde podemos subir archivos word, excel y PDF.

Encontramos las páginas de login y registro, por lo que vamos a registrarnos para ver el interior de la aplicación:

Prueba de subida de archivos
A simple vista lo primero que se nos ocurre es subir una shell php para ganar acceso. Usaremos la siguiente reverse shell:
Al darle a upload vemos que tiene algún tipo de validación:

Bypass con doble extensión
Vamos a renombrar la shell.php a shell.php.pdf y probar si podemos bypassear el filtro:

Parece que podemos subirlo sin problema. Vamos a darle a Forward y vemos que se sube correctamente:

Al pulsar sobre el archivo se nos descarga un PDF y al abrirlo no nos deja ver el php:

Al subir un PDF válido pasa lo mismo, solamente nos descarga lo que subamos en nuestro equipo.
Enumeración Web
Fuzzing de Directorios
Directorios encontrados:
/backups- No podemos acceder/uploads- No podemos acceder
No se encuentran datos sensibles directamente accesibles.
Fuzzing de usuarios
Como vimos en Burp Suite al pulsar en un archivo subido vemos que le pasa el parámetro username, por lo que vamos a fuzzearlo para intentar obtener otros usuarios de la web:
Fuzzing con ffuf
Encontramos 3 usuarios!
adminamandatobías
Impersonar usuarios
Vamos a usar Burp Suite para impersonar a los usuarios que hemos encontrado, a ver si han subido algún archivo interesante:

Conseguimos impersonarnos correctamente con el usuario amanda y vemos que ha subido un documento privacy.odt muy interesante. Vamos a descargarlo:

En content.xml encontramos la contraseña del usuario amanda:

La probamos por SSH pero no nos funciona. Vamos a probarla accediendo al servicio web:

Se nos ha habilitado la opción de Admin Panel, vamos a echarle un ojo:

Este admin panel nos permite seleccionar un archivo y visualizarlo en la parte inferior. Vemos que hay una sección de backups interesante.
Seleccionando por ejemplo la de register.php encontramos la ubicación de la base de datos:
Eso nos indica que está en la ruta:
Command Injection
En la parte de abajo del todo de la página encontramos un input que podría ser vulnerable:

Al inyectar payloads en bash en el campo de contraseña utilizando codificación de URL, confirmamos RCE con comandos como:
Una cosa importante que aprendí durante esta etapa fue que, aunque los caracteres especiales obvios estaban bloqueados, los espacios en blanco codificados en URL como %09(tabulación) aún podían usarse para eludir el filtro e inyectar comandos con éxito.

Lectura de la base de datos
Volcamos la base de datos SQLite usando Burpsuite como se muestra a continuación. Primero hacemos un ls para confirmar la presencia de la base de datos:

Dumpear base de datos
Usaremos el siguiente payload:

Tenemos los hashes de todos los usuarios! Vamos a guardarlos en un archivo de texto y a intentar crackearlos:
Cracking con hashcat
Encontramos una contraseña que coincide con el hash del usuario tobias: slowmotionapocalypse
User Flag
Escalada de Privilegios
Enumeración de Privilegios
No podemos ejecutar sudo en la máquina:
Etc/passwd
Linpeas
Encontramos 4 usuarios con shell:
Ejecutamos Linpeas y vemos puntos interesantes.
Servicios corriendo
Encontramos varios servicios corriendo internamente, entre los que nos llama la atención el puerto 8080, que suele identificarse con servicios web expuestos:
Vamos a configurar el pivoting SSH para acceder desde nuestro Kali:
Ahora accedemos a través del navegador en http://127.0.0.1:8080 y llegamos a un panel de login de ISP Config.

Prueba de contraseñas
Probando distintas contraseñas descubrí que el usuario admin usa la misma contraseña que tobias para acceder a través del login web:

Versión

Después de verificar la versión, investigué las vulnerabilidades y encontré un exploit conocido (CVE-2023–46818), que permitía a los usuarios autenticados lograr la ejecución remota de código.
Última actualización
¿Te fue útil?