Page cover

🟢Planning

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

Pista inicial

La plataforma nos proporciona las credenciales iniciales para esta máquina:


Información General

  • Nombre de la máquina: Planning

  • IP: 10.10.11.68

  • Sistema operativo: Linux

  • Dificultad: 🟢 Fácil

  • Fecha: 27/05/2025


Primer acceso

Añadimos la IP 10.10.11.68 a nuestro /etc/hosts y accedemos través del navegador.

Parece una web de cursos online. Tiene algunos formularios como el input del index y la página de Contact que podrían tener alguna vulnerabilidad.


Escaneo de puertos

Solo encontramos puertos comunes (22 y 80) abiertos. Nos centraremos en el servicio web.


Testing de formularios

Probamos distintas técnicas de inyección contra los formularios e inputs de la web pero ninguno nos devuelve nada interesante.


Fuzzing

Haciendo fuzzing con dirsearch nos encontramos unos pocos directorios:

Revisando los directorios no encontramos nada relevante.


Enumeración de Vhosts

Extraer el Content-Length

Fuzzing de vhosts con ffuf

Encontramos un subdominio grafana muy interesante! Vamos a añadirlo a /etc/hosts y echarle un ojo.

Llegamos a un panel de login de grafana y encontramos una versión: 11.0.0. Probando las credenciales proporcionadas para la máquina logramos acceder sin problema.


Búsqueda de exploits

En el siguiente post encontramos un CVE asociado con la versión 11.0 de grafana:

En Sploitus encontramos algunos exploits interesantes:

Encontramos este exploit interesante:


Explotación de Grafana

Iniciamos un listener de netcat y ejecutamos el exploit:

puedes ver que estamos en un entorno Docker y después de buscar cualquier dato importante leemos la variable env:

Encontramos lo que parece la contraseña de un administrador de seguridad de Grafana:

Probamos a acceder en el login de Grafana pero no nos deja, por lo que probaremos estas credenciales por SSH.


User flag


Escalada de privilegios

Permisos de ejecución

No tenemos permisos de ejecución en la máquina:

Puertos abiertos

Usamos netstat para verificar los puertos abiertos en el servidor:

Encontré que el puerto 3306 y 8000 estaban abierto, con MySQL y HTTP ejecutándose. Verifiqué el archivo de configuración web y encontré el nombre de usuario y la contraseña de MySQL, lo que me permitió iniciar sesión con éxito en MySQL.

🔑Credential Hunting - Linux

Acceso a la base de datos

Enumeramos el contenido de las tablas pero no encontramos ninguna credencial válida, más que payloads sospechosos intentando explotar Path Traversal:

Acceso web

Vamos a echarle un ojo al puerto 8000 expuesto:

Habilitar Port Forwaring SSH

Acceso web en Kali

Llegamos a un panel de login web pero se un nombre de usuario y una contraseña para iniciar sesión. Intentamos usar las credenciales que tenemos hasta el momento, pero el inicio de sesión falló.

Credential Hunting

Recopilé información y encontré un /opt/crontabs. Dentro había un archivo crontab.db.

Este archivo contiene una credencial sensible en texto claro usada para proteger un archivo comprimido:

Acceso a Crontabs

Usé el nombre de usuario root para iniciar sesión en el sitio web al que acababa de acceder y funciona:

Agregamos una entrada crontab para añadir una reverse shell:

Guardamos, abrimos un listener de netcat y pulsamos en el botón "Save to crontab" para guardarlo y que se ejecute automáticamente:

Recibimos una shell como root:

Última actualización

¿Te fue útil?