Enumeración
Para comenzar voy a realizar un escaneo de puertos con nmap:


Por lo visto los puertos abiertos son el 22, 80 y 33060, este ultimo pertenece a mysqlx, el cual es utilizado por mysql para comunicaciones orientadas a documentos json.
Me voy a dirigir a la pagina web para ver de que se trata:

Al parecer es una plataforma para una academia de “Hack The Box”, la cual me permite registrarme e iniciar sesión.


En primer lugar me voy a registrar y una vez realizado el registro con éxito voy a iniciar sesión.
Tras iniciar sesión veo que se trata de una plataforma que brinda diferentes cursos sobre ciberseguridad:

Tras investigar la página no encontré nada interesante que me sirva como punto de apoyo.
Lo que voy a hacer ahora es realizar una búsqueda de directorios para ver si hay alguna ruta que me pueda servir:

Me encontré con algunas cosas interesantes, en primer lugar, voy a ingresar en /config.php pero me encuentro con una página sin contenido, así que voy a dirigirme a admin.php en donde me encontré con un login.

Intenté loguearme como admin con las mismas credenciales que me registre, pero no funciono. Lo que voy a hacer ahora es abrir burpsuit para interceptar la petición del registro y ver si puedo modificar algo desde ahí para darme acceso como admin. Esto se me ocurrió gracias a que tras haberme registrado en el paso anterior note que se envía como parámetro un “roleid=0”, si modifico esto puedo registrarme como admin. Lo que voy a hacer es reemplazar el 0 por el 1:

Al reemplazarlo por el valor 1 puedo ver que recibo el mensaje de bienvenida.
Explotación
Tras ingresar como administrador me encuentro con lo siguiente:

Es una especie de checklist y por lo visto hay un error que figura pendiente el cual se encuentra en dev-staging-01.academy.htb. Voy a ingresar para ver de qué se trata:

Por lo que puedo notar se está usando el framework de laravel, esto lo note ya que en las rutas puedo ver que figura laravel.
Laravel es un framework de código abierto utilizado en PHP para desarrollar aplicaciones.
En searchsploit encontré un exploit que me puede ayudar:

Este exploit me permite establecer una conexión remota, la cual me puede ayudar para ingresar en la máquina y capturar las banderas.
Como es un exploit de metasploit voy a iniciarlo para luego poder ejecutarlo:

Una vez abiertas las sesiones puedo ejecutar comandos:

Y voy a usar el siguiente comando para obtener un tty completo:

Navegando un poco encontré el archivo user.txt pero no tengo permisos para leerlo:

Me voy a dirigir a /var/www/html/academy, ahí voy a encontrar un archivo con las variables de entorno:

Al abrirlo puedo ver la password de la base de datos:

Se me ocurrió probar si esa contraseña es válida para el usuario cry0l1t3 y funciono:

Ahora puedo obtener la bandera user.txt.
Escalada de Privilegios
Tras ingresar el comando id veo que el usuario se encuentra en el grupo adm:

El grupo adm es utilizado para permitir que sus miembros lean archivos de log del sistema como por ejemplo /var/log. Es una forma segura de permitir que usuarios supervisen el sistema sin darles acceso completo de root.
Voy a listar todos los archivos de var/log que tienen asignado al grupo adm:
find \-group adm 2>/dev/null
Ahí encontré una carpeta llamada “audit”, al ingresar veo que hay varios archivos .log que contienen información sobre lo que ocurrió en el sistema.
Existe un comando que sirve para generar un reporte de eventos del sistema relacionados con la terminal a partir de logs de auditoria. Este comando me muestra un resumen de las acciones realizadas como por ejemplo ssh, login, su, entre otros.
Al ejecutarlo encontré una contraseña para mrb3n:

Me voy a loguear con el usuario mrb3n:

Tras ejecutar sudo –l y colocar la contraseña puedo ver que tengo permisos para ejecutar el comando composer:

Lo que puedo hacer para obtener acceso a root es ingresar el siguiente comando:
TF=$(mktemp -d)
echo '{"scripts":{"x":"/bin/sh -i 0<&3 1>&3 2>&3"}}' >$TF/composer.json
sudo composer --working-dir=$TF run-script x

Y así obtengo acceso a root, ahora solo resta navegar por root y encontrar la bandera.
Espero que este tutorial te haya ayudado!