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

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:

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: