9 KiB
135, 593 - Pentesting MSRPC
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-Repositorys einreichen.
Treten Sie dem HackenProof Discord 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 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.
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] <IP>
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
Annotation: Messenger Service
UUID: 00000000-0000-0000-0000-000000000000
Binding: ncadg_ip_udp:<IP>[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:
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 <IP> -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, das von Airbus-Forschung 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 für den 0xdf APT-Bericht, der eine alternative Methode mit rpcmap.py von 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 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 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-2-accessing-a-remote-object-inside-dcom/
- https://0xffsec.com/handbook/services/msrpc/
Treten Sie dem HackenProof Discord 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 bei und beginnen Sie noch heute mit der Zusammenarbeit mit Top-Hackern!