# Puerto 3389:  RDP

**RDP (Remote Desktop Protocol)** es un protocolo propietario desarrollado por Microsoft que permite a los usuarios conectarse a otro equipo a través de una red mediante una interfaz gráfica. RDP opera sobre el puerto 3389 y se utiliza comúnmente para la administración remota de sistemas Windows.

## <mark style="color:green;">Descripción de RDP</mark>

* <mark style="color:green;">**Protocolo**</mark><mark style="color:green;">:</mark> RDP es un protocolo de capa de aplicación que proporciona una interfaz gráfica para el usuario. Opera sobre TCP y UDP en el puerto 3389.
* <mark style="color:green;">**Funcionalidad**</mark><mark style="color:green;">:</mark> Permite a los usuarios ver y controlar un escritorio remoto, transferir archivos, y realizar tareas administrativas de forma remota.
* <mark style="color:green;">**Cifrado**</mark><mark style="color:green;">:</mark> RDP soporta varios niveles de cifrado para proteger los datos transmitidos entre el cliente y el servidor.
* <mark style="color:green;">**Autenticación**</mark><mark style="color:green;">:</mark> Utiliza métodos de autenticación que incluyen credenciales de usuario y autenticación de red (NLA).

## <mark style="color:green;">Relevancia en Pentesting</mark>

### <mark style="color:green;">**Importancia de RDP en Pentesting**</mark><mark style="color:green;">:</mark>

* <mark style="color:green;">**Acceso Remoto**</mark><mark style="color:green;">:</mark> RDP proporciona acceso total a un sistema, lo que significa que comprometer un servicio RDP puede dar al atacante control completo sobre el equipo.
* <mark style="color:green;">**Vulnerabilidades**</mark><mark style="color:green;">:</mark> RDP ha sido objetivo de numerosas vulnerabilidades y exploits, incluyendo vulnerabilidades críticas como BlueKeep (CVE-2019-0708).
* <mark style="color:green;">**Brute Force y Enumeración**</mark><mark style="color:green;">:</mark> Los servicios RDP son a menudo objetivo de ataques de fuerza bruta y enumeración de usuarios, especialmente si están expuestos a Internet sin medidas de protección adecuadas.
* <mark style="color:green;">**Detección y Prevención**</mark><mark style="color:green;">:</mark> Evaluar y asegurar los servicios RDP es crucial para prevenir accesos no autorizados y proteger la infraestructura de red.

## <mark style="color:green;">Ejemplo de Escaneo de RDP con Nmap</mark>

Para identificar servidores RDP activos y verificar posibles vulnerabilidades, se puede utilizar Nmap con scripts NSE específicos.

### <mark style="color:green;">**Comando Nmap**</mark>

```bash
nmap -p 3389 --script rdp-enum-encryption,rdp-vuln-ms12-020,rdp-ntlm-info target-ip
```

### <mark style="color:green;">**Explicación del Comando**</mark>

* `nmap`: Ejecuta el comando Nmap.
* `-p 3389`: Especifica que Nmap debe escanear el puerto 3389, el puerto predeterminado para RDP.
* `--script rdp-enum-encryption,rdp-vuln-ms12-020,rdp-ntlm-info`: Utiliza scripts NSE para detectar configuraciones y vulnerabilidades en el servicio RDP.
  * `rdp-enum-encryption`: Enumera los métodos de cifrado soportados por el servidor RDP.
  * `rdp-vuln-ms12-020`: Detecta la vulnerabilidad MS12-020 en el servidor RDP.
  * `rdp-ntlm-info`: Recupera información de NTLM del servidor RDP.
* `target-ip`: Especifica la dirección IP del objetivo.

## <mark style="color:green;">**Ejemplo de Salida de Nmap**</mark>

```plaintext
Starting Nmap 7.80 ( https://nmap.org ) at 2024-05-18 22:00 UTC
Nmap scan report for 192.168.1.150
Host is up (0.0013s latency).

PORT     STATE SERVICE
3389/tcp open  ms-wbt-server
| rdp-enum-encryption:
|   Security layer
|     CredSSP (NLA): SUCCESS
|     CredSSP with NTLMv2: SUCCESS
|     TLS with NTLMv2: SUCCESS
|     RDP Standard Security: FAILURE
|   RDP Encryption level: Client Compatible
|   Encryption methods supported: 128-bit RC4, 56-bit RC4, 40-bit RC4
| rdp-vuln-ms12-020:
|   VULNERABLE:
|   MS12-020 Remote Desktop Protocol Denial Of Service Vulnerability
|     State: VULNERABLE
|     IDs:  CVE:CVE-2012-0002
|     Risk factor: HIGH
|       A denial of service vulnerability exists in the Remote Desktop Protocol. An attacker
|       who successfully exploited this vulnerability could cause the target system to stop
|       responding.
|
|     Disclosure date: 2012-03-13
|     References:
|       https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2012-0002
|       https://docs.microsoft.com/en-us/security-updates/securitybulletins/2012/ms12-020
|_      https://technet.microsoft.com/library/security/ms12-020
| rdp-ntlm-info:
|   Target_Name: EXAMPLE
|   NetBIOS_Domain_Name: EXAMPLE
|   NetBIOS_Computer_Name: SERVER
|   DNS_Domain_Name: example.local
|   DNS_Computer_Name: server.example.local
|   Forest_DNS_Name: example.local
|_  Product_Version: 10.0.14393

Nmap done: 1 IP address (1 host up) scanned in 7.65 seconds
```

## <mark style="color:green;">Interpretación de la Salida</mark>

* <mark style="color:green;">**Host is up**</mark><mark style="color:green;">:</mark> Indica que el sistema objetivo está en línea y responde.
* <mark style="color:green;">**3389/tcp open ms-wbt-server**</mark><mark style="color:green;">:</mark> El puerto 3389 está abierto y el servicio RDP (Microsoft Terminal Services) está activo.
* <mark style="color:green;">**rdp-enum-encryption**</mark><mark style="color:green;">:</mark> Enumera los métodos de cifrado soportados por el servidor RDP.
  * <mark style="color:green;">**CredSSP (NLA)**</mark><mark style="color:green;">:</mark> Éxito, indicando que el servidor soporta CredSSP con autenticación de red.
  * <mark style="color:green;">**TLS con NTLMv2**</mark><mark style="color:green;">:</mark> Éxito, indicando soporte para cifrado TLS con autenticación NTLMv2.
  * <mark style="color:green;">**RDP Standard Security**</mark><mark style="color:green;">:</mark> Fallo, indicando que el servidor no soporta el cifrado estándar de RDP.
  * <mark style="color:green;">**Encryption Level**</mark><mark style="color:green;">:</mark> Cliente compatible.
  * <mark style="color:green;">**Encryption Methods**</mark><mark style="color:green;">:</mark> Métodos de cifrado soportados (128-bit RC4, 56-bit RC4, 40-bit RC4).
* <mark style="color:green;">**rdp-vuln-ms12-020**</mark><mark style="color:green;">:</mark> Detecta la vulnerabilidad MS12-020, que permite ataques de denegación de servicio en RDP.
  * <mark style="color:green;">**Estado**</mark><mark style="color:green;">:</mark> Vulnerable.
  * <mark style="color:green;">**CVE**</mark><mark style="color:green;">:</mark> CVE-2012-0002.
  * <mark style="color:green;">**Factor de riesgo**</mark><mark style="color:green;">:</mark> Alto.
* <mark style="color:green;">**rdp-ntlm-info**</mark><mark style="color:green;">:</mark> Recupera información NTLM del servidor RDP.
  * <mark style="color:green;">**Target Name**</mark><mark style="color:green;">:</mark> EXAMPLE.
  * <mark style="color:green;">**NetBIOS Domain Name**</mark><mark style="color:green;">:</mark> EXAMPLE.
  * <mark style="color:green;">**NetBIOS Computer Name**</mark><mark style="color:green;">:</mark> SERVER.
  * <mark style="color:green;">**DNS Domain Name**</mark><mark style="color:green;">:</mark> example.local.
  * <mark style="color:green;">**DNS Computer Name**</mark><mark style="color:green;">:</mark> server.example.local.
  * <mark style="color:green;">**Forest DNS Name**</mark><mark style="color:green;">:</mark> example.local.
