
Acerca de GreenHorn
GreenHorn es una máquina de fácil dificultad que aprovecha un exploit en Pluck para lograr la Ejecución Remota de Código y luego demuestra los peligros de las credenciales pixeladas. La máquina también demuestra que debemos tener cuidado al compartir configuraciones de código abierto para asegurarnos de no revelar archivos que contengan contraseñas u otra información que deba mantenerse confidencial.
Matriz de la máquina.
*Características de explotación de la máquina.

*Sin actualizaciones.
Comienzo enumerando los puertos, servicios y versiones.
rustscan -a 10.10.11.25 -- -sCV -oN scan.txt

1) Superior a la version 6.9 que permite enumerar usuarios. apartir de la version 7.0 se implemento la opcion UsePAM, que permite utilizar el ‘Pluggable Authentication Module (PAM)’ para manejar la autenticación.
2) Nginx 1.18.0.
3) Los metodos que podriamos utilizar por medio de curl, burpsuite y automatizar por medio de bash y python.
4) Nombre de dominio.

5) En el puerto 3000 corre un servidor web basado en Go Golang. Este servidor solo admite los métodos HTTP HEAD y GET. Además, incluye una cabecera Set-Cookie con una cookie marcada como Path=/ HttpOnly y SameSite=Lax, no tendra via con los subdominios y protege contra ataques de XSS y CSRF. También contiene un enlace a un archivo manifest.json codificado en Base64.
Decodifico el base64 y logramos ver en texto plano start_url al servidor web accesible en el puerto 3000.

Adjunto la dirección IP al nombre de dominio para facilitar un manejo más eficiente en la web. Esto nos permite acceder a recursos que podrían no estar disponibles al utilizar solo la dirección IP.
echo '10.10.11.25 greenhorn.htb' | sudo tee -a /etc/hosts

En este punto ambos podrían ser punto de entrada o de apoyo.


Verifico servicios web que estén corriendo.

Encontre varios CVE sobre el servicio Pluck CMS v4.7.18
https://www.exploit-db.com/exploits/51420 – XSS (tiene medidas para cubrir XSS)
https://www.exploit-db.com/exploits/51592 – RCE
https://github.com/0xDTC/Pluck-CMS-v4.7.18-Remote-Code-Execution-CVE-2023-50564 – RCE
https://github.com/thefizzyfish/CVE-2023-50564-pluck – RCE

La vulnerabilidad RCE en Pluck CMS v4.7.18 se origina en la forma en que se maneja la carga de módulos a través de modules_install.php, que se incluye en el flujo de control basado en el parámetro action. Si puedo manipular este flujo y cargar un archivo malicioso, puedo ejecutar código arbitrario en el servidor.
pluck/admin.php at master · pluck-cms/pluck

Explore en gitea encontrando con un repo de GreenAdmin.

Dentro del repo, divulga un hash de la contraseña admin.

Utilicé hashid para identificar el tipo de hash, probando con SHA-512, y luego utilicé John the Ripper para crackear la contraseña iloveyou1.

Luego de entender la vulnerabilidad, este CVE automatiza la explotación.
https://github.com/thefizzyfish/CVE-2023-50564-pluck
- Se autentica en el sistema utilizando las credenciales proporcionadas.
- Crea un archivo PHP que actúa como una revshell.
- Comprime este archivo en un archivo ZIP.
- Sube el archivo ZIP al servidor a través de la funcionalidad de instalación de módulos.
- Finalmente, intenta acceder al archivo PHP cargado para ejecutar la revshell.
Ejecuto el exploit y sanitizo la terminal generando una nueva instancia de bash redirigiendo las salidas a /dev/null, verifico usuario actual, grupos que pertenece, usuarios conectados al sistema e información del sistema y liste directorios presentes y ocultos.

Mientras corre linPEAS en otra terminal, pruebo las credenciales en el usuario junior, obteniendo acceso.

Gano flag user.txt.

Me encuentro con un PDF en /home/junior.

Se está dirigiendo al usuario junior, muestra un comando con sudo ejecutando openVAS, por lo que supongo que la contraseña que aparece pixelada corresponde a root.

Tampoco puede ser un error, ya que no puedo usar sudo con el usuario junior.

Utilice la herramienta https://tools.pdf24.org/, recorte la parte de la contraseña pasándolo de PDF a PNG.

Luego utilice depix que trata de reagrupar los pixeles para formar la imagen, recuperando casi un 80% la imagen siendo legible por la vista.
sidefromsidetheothersidesidefromsidetheotherside

Trate de pasar depix varias veces y aun así me entrego la misma imagen

Intenté leerlo usando Tesseract, convirtiéndolo de PNG a TXT, pero aun así no es legible desde una terminal bash.

Gano flag de root.

You must be logged in to post a comment.