# 135, 593 - Pentesting MSRPC
Erlernen Sie AWS-Hacking von Grund auf mithtARTE (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**](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-Repositorys einreichen.
Treten Sie dem [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
**Hacking-Einblicke**\
Beschäftigen Sie sich mit Inhalten, die sich mit dem Nervenkitzel und den Herausforderungen des Hackens befassen
**Echtzeit-Hack-News**\
Bleiben Sie mit der schnelllebigen Hacking-Welt durch Echtzeitnachrichten und Einblicke auf dem Laufenden
**Neueste Ankündigungen**\
Bleiben Sie über die neuesten Bug-Bounties und wichtigen Plattformupdates informiert
**Treten Sie uns bei auf** [**Discord**](https://discord.com/invite/N3FrSbmwdy) und beginnen Sie noch heute mit der Zusammenarbeit mit Top-Hackern!
## Grundlegende Informationen
Das Microsoft Remote Procedure Call (MSRPC)-Protokoll, ein Client-Server-Modell, das es einem Programm ermöglicht, einen Dienst von einem Programm auf einem anderen Computer anzufordern, ohne die spezifischen Details des Netzwerks zu verstehen, wurde ursprünglich aus Open-Source-Software abgeleitet und später von Microsoft entwickelt und urheberrechtlich geschützt.
Der RPC-Endpunktmapper kann über TCP- und UDP-Port 135, SMB über TCP 139 und 445 (mit einer Null- oder authentifizierten Sitzung) und als Webservice über TCP-Port 593 zugegriffen werden.
```
135/tcp open msrpc Microsoft Windows RPC
```
## Wie funktioniert MSRPC?
Initiiert durch die Client-Anwendung, beinhaltet der MSRPC-Prozess das Aufrufen einer lokalen Stubb-Prozedur, die dann mit der Client-Laufzeitbibliothek interagiert, um die Anfrage an den Server vorzubereiten und zu übertragen. Dies beinhaltet die Umwandlung von Parametern in ein standardisiertes Netzwerkdatenrepräsentationsformat. Die Wahl des Transportprotokolls wird von der Laufzeitbibliothek bestimmt, wenn der Server entfernt ist, um sicherzustellen, dass die RPC über den Netzwerkstack übertragen wird.
![https://0xffsec.com/handbook/images/msrpc.png](https://0xffsec.com/handbook/images/msrpc.png)
## **Identifizierung von freigegebenen RPC-Diensten**
Die Freigabe von RPC-Diensten über TCP, UDP, HTTP und SMB kann durch Abfragen des RPC-Lokalisierungsdienstes und einzelner Endpunkte bestimmt werden. Tools wie rpcdump erleichtern die Identifizierung von eindeutigen RPC-Diensten, die durch **IFID**-Werte gekennzeichnet sind, und offenbaren Dienstdetails und Kommunikationsbindungen:
```
D:\rpctools> rpcdump [-p port]
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
Annotation: Messenger Service
UUID: 00000000-0000-0000-0000-000000000000
Binding: ncadg_ip_udp:[1028]
```
Der Zugriff auf den RPC-Lokalisierungsdienst wird über spezifische Protokolle ermöglicht: ncacn\_ip\_tcp und ncadg\_ip\_udp für den Zugriff über Port 135, ncacn\_np für SMB-Verbindungen und ncacn\_http für webbasierte RPC-Kommunikation. Die folgenden Befehle veranschaulichen die Verwendung von Metasploit-Modulen zur Überprüfung und Interaktion mit MSRPC-Diensten, wobei der Schwerpunkt hauptsächlich auf Port 135 liegt:
```bash
use auxiliary/scanner/dcerpc/endpoint_mapper
use auxiliary/scanner/dcerpc/hidden
use auxiliary/scanner/dcerpc/management
use auxiliary/scanner/dcerpc/tcp_dcerpc_auditor
rpcdump.py -p 135
```
Alle Optionen außer `tcp_dcerpc_auditor` sind speziell für das Targeting von MSRPC auf Port 135 konzipiert.
#### Bemerkenswerte RPC-Schnittstellen
* **IFID**: 12345778-1234-abcd-ef00-0123456789ab
* **Benannte Pipe**: `\pipe\lsarpc`
* **Beschreibung**: LSA-Schnittstelle, die zur Auflistung von Benutzern verwendet wird.
* **IFID**: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
* **Benannte Pipe**: `\pipe\lsarpc`
* **Beschreibung**: LSA-Verzeichnisdienste (DS)-Schnittstelle, die zur Auflistung von Domänen und Vertrauensbeziehungen verwendet wird.
* **IFID**: 12345778-1234-abcd-ef00-0123456789ac
* **Benannte Pipe**: `\pipe\samr`
* **Beschreibung**: LSA SAMR-Schnittstelle, die zum Zugriff auf öffentliche SAM-Datenbankelemente (z. B. Benutzernamen) und zum Brute-Forcing von Benutzerpasswörtern unabhängig von der Kontosperrrichtlinie verwendet wird.
* **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
* **Benannte Pipe**: `\pipe\atsvc`
* **Beschreibung**: Taskplaner, der zur Remoteausführung von Befehlen verwendet wird.
* **IFID**: 338cd001-2244-31f1-aaaa-900038001003
* **Benannte Pipe**: `\pipe\winreg`
* **Beschreibung**: Remote-Registrierungsdienst, der zum Zugriff auf das Systemregister und zur Modifikation verwendet wird.
* **IFID**: 367abb81-9844-35f1-ad32-98f038001003
* **Benannte Pipe**: `\pipe\svcctl`
* **Beschreibung**: Dienstkontrollmanager und Serverdienste, die zum Remote-Starten und Stoppen von Diensten und zur Ausführung von Befehlen verwendet werden.
* **IFID**: 4b324fc8-1670-01d3-1278-5a47bf6ee188
* **Benannte Pipe**: `\pipe\srvsvc`
* **Beschreibung**: Dienstkontrollmanager und Serverdienste, die zum Remote-Starten und Stoppen von Diensten und zur Ausführung von Befehlen verwendet werden.
* **IFID**: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
* **Benannte Pipe**: `\pipe\epmapper`
* **Beschreibung**: DCOM-Schnittstelle, die für Brute-Force-Passwort-Cracking und Informationsbeschaffung über WM verwendet wird.
### Identifizierung von IP-Adressen
Mit [https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver), das von [Airbus-Forschung](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/) stammt, ist es möglich, die _**ServerAlive2**_-Methode innerhalb der _**IOXIDResolver**_-Schnittstelle zu missbrauchen.
Diese Methode wurde verwendet, um Interface-Informationen als **IPv6**-Adresse vom HTB-Box _APT_ zu erhalten. Siehe [hier](https://0xdf.gitlab.io/2021/04/10/htb-apt.html) für den 0xdf APT-Bericht, der eine alternative Methode mit rpcmap.py von [Impacket](https://github.com/SecureAuthCorp/impacket/) mit _stringbinding_ enthält (siehe oben).
### Ausführen eines RCE mit gültigen Anmeldeinformationen
Es ist möglich, Remote-Code auf einer Maschine auszuführen, wenn die Anmeldeinformationen eines gültigen Benutzers verfügbar sind, indem [dcomexec.py](https://github.com/fortra/impacket/blob/master/examples/dcomexec.py) aus dem Impacket-Framework verwendet werden.
**Denken Sie daran, mit den verschiedenen verfügbaren Objekten zu versuchen**
* ShellWindows
* ShellBrowserWindow
* MMC20
## Port 593
Das **rpcdump.exe** von [rpctools](https://resources.oreilly.com/examples/9780596510305/tree/master/tools/rpctools) kann mit diesem Port interagieren.
## Referenzen
* [https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/)
* [https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/](https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
Treten Sie dem [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
**Hacking Insights**\
Beschäftigen Sie sich mit Inhalten, die sich mit dem Nervenkitzel und den Herausforderungen des Hackens befassen
**Echtzeit-Hack-News**\
Bleiben Sie mit der schnelllebigen Hacking-Welt durch Echtzeitnachrichten und Einblicke auf dem Laufenden
**Neueste Ankündigungen**\
Bleiben Sie über die neuesten Bug-Bounties und wichtigen Plattformupdates informiert
**Treten Sie uns bei** [**Discord**](https://discord.com/invite/N3FrSbmwdy) bei und beginnen Sie noch heute mit der Zusammenarbeit mit Top-Hackern!