Fecha de lanzamiento | 21 Jul 2017 |
Estado | Retirada |
Dificultad | Easy |
Plataforma | Linux |
IP | 10.10.10.37 |
Información de la máquina
RECONOCIMIENTO
Vemos que nmap
nos reporta que hay cuatro puertos abiertos en la máquina, 21, 22, 80 y 25565.
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn -oG allPorts 10.10.10.37 nmap -sCV -p21,22,80,25565 -oN targeted 10.10.10.37

Enumeración FTP
En este caso, nmap
no nos ha reportado que podamos iniciar sesión de forma anónima en el servidor FTP. Actualmente no tenemos credenciales válidas así que tenemos que descartar esta vía.
Realizando una búsqueda de exploits para la versión que esta corriendo (ProFTPD 1.3.5A), pero no existe ningún exploit para esa versión que podamos correr sin habernos autenticado antes.
Parece ser que el servidor FTP no es la vía principal de entrada y lo dejaremos de momento para volver en caso de que obtengamos credenciales válidas.
Enumeración Web
Corriendo la herramienta WhatWeb
, observamos en las cabeceras de respuesta un código 302 que nos redirige a blocky.htb
. Nuestra máquina no sabe como resolver ese dominio, por lo que vamos a tener que añadirlo al archivo /etc/hosts
.

Volviendo a correr la herramienta, podemos ver que se está usando WordPress como gestor de contenido, y tenemos también la versión:

Realizando fuerza bruta de directorios con herramientas como wfuzz
y gobuster
, descubrimos los siguientes:
wfuzz -c --hc=404 -t 100 -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt -u http://blocky.htb/FUZZ/ -f wfuzz.txt gobuster dir -u http://blocky.htb -w /usr/share/seclists/Discovery/Web-Content/raft-large-directories-lowercase.txt -t 100 -r -o fuzzinggo.txt

Analizando estos directorios, encontramos dentro de /plugins
dos archivos con extensión .jar
. Nos los vamos a descargar para poder analizarlos de forma local.
Vamos a abrir el primero con la herramienta jd-gui
(podemos installarla mediante apt install jd-gui
). Vemos que es un archivo pequeño que contiene únicamente una clase, con una serie de Strings declaradas. Tenemos entonces un posible usuario y contraseña que vamos a guardarnos.

Además, sabiendo que es un WordPress, existe una herramienta de escaneo de vulnerabilidades de WordPress llamada wpscan
. Si la corremos, además de ver que existen numerosos plugins vulnerables, nos reporta un nombre de usuario: Notch.
wpscan --url http://blocky.htb -e vp,u

Con esta información, ya podemos obtener una shell de diferentes formas. Vamos a ver la más sencilla.
EXPLOTACIÓN
Conexión SSH
Sabemos que tenemos un usuario a nivel de WordPress llamado Notch, pero no tenemos constancia de que este usuario exista a nivel de sistema. Si observamos la versión de SSH, vemos que es OpenSSH 7.2p2. Si buscamos exploits para esta versión, vemos un script en Python que nos permite verificar si un usuario existe en el sistema o no.
Nos vamos a copiar este exploit y vamos a ejecutarlo. Podemos verificar que efectivamente, NOTCH es un usuario válido a nivel de sistema.

Si utilizamos la contraseña filtrada por el archivo .jar
, vemos que podemos obtener una sesión como el usuario Notch.
sshpass -p 8YsqfCTnvxAUeduzjNSXe22 ssh [email protected]

La escalada es muy, muy sencilla. Vemos que estamos dentro del grupo SUDO. Y además conocemos la contraseña del usuario. Únicamente tenemos que escalar privilegios otorgando la contraseña del usuario Notch.

Ya tenemos máximos privilegios en el sistema y podemos ver la información de las dos flags de HTB y reportarlas.
