# 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://books.spartan-cybersec.com/cppj/networking-for-juniors/puertos-y-servicios/puerto-3389-rdp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
