HacktheBox Sau

8 de ene. de 2024

Resumen:

Esta es una máquina bastante sencilla para aquellos que están buscando ejemplos clásicos de CSRF. Con elementos adicionales para hacer investigación, el siguiente es un paso a paso para su resolución.

Reconocimiento:


Comenzamos con un port scanner para saber qué puertos están abiertos.

nmap -sV -A <target machine>

Acceso inicial

Si intentamos acceder a este servicio web en puerto 55555, podemos ver el siguiente servicio:

Pagina de inicio

Aspectos interesantes:Acá podemos ver que existen bastantes datos para hacer una investigación en línea. Podemos leer un poco más de request-baskets en el siguiente link: https://github.com/darklynx/request-baskets. Teniendo en cuenta la versión (1.2.1), podemos hacer una búsqueda y encontramos el siguiente CVE:
https://nvd.nist.gov/vuln/detail/CVE-2023-27163

Exploit: https://github.com/cowsecurity/CVE-2023-27163

Lo que lograremos con el exploit es hacer que el servidor víctima inicie una nueva conexión hacia el mismo en puerto 80 para poder acceder un servicio que no está publicado externamente. El exploit lo podemos correr de la siguiente manera:

bash CVE-2023-27163.sh http://10.10.11.224:55555 http://127.0.0.1

Lo que recibimos es un enlace que nos dará acceso al recurso interno (en este caso el localhost del servidor víctima). Si intentamos acceder el link, obtenemos lo siguiente:

Acceso al servicio "Mailtrail" el cual no esta publicado externamente.

Acá tenemos un nuevo servicio, del cual tenemos que hacer la misma investigación. Si investigamos, es un servicio que revisa tráfico malicioso. Acá más información:

GitHub - stamparm/maltrail: Malicious traffic detection system
Malicious traffic detection system. Contribute to stamparm/maltrail development by creating an account on GitHub.

Segundo exploit: Si hacemos una inspección en el sitio, los links no funcionan correctamente, no tenemos página para ingresar información de usuario, etc.

Basado en la versión 0.53, buscamos alguna otra vulnerabilidad, y encontramos la siguiente:

GitHub - spookier/Maltrail-v0.53-Exploit: RCE Exploit For Maltrail-v0.53
RCE Exploit For Maltrail-v0.53. Contribute to spookier/Maltrail-v0.53-Exploit development by creating an account on GitHub.

En este caso, debemos utilizar los dos exploits, uno con el que nos da el link al acceso a Mailtrail y también spookier. El exploit requiere un puerto donde la máquina atacante va a esperar la conexión de parte de la víctima para poner tener acceso a la consola, entonces, iniciamos un local listener con netcat:

nc -lvp 8000

En la pestaña donde tenemos nuestro "listener" recibimos la conexión:

Ahora, ejecutamos el exploit:

Los argumentos que utiliza el exploit son los siguientes <maquina atacante>, <puerto del listener> <url generada en el exploit anterior>.

Con esto, recibimos la conexion en nuestro listener:

Revisamos el usuario que tiene la conexión es "puma". Buscamos la bandera de usuario en el folder home:


Escalacion de Privilegios:

Una vez dentro, podemos hacer nuestra investigación inicial. Podemos revisar distintos aspectos, pero inicialmente siempre es bueno ver si podemos correr algún comando como "sudo" con el comando "sudo -l", con esto obtenemos:

Algo a notar, es que este comando se puede utilizar en super user, sin necesidad de contraseña.

Si no hemos intentado hacer una escalacion de privilegio, podemos ver el siguiente artículo el cual lo explica:

https://exploit-notes.hdks.org/exploit/linux/privilege-escalation/sudo/sudo-systemctl-privilege-escalation/

Una vez que corremos el mismo comando "sudo systemctl status trail.service", podemos escapar de él con "!sh". De esta manera escapamos del comando, pero nos mantenemos con privilegios elevados:

Con esto, encontramos la última bandera y damos por concluida la máquina.