githubEditar

HackTheBox - Greenhorn

Writeup de la máquina Greenhorn de HackTheBox

  • Dificultad easy

  • Tiempo aprox. ~4h

  • Datos Iniciales: 10.10.11.25

Análisis Inicial

Iniciamos con un scan nmap:

22/tcp   open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 57:d6:92:8a:72:44:84:17:29:eb:5c:c9:63:6a:fe:fd (ECDSA)
|_  256 40:ea:17:b1:b6:c5:3f:42:56:67:4a:3c:ee:75:23:2f (ED25519)
80/tcp   open  http    nginx 1.18.0 (Ubuntu)
|_http-title: Did not follow redirect to http://greenhorn.htb/
|_http-server-header: nginx/1.18.0 (Ubuntu)
3000/tcp open  http    Golang net/http serverclear
  • Añadimos greenhorn.htb a /etc/hosts.

Tanto el puerto 80 como el 3000 parecen servicios http:

Puerto 80

Encontramos una página de presentación de Greenhorn.

  • Se ve un botón admin

  • Podemos ver que la página está mantenida con Pluck

Al entrar a admin:

  • Encontramos la versión de Pluck, 4.7.18, con 2 vulnerabilidades importantes:

    • CVE-2023-50564: Permite subir archivos php como módulos a Pluck dentro de archivos .zip, lo que permite a cualquier atacante ejecutar código en el servidor.

    • CVE-2024-43042: Pluck dispone de un sistema que bloquea al usuario tras varios intentos de sesión fallidos, pero intentar loguearse rápidamente produce una condición de carreraarrow-up-right que hace que no se lleve la cuenta de tales intentos fallidos, permitiendo ataques por fuerza bruta.

Puerto 3000

Se trata de una página de Giteaarrow-up-right. Tras iniciar sesión, en Explore, encontramos un repositorio de Greenhorn.

Tras buscar un rato, en /data/settings/pass.php encuentro el siguiente hash:

Que en Crackstation se descifra para:

Con esto iniciamos sesión en el panel de admin del puerto 80.

También podríamos haber conseguido la contraseña por fuerza bruta debido al CVE-2024-43042, ya que iloveyou1 es una de las primeras contraseñas que se encuentran en rockyou.txt.

Panel de administrador

Aquí, conociendo ya el CVE-2023-50564, vamos directos a options > manage modules > Install a module...

Subimos un reverse shell con el nombre de a.php dentro de rev.zip como módulo, y accedemos a http://greenhorn.htb/data/modules/rev/a.php:

Desde la terminal:

Acceso inicial

Tras un rato largo buscando formas de elevar privilegios (linpeas, cron, sudo, archivos con SUID bit...) intento reutilizar la contraseña iloveyou1 para cambiar de usuario a junior:

En el directorio de junior encontramos los siguientes archivos:

Para poder trabajar mejor con Using OpenVAS.Pdf, lo paso a mi dispositivo convirtiéndolo a base 64:

En mi dispositivo:

Y ya tengo el contenido del PDF:

Tras no haber encontrado nada que pudiese ser un posible vector de escalada de privilegios, intento usar este programaarrow-up-right que permite eliminar el pixelado de imágenes dándole una imagen en la que basarse.

Usamos esta imagen como texto pixelado:

Tras probar con varias imágenes de muestra, una en específico da el resultado buscado:

De aquí podemos ver que la contraseña es sidefromsidetheothersidesidefromsidetheotherside, probamos ssh a root:

Última actualización