9.9 KiB
135, 593 - Pentesting MSRPC
{% hint style="success" %}
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Treten Sie dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
Hacking Einblicke
Engagieren Sie sich mit Inhalten, die in den Nervenkitzel und die Herausforderungen des Hackens eintauchen
Echtzeit-Hack-Nachrichten
Bleiben Sie auf dem Laufenden über die schnelllebige Hacking-Welt durch Echtzeitnachrichten und Einblicke
Neueste Ankündigungen
Bleiben Sie informiert über die neuesten Bug-Bounties und wichtige Plattform-Updates
Treten Sie uns auf Discord bei und beginnen Sie noch heute mit den besten Hackern zusammenzuarbeiten!
Grundinformationen
Das Microsoft Remote Procedure Call (MSRPC) Protokoll, ein Client-Server-Modell, das es einem Programm ermöglicht, einen Dienst von einem Programm anzufordern, das sich auf einem anderen Computer befindet, ohne die Einzelheiten des Netzwerks zu verstehen, wurde ursprünglich aus Open-Source-Software abgeleitet und später von Microsoft entwickelt und urheberrechtlich geschützt.
Der RPC-Endpunkt-Mapper kann über TCP- und UDP-Port 135, SMB über TCP 139 und 445 (mit einer Null- oder authentifizierten Sitzung) und als Webdienst über TCP-Port 593 zugegriffen werden.
135/tcp open msrpc Microsoft Windows RPC
Wie funktioniert MSRPC?
Initiiert durch die Client-Anwendung, umfasst der MSRPC-Prozess den Aufruf einer lokalen Stub-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 Network Data Representation-Format. Die Wahl des Transportprotokolls wird von der Laufzeitbibliothek bestimmt, wenn der Server remote ist, um sicherzustellen, dass das RPC durch den Netzwerk-Stack geliefert wird.
Identifizierung exponierter RPC-Dienste
Die Exposition von RPC-Diensten über TCP, UDP, HTTP und SMB kann durch Abfragen des RPC-Standortdienstes und einzelner Endpunkte bestimmt werden. Tools wie rpcdump erleichtern die Identifizierung einzigartiger RPC-Dienste, die durch IFID-Werte gekennzeichnet sind und Details zu Diensten und Kommunikationsbindungen offenbaren:
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-Standortdienst erfolgt über spezifische Protokolle: 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 Nutzung 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, verwendet zur Auflistung von Benutzern.
- IFID: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
- Benannte Pipe:
\pipe\lsarpc
- Beschreibung: LSA-Verzeichnisdienste (DS) Schnittstelle, verwendet zur Auflistung von Domänen und Vertrauensbeziehungen.
- IFID: 12345778-1234-abcd-ef00-0123456789ac
- Benannte Pipe:
\pipe\samr
- Beschreibung: LSA SAMR-Schnittstelle, verwendet zum Zugriff auf öffentliche SAM-Datenbankelemente (z. B. Benutzernamen) und zum Brute-Forcen von Benutzerpasswörtern unabhängig von der Kontosperrpolitik.
- IFID: 1ff70682-0a51-30e8-076d-740be8cee98b
- Benannte Pipe:
\pipe\atsvc
- Beschreibung: Aufgabenplaner, verwendet zum Remotebefehle ausführen.
- IFID: 338cd001-2244-31f1-aaaa-900038001003
- Benannte Pipe:
\pipe\winreg
- Beschreibung: Remote-Registry-Dienst, verwendet zum Zugriff auf und zur Modifikation der Systemregistrierung.
- IFID: 367abb81-9844-35f1-ad32-98f038001003
- Benannte Pipe:
\pipe\svcctl
- Beschreibung: Dienststeuerungsmanager und Serverdienste, verwendet zum Remotestarten und -stoppen von Diensten und zum Ausführen von Befehlen.
- IFID: 4b324fc8-1670-01d3-1278-5a47bf6ee188
- Benannte Pipe:
\pipe\srvsvc
- Beschreibung: Dienststeuerungsmanager und Serverdienste, verwendet zum Remotestarten und -stoppen von Diensten und zum Ausführen von Befehlen.
- IFID: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
- Benannte Pipe:
\pipe\epmapper
- Beschreibung: DCOM-Schnittstelle, verwendet für Brute-Force-Passwortknacken und Informationssammlung über WM.
Identifizierung von IP-Adressen
Mit https://github.com/mubix/IOXIDResolver, stammt von Airbus research, ist es möglich, die ServerAlive2-Methode innerhalb der IOXIDResolver-Schnittstelle auszunutzen.
Diese Methode wurde verwendet, um Schnittstelleninformationen wie IPv6-Adressen von der HTB-Box APT zu erhalten. Siehe hier für den 0xdf APT-Bericht, der eine alternative Methode mit rpcmap.py von Impacket mit stringbinding (siehe oben) enthält.
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 wird.
Denken Sie daran, es 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/
Tritt dem HackenProof Discord Server bei, um mit erfahrenen Hackern und Bug-Bounty-Jägern zu kommunizieren!
Hacking Insights
Engagieren Sie sich mit Inhalten, die in die Aufregung und Herausforderungen des Hackens eintauchen
Echtzeit-Hack-Nachrichten
Bleiben Sie auf dem Laufenden mit der schnelllebigen Hack-Welt durch Echtzeit-Nachrichten und Einblicke
Neueste Ankündigungen
Bleiben Sie informiert über die neuesten Bug-Bounties und wichtige Plattform-Updates
Tritt uns bei Discord und beginne noch heute mit den besten Hackern zusammenzuarbeiten!
{% hint style="success" %}
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Überprüfen Sie die Abonnementpläne!
- Tritt der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folge uns auf Twitter 🐦 @hacktricks_live.
- Teile Hacking-Tricks, indem du PRs zu den HackTricks und HackTricks Cloud GitHub-Repos einreichst.