EXPLOSION

// RDP expuesto + contraseña en blanco del Administrator → escritorio remoto y root flag

● MUY FÁCIL HACKTHEBOX WINDOWS RDP · 3389 CONTRASEÑA VACÍA 📅 Octubre 2026 · Por Brandeiks

Reconocimiento con Nmap

1
ESCANEO COMPLETO DE PUERTOS

Empezamos lanzando un escaneo de los 65.535 puertos TCP contra 10.129.1.13. Explosion es una máquina Windows del nivel very easy de HTB Starting Point, así que un único escaneo bien planteado basta para perfilar toda la superficie: no hay virtual hosts, ni aplicaciones web, ni servicios escondidos en puertos altos.

El comando usa tres flags clave: -sV para detectar la versión de cada servicio, -p- para recorrer los 65.535 puertos (no solo los 1.000 más comunes) y --min-rate 5500 para acelerar el envío de paquetes y terminar el escaneo en segundos.

NMAP
$ sudo nmap -sV -p- --min-rate 5500 10.129.1.13
Not shown: 65526 closed tcp ports (reset)
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
3389/tcp open ms-wbt-server Microsoft Terminal Services
5985/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
49664/tcp open msrpc Microsoft Windows RPC
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49669/tcp open msrpc Microsoft Windows RPC
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Tres puertos destacan por encima del ruido de RPC: 3389 (RDP), 445 (SMB) y 5985 (WinRM). Los tres son canales de administración remota de Windows, y los tres exigen credenciales válidas para hacer cualquier cosa. En una máquina de este nivel el vector no suele estar en un exploit, sino en cómo está configurada la autenticación.

// PREGUNTA 5 — SERVICIO DEL PUERTO 3389/TCP

nmap identifica el puerto 3389 como ms-wbt-server (Microsoft Terminal Services), que es el servicio que implementa RDP en Windows. Es decir: la respuesta a la pregunta es ms-wbt-server, el nombre que da Windows al servidor de Escritorio Remoto.

2
CONCEPTOS PREVIOS: RDP, CLI, GUI Y TELNET

Antes de tocar la máquina conviene fijar la terminología, porque las preguntas teóricas de Starting Point giran precisamente alrededor de estos cuatro conceptos:

CONCEPTO SIGNIFICADO DETALLE
RDP Remote Desktop Protocol Protocolo de escritorio remoto de Microsoft sobre TCP 3389
CLI Command Line Interface Interacción con el sistema mediante comandos de texto
GUI Graphical User Interface Interacción mediante ventanas, iconos y ratón
Telnet Herramienta antigua de acceso remoto Sin cifrado por defecto, escucha en el puerto TCP 23

// CONTEXTO

RDP combina las dos últimas: transporta una GUI completa del sistema remoto y, dentro de ella, también permite abrir una consola (CLI). Es la diferencia clave con Telnet, que solo ofrece texto y sin cifrado alguno.

Acceso vía RDP con xfreerdp

3
CONEXIÓN CON XFREERDP

Con el puerto 3389 confirmado, el siguiente paso es el cliente RDP. En Linux el más habitual es xfreerdp, que se conecta al servicio ms-wbt-server de la máquina objetivo. El switch /v: especifica la IP del host destino — esto responde la pregunta 6 de la máquina — mientras que /u: fija el usuario y /cert:ignore evita que la conexión se detenga ante el aviso del certificado autofirmado que presenta el servidor.

Probamos directamente con Administrator, la cuenta con máximos privilegios del sistema. Cuando el cliente pida la contraseña, dejamos el campo en blanco y pulsamos Enter.

XFREERDP
$ xfreerdp /v:10.129.1.13 /u:Administrator /cert:ignore
[11:42:07:118] [2175:2176] [INFO][com.freerdp.core] - freerdp_connect:freerdp_set_last_error_ex resetting error state
[11:42:07:119] [2175:2176] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpdr
[11:42:07:120] [2175:2176] [INFO][com.freerdp.client.common.cmdline] - loading channelEx rdpsnd
[11:42:07:402] [2175:2176] [WARN][com.freerdp.crypto] - Certificate verification failure 'self-signed certificate (18)'
[11:42:07:403] [2175:2176] [WARN][com.freerdp.crypto] - The above X.509 certificate could not be verified, ignoring
[11:42:07:510] [2175:2176] [INFO][com.freerdp.core.nego] - Negotiating RDP encryption
Password: (en blanco · solo Enter)
[11:42:09:884] [2175:2176] [INFO][com.freerdp.core.connection] - Authentication success, session created
[11:42:10:031] [2175:2176] [INFO][com.freerdp.client.x11] - Desktop window opened for user Administrator
USUARIO
Administrator
CONTRASEÑA
(en blanco)
SERVICIO
RDP · 3389/tcp
4
ESCRITORIO REMOTO COMO ADMINISTRATOR

La sesión se abre sin más: tenemos delante el escritorio completo de Windows con la sesión iniciada como Administrator. Eso responde la pregunta 7: el usuario que devuelve una proyección de escritorio con contraseña en blanco es Administrator.

Para confirmar el contexto en el que estamos, abrimos una consola (cmd o PowerShell) y comprobamos identidad y equipo:

CMD
C:\Users\Administrator> whoami
explosion\administrator
C:\Users\Administrator> hostname
explosion

// WEAK AUTHENTICATION — ADMINISTRATOR SIN CONTRASEÑA

El servidor acepta una contraseña vacía para la cuenta Administrator. Esto combina dos fallos graves: (1) la cuenta administradora tiene la contraseña en blanco o la política permite contraseñas vacías, y (2) el servicio RDP está expuesto y no exige autenticación previa a nivel de red (NLA). Cualquiera que alcance el puerto 3389 obtiene control total del sistema en segundos, sin exploits ni herramientas especiales.

Bandera de root

5
LOCALIZACIÓN Y CAPTURA DE LA FLAG

Al tratarse de una máquina Windows, la bandera no vive en /root sino en el escritorio del usuario. Como hemos entrado precisamente como Administrator, basta abrir el Explorador o la consola y leer el archivo flag.txt en C:\Users\Administrator\Desktop\.

Primero listamos el directorio para ubicar el archivo y después volcamos su contenido con type:

FLAG
C:\Users\Administrator> dir Desktop
06/11/2021 08:12 AM 139 desktop.ini
06/11/2021 08:12 AM 34 flag.txt
C:\Users\Administrator> type Desktop\flag.txt
951fa96d7830c451b536be5a6be008a0

// BANDERA DE ROOT

951fa96d7830c451b536be5a6be008a0 — Leída directamente del escritorio de Administrator. Máquina completada en 5 pasos: nmap → 3389/tcp ms-wbt-server → xfreerdp /v: → contraseña en blanco → type flag.txt.

La lección de Explosion es directa: una contraseña vacía en una cuenta administrativa es una vulnerabilidad crítica real, no un detalle de laboratorio. En una auditoría interna aparece constantemente en servidores heredados, cuentas de servicio y equipos que se prepararon «temporalmente» y nunca se endurecieron. La mitigación es sencilla y obligatoria: políticas de contraseña que prohíban valores vacíos, deshabilitar RDP donde no sea imprescindible y exigir NLA.


VULNERABILIDAD COMPONENTE IMPACTO
Contraseña vacía Cuenta Administrator Acceso con máximos privilegios sin credencial
Weak Authentication RDP · ms-wbt-server 3389/tcp Sesión de escritorio remoto completa aceptando campo vacío
Sin Network Level Authentication RDP · pre-autenticación El servicio completa la sesión sin exigir credenciales previas
Superficie de administración expuesta SMB 445 · WinRM 5985 Canales de gestión remota accesibles desde la red

Referencia de Comandos

nmap
nmap -sV -p- --min-rate 5500 <IP>
Escaneo completo de los 65.535 puertos TCP con detección de versiones y ritmo forzado. En una máquina Windows de laboratorio es suficiente para localizar RDP, SMB y WinRM.
  • -sV — detección de versión de los servicios
  • -p- — escanea los 65.535 puertos TCP
  • --min-rate 5500 — envía al menos 5.500 paquetes por segundo
  • --open — muestra solo puertos abiertos
  • -Pn — omite el descubrimiento de host previo
xfreerdp
xfreerdp /v:<IP> /u:<usuario> [/p:<pass>] /cert:ignore
Cliente libre de RDP para Linux. Abre una sesión gráfica completa contra el servicio ms-wbt-server del objetivo. Si se omite /p, el cliente pregunta la contraseña de forma interactiva.
  • /v: — IP o nombre del host destino
  • /u: — nombre de usuario
  • /p: — contraseña (omitir para introducirla a mano)
  • /cert:ignore — ignora el certificado autofirmado
  • /dynamic-resolution — ajusta la resolución a la ventana
Comandos Windows
whoami && hostname && dir && type <archivo>
Equivalente Windows de la tríada de orientación en Linux: identidad, equipo y contenido del directorio. type hace las veces de cat para volcar un archivo de texto.
  • whoami — usuario efectivo (dominio\usuario)
  • hostname — nombre del equipo
  • dir — lista el contenido del directorio
  • type — muestra el contenido de un archivo
rdesktop
rdesktop -u <usuario> -p - <IP>
Cliente RDP clásico y muy ligero, alternativa a xfreerdp. Menos funciones (sin redirección de canales ni resolución dinámica) pero útil cuando xfreerdp no está disponible.
  • -u — nombre de usuario
  • -p - — pide la contraseña por consola
  • -g <ancho>x<alto> — fija el tamaño del escritorio
  • -r clipboard:PRIMARYCLIPBOARD — comparte el portapapeles

Glosario

RDP — Remote Desktop Protocol
RDP es el protocolo propietario de Microsoft para acceso remoto gráfico, desarrollado a partir de la tecnología de Terminal Services. Escucha por defecto en el puerto TCP 3389 y transporta la imagen del escritorio, la entrada de teclado y ratón, el audio y el portapapeles, todo cifrado con TLS. A diferencia de Telnet o SSH, no ofrece solo una consola: entrega una GUI completa del sistema remoto. Su presencia abierta a Internet es uno de los vectores más explotados del mundo Windows — desde fuerza bruta hasta vulnerabilidades como BlueKeep (CVE-2019-0708).
ms-wbt-server — Microsoft Terminal Services
ms-wbt-server es el nombre con el que el propio Windows identifica el servicio de Terminal Services / Escritorio Remoto en sus respuestas de red. Cuando nmap escanea el puerto 3389 contra un host Windows, lo etiqueta exactamente así, junto al banner Microsoft Terminal Services. Reconocer ese nombre permite confirmar RDP sin ambigüedad, algo clave porque otros protocolos pueden compartir puerto en configuraciones no estándar.
xfreerdp — Cliente RDP libre
xfreerdp es el cliente de RDP del proyecto FreeRDP, multiplataforma y de código abierto. En Kali Linux viene preinstalado y es la opción habitual en pentesting porque admite autenticación no interactiva (/u: y /p:), omisión de certificados autofirmados (/cert:ignore), resolución dinámica y redirección de recursos como discos o portapapeles. Alternativas: rdesktop y Remmina.
NLA — Network Level Authentication
NLA obliga al cliente a autenticarse antes de que el servidor cree la sesión RDP, usando CredSSP. Sin NLA, cualquier cliente alcanza la pantalla de inicio de sesión de Windows y el servicio reserva recursos antes de validar identidad, lo que facilita ataques de agotamiento y fuerza bruta. Comprobar si NLA está activo es un paso estándar al auditar RDP: en Explosion la sesión se completa aceptando una contraseña vacía, señal de que la pre-autenticación no está protegiendo el servicio.
CLI — Command Line Interface
La CLI es la interfaz de línea de comandos: el usuario interactúa con el sistema escribiendo órdenes de texto y leyendo su salida. Es la forma de trabajo nativa en Linux (bash) y sigue siendo la más potente en Windows mediante cmd.exe y PowerShell. Frente a la GUI, la CLI es scriptable, ligera y fácil de automatizar, algo esencial en pentesting donde gran parte del trabajo se encadena con herramientas de línea de comandos.
GUI — Graphical User Interface
La GUI es la interfaz gráfica: ventanas, iconos, menús y puntero. Es lo que RDP proyecta de forma nativa desde el sistema remoto, y la razón por la que Explosion se resuelve «viendo» el escritorio de Windows en lugar de trabajando por consola. Conceptualmente, GUI y CLI son las dos caras de la interacción con un host; los enunciados de Starting Point preguntan por ambas siglas precisamente para fijar esa distinción.
Telnet — TELetype NETwork
Telnet (RFC 854) es el protocolo de acceso remoto más antiguo que sigue en uso. Escucha en el puerto TCP 23 y ofrece una consola de texto sin cifrado: credenciales y comandos viajan en claro y cualquiera con acceso a la red puede capturarlos. Fue reemplazado por SSH, pero sigue apareciendo en dispositivos embebidos y equipos legacy. Los enunciados suelen citarlo como contraste histórico de RDP.
SMB / WinRM — Canales de administración Windows
SMB (puerto 445) es el protocolo de compartición de archivos e impresoras de Windows, y también transporte de herramientas como PsExec. WinRM (puerto 5985 en HTTP, 5986 en HTTPS) es el servicio de administración remota basado en SOAP que usa PowerShell Remoting. Ambos aparecen en el escaneo de Explosion y ambos requieren credenciales válidas: con la contraseña vacía de Administrator habrían servido igualmente como vía de entrada alternativa.
Weak Authentication — Autenticación débil
Weak Authentication (CWE-1390) agrupa las configuraciones en las que el mecanismo de autenticación no verifica realmente la identidad: contraseñas vacías, credenciales por defecto, valores trivialmente adivinables o ausencia total de autenticación. El caso de Explosion es el extremo: la cuenta Administrator acepta el campo de contraseña en blanco, así que no hay secreto que descubrir ni diccionario que aplicar. Es la vulnerabilidad más simple de detectar y la más devastadora por impacto.
Credenciales por defecto
Las credenciales por defecto son combinaciones usuario/contraseña preconfiguradas que nadie cambió antes de poner el sistema en producción. Bases de datos como default-password.info o cirt.net documentan miles de ellas para dispositivos de red, cámaras IP, servidores de aplicaciones y servicios remotos. En entornos Windows, el usuario Administrator con contraseña vacía o Password123 es el caso clásico de laboratorio y aparece con demasiada frecuencia en producción.

// RELACIONADOS POR ETIQUETAS