hacktricks/network-services-pentesting/pentesting-rpcbind.md
2024-02-10 15:36:32 +00:00

11 KiB
Raw Blame History

111/TCP/UDP - Pentesting Portmapper

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

Andere Möglichkeiten, HackTricks zu unterstützen:

Grundlegende Informationen

Portmapper ist ein Dienst, der zur Zuordnung von Netzwerkdienstports zu RPC (Remote Procedure Call)-Programmnummern verwendet wird. Es fungiert als wichtige Komponente in Unix-basierten Systemen, die den Austausch von Informationen zwischen diesen Systemen erleichtert. Der mit Portmapper verbundene Port wird häufig von Angreifern gescannt, da er wertvolle Informationen preisgeben kann. Diese Informationen umfassen den Typ des ausgeführten Unix-Betriebssystems (OS) und Details zu den auf dem System verfügbaren Diensten. Darüber hinaus wird Portmapper häufig in Verbindung mit NFS (Network File System), NIS (Network Information Service) und anderen RPC-basierten Diensten verwendet, um Netzwerkdienste effektiv zu verwalten.

Standardport: 111/TCP/UDP, 32771 in Oracle Solaris

PORT    STATE SERVICE
111/tcp open  rpcbind

Enumeration

Die Enumeration ist der Prozess, bei dem Informationen über ein Zielsystem gesammelt werden, um Schwachstellen zu identifizieren und potenzielle Angriffspunkte zu finden. In diesem Abschnitt werden verschiedene Techniken zur Enumeration von RPCbind-Diensten beschrieben.

RPCinfo

RPCinfo ist ein Dienstprogramm, das verwendet wird, um Informationen über RPC-Dienste auf einem Remote-Host abzurufen. Es kann verwendet werden, um eine Liste der verfügbaren RPC-Dienste auf einem Zielhost abzurufen.

$ rpcinfo -p <Ziel-IP>

Portscanner

Ein Portscanner ist ein Tool, das verwendet wird, um offene Ports auf einem Remote-Host zu identifizieren. Durch Scannen der RPCbind-Portnummer (111) können Sie feststellen, ob der RPCbind-Dienst auf einem Zielhost ausgeführt wird.

$ nmap -p 111 <Ziel-IP>

Banner Grabbing

Banner Grabbing ist der Prozess, bei dem Informationen aus den Bannern oder Kopfzeilen von Netzwerkdiensten extrahiert werden. Durch Banner Grabbing können Informationen über den RPCbind-Dienst auf einem Zielhost abgerufen werden.

$ nc -nv <Ziel-IP> 111

Metasploit

Metasploit ist ein Framework für Penetrationstests, das verschiedene Exploits und Tools enthält. Es enthält auch Module, die für die Enumeration von RPCbind-Diensten verwendet werden können.

msf5 > use auxiliary/scanner/portmap/rpcinfo
msf5 auxiliary(scanner/portmap/rpcinfo) > set RHOSTS <Ziel-IP>
msf5 auxiliary(scanner/portmap/rpcinfo) > run

Nessus

Nessus ist ein beliebtes Vulnerability-Scanning-Tool, das verwendet werden kann, um Schwachstellen in Netzwerkdiensten zu identifizieren. Es enthält auch Plugins, die für die Enumeration von RPCbind-Diensten verwendet werden können.

Nmap Scripting Engine (NSE)

Die Nmap Scripting Engine (NSE) ist ein leistungsstarkes Tool, das in Nmap integriert ist und zum Automatisieren von Aufgaben wie der Enumeration von Netzwerkdiensten verwendet werden kann. Es enthält Skripte, die für die Enumeration von RPCbind-Diensten verwendet werden können.

$ nmap -p 111 --script rpcinfo <Ziel-IP>

SNMP Enumeration

SNMP Enumeration ist der Prozess, bei dem Informationen über SNMP-fähige Geräte gesammelt werden. SNMP kann verwendet werden, um Informationen über den RPCbind-Dienst auf einem Zielhost abzurufen.

$ snmpwalk -c public -v1 <Ziel-IP> 1.3.6.1.2.1.111

Weitere Enumerationstechniken

Es gibt auch andere Enumerationstechniken, die für die Enumeration von RPCbind-Diensten verwendet werden können, wie z.B. das Durchsuchen von Verzeichnissen, das Durchsuchen von Dateien und das Durchsuchen von Protokollen. Diese Techniken können verwendet werden, um zusätzliche Informationen über den RPCbind-Dienst auf einem Zielhost zu sammeln.

rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1

Manchmal gibt es keine Informationen, in anderen Fällen erhält man etwas wie dies:

Shodan

  • port:111 portmap

RPCBind + NFS

Wenn der NFS-Dienst gefunden wird, ist es wahrscheinlich möglich, Dateien aufzulisten und herunterzuladen (und möglicherweise hochzuladen):

Lesen Sie 2049 - Pentesting NFS-Dienst, um mehr darüber zu erfahren, wie Sie dieses Protokoll testen können.

NIS

Die Erkundung von NIS-Schwachstellen umfasst einen zweistufigen Prozess, der mit der Identifizierung des Dienstes ypbind beginnt. Der Eckpfeiler dieser Erkundung besteht darin, den NIS-Domänennamen aufzudecken, ohne den der Fortschritt gestoppt wird.

Die Erkundungsreise beginnt mit der Installation der erforderlichen Pakete (apt-get install nis). Der anschließende Schritt erfordert die Verwendung von ypwhich, um die Anwesenheit des NIS-Servers zu bestätigen, indem er mit dem Domänennamen und der Server-IP gepingt wird. Diese Elemente müssen aus Sicherheitsgründen anonymisiert werden.

Der letzte und entscheidende Schritt beinhaltet den Befehl ypcat, um sensible Daten, insbesondere verschlüsselte Benutzerpasswörter, zu extrahieren. Diese Hashes, einmal geknackt mit Tools wie John the Ripper, geben Einblicke in den Systemzugriff und die Privilegien.

# Install NIS tools
apt-get install nis
# Ping the NIS server to confirm its presence
ypwhich -d <domain-name> <server-ip>
# Extract user credentials
ypcat d <domain-name> h <server-ip> passwd.byname

NIF-Dateien

Masterdatei Karte(n) Anmerkungen
/etc/hosts hosts.byname, hosts.byaddr Enthält Hostnamen und IP-Details
/etc/passwd passwd.byname, passwd.byuid NIS-Benutzerpasswortdatei
/etc/group group.byname, group.bygid NIS-Gruppendatei
/usr/lib/aliases mail.aliases Details zu E-Mail-Aliasen

RPC-Benutzer

Wenn Sie den rusersd-Dienst wie folgt auflisten:

Können Sie Benutzer des Systems aufzählen. Um zu erfahren, wie das geht, lesen Sie 1026 - Pentesting Rsusersd.

Umgehen der gefilterten Portmapper-Port

Wenn Sie bei einem nmap-Scan offene NFS-Ports entdecken und Port 111 gefiltert ist, ist eine direkte Ausnutzung dieser Ports nicht möglich. Durch Simulation eines Portmapper-Dienstes lokal und Erstellen eines Tunnels von Ihrem Rechner zum Ziel wird die Ausnutzung mit Standardwerkzeugen jedoch möglich. Diese Technik ermöglicht das Umgehen des gefilterten Zustands von Port 111 und ermöglicht somit den Zugriff auf NFS-Dienste. Detaillierte Anleitungen zu dieser Methode finden Sie in dem Artikel unter diesem Link.

Shodan

  • Portmap

Übungslabore

HackTricks Automatische Befehle

Protocol_Name: Portmapper    #Protocol Abbreviation if there is one.
Port_Number:  43     #Comma separated if there is more than one.
Protocol_Description: PM or RPCBind        #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for PortMapper
Note: |
Portmapper is a service that is utilized for mapping network service ports to RPC (Remote Procedure Call) program numbers. It acts as a critical component in Unix-based systems, facilitating the exchange of information between these systems. The port associated with Portmapper is frequently scanned by attackers as it can reveal valuable information. This information includes the type of Unix Operating System (OS) running and details about the services that are available on the system. Additionally, Portmapper is commonly used in conjunction with NFS (Network File System), NIS (Network Information Service), and other RPC-based services to manage network services effectively.

https://book.hacktricks.xyz/pentesting/pentesting-rpcbind

Entry_2:
Name: rpc info
Description: May give netstat-type info
Command: whois -h {IP} -p 43 {Domain_Name} && echo {Domain_Name} | nc -vn {IP} 43

Entry_3:
Name: nmap
Description: May give netstat-type info
Command: nmap -sSUC -p 111 {IP}
Lernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen: