PermX | Hack The Box

En este tutorial voy a mostrar como obtuve la bandera root en la maquina PermX de Hack The Box. Esta propiedad se presenta como un desafío de nivel fácil.

PermX

26 de septiembre de 2024

Enumeración


Voy a comenzar realizando un escaneo de puertos con nmap:

Escaneo nmap

Me encuentro con que los puertos 22 y 80 están abiertos, con lo cual voy a ingresar en la pagina web para ver si hay algo interesante:

web

Al ingresar en la web veo que se trata de un sitio estático, con lo cual voy a proseguir en la búsqueda de algún vhost:

Subdominio ffuf

Veo que hay un vhost el cual es "lms.permx.htb", al ingresar veo que se trata de un login de chamilo. Este es un software que permite brindar educación virtual:

chamilo

Explotación


Para este punto ya no sabia muy bien para donde seguir, así que busque si había alguna vulnerabilidad registrada para este sistema. Encontré una vulnerabilidad que se adaptaba a lo que necesitaba (CVE -2023-4220).

Luego busque como explotar esta vulnerabilidad y encontré la solución en un repositorio de github: https://github.com/Ziad-Sakr/Chamilo-CVE-2023-4220-Exploit?tab=readme-ov-file.

Luego de seguir los paso del repositorio al pie de la letra logré obtener una reverse shell.

reverse shell

Escalada de Privilegios


Para este punto me enfoque en encontrar alguna credencial para poder ingresar por medio de SSH.

En el directorio home encontré que había un usuario "mtz", luego en el archivo app/configuration.php encontré una contraseña. Probé suerte con ambas credenciales para ingresar por medio de SSH y funcionó.

Una vez dentro con el usuario "mtz" logré dar facilmente con la bandera usuario, simplemente listando archivos en la raíz del usuario.

Ahora voy a ingresar el comando sudo -l para ver que permisos tengo y me figura que tengo permisos completos para /opt/acl.sh.

sudo su

Ingresé en el archivo para ver de que se trataba y era un código que permitia modificar los permisos de los usuarios:

Permisos

Hay un pequeño problema y es que no lo puedo modificar ya que para poder modificarlo necesito que el archivo de destino este en la carpeta de inicio.

Para poder resolver este problema voy a crear un nuevo enlace que este dirigido a /etc/sudoers para luego darle permisos de escritura y de esta manera modificarlo dándole al usuario mtz los permisos de root:

ln -s /etc/sudoers Sir_Reda 
sudo /opt/acl.sh mtz rw /home/mtz/Sir_Reda 

De esta manera obtenemos el permiso de root. Solo resta navegar por el sistema hasta encontrar la bandera root.

Felicitaciones! Espero que este tutorial te haya sido de ayuda.