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

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

Parece una web de servicios de ciberseguridad. Nos encontramos un formulario de contacto pero que tampoco envía nada ni encontramos nada relevante en la petición que podamos explotar:

Escaneo de puertos
Solo encontramos 2 puertos abiertos, el 22 y el 80, los típicos.
Fuzzing
Haciendo fuzzing con dirsearch o gobuster no encontramos nada relevante.
Enumeración de Vhosts
En este momento puede parecer que no podemos hacer nada, pero vamos a usar ffuf para enumerar subdominios dentro de este host:
Observamos que hay un subdominio crm con un tamaño de respuesta diferente al resto, por lo que seguramente sea válido. Vamos a añadirlo a /etc/hosts y a ver su contenido:

Llegamos a un login del ERP/CRM Dolibarr y encontramos una versión, lo que nos permitiría buscar exploits específicos.
Buscando en Google credenciales por defecto, encontramos que podemos acceder con el usuario admin y contraseña admin:


Funciono! Conseguimos acceder al Dashboard.
Búsqueda de exploits
Haciendo un poco de research nos encontramos este POC en Github que nos podría servir para explotar manualmente un reverse shell:
Vamos a seguir este POc en la parte de explotación.
Explotación
Una vez logueados como admin:admin, vamos a ir al apartado Websites > Crear nuevo

Una vez creado un website, vamos a crear una página de test:

Una vez creada la página tenemos que:
Editar el HTML para añadir código en php
Previsualizar la página

La web usa algún tipo de validación que no permite introducir código PHP. Vamos a hacer un simple bypass de esto poniendo la H de php en mayúsculas:


Vemos que funciona y se pinta 2+2 en la página. Una vez que vemos que funciona vamos a crear una reverse shell en PHP y abrir un listener con Netcat:

Abrimos la página y tenemos una shell! Somos el usuario www-data y vemos que hay un usuario larissa

Enumeración y Credential Hunting
Buscamos archivos de configuración:
Encontramos uno que contiene credenciales de la base de datos:
Conexión a la base de datos
Enumeración de la base de datos
Nos interesa la tabla users:
Encontramos 2 passwords encriptados:
Podríamos probar a crackearlos, pero antes vamos a probar las credenciales que descubrimos antes.
User flag
Vamos a probar a conectarnos por SSH como el usuario larissa (que como ya vimos es el único usuario del sistema) y la contraseña que encontramos antes:

Ya tenemos la user flag! 🏆
Escalada de privilegios
El usuario larissa no puede ejecutar sudo -l para ver los permisos de ejecución, por lo que vamos a buscar archivos con el SUID activo:
Encontramos uno que nos llama la atención: enlightenment. Si buscamos en Google enlightenment privilege escalation encontramos un script que nos puede servir:
Vamos a editar un poco este exploit para elevar nuestros privilegios rápidamente:

El script funciona y obtenemos una shell de root, obteniendo la Root Flag sin problema 😎
Última actualización
¿Te fue útil?
