111/TCP/UDP - Pentesting Portmapper

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Grundlegende Informationen

Portmapper ist ein Dienst, der zum Zuordnen von Netzwerkdienst-Ports zu RPC (Remote Procedure Call) Programmnummern verwendet wird. Er fungiert als kritische Komponente in Unix-based systems und ermöglicht den Austausch von Informationen zwischen diesen Systemen. Der mit Portmapper verbundene Port wird häufig von Angreifern gescannt, da er wertvolle Informationen offenlegen kann. Dazu gehören der Typ des laufenden Unix Operating System (OS) und Details über die auf dem System verfügbaren Dienste. Zusätzlich wird Portmapper häufig in Verbindung mit NFS (Network File System), NIS (Network Information Service) und anderen RPC-based services verwendet, um Netzwerkdienste effektiv zu verwalten.

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

PORT    STATE SERVICE
111/tcp open  rpcbind

Enumeration

rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1

Manchmal liefert es keine Informationen; in anderen Fällen erhalten Sie so etwas:

Erweiterte rpcinfo-Nutzung

Nutzen Sie rpcinfo -T udp -p <target>, um die UDP-Programmliste abzurufen, selbst wenn TCP/111 gefiltert ist; führen Sie anschließend showmount -e <target> aus, um durch rpcbind registrierte, weltweit lesbare NFS-Exporte zu erkennen.

rpcinfo -T udp -p 10.10.10.10
showmount -e 10.10.10.10

Umfassende Erfassung mit Nmap NSE

Kombiniere den klassischen Scan mit nmap --script=rpcinfo,rpc-grind -p111 <target>, um RPC-Programnummern brute-force zu ermitteln. rpc-grind bombardiert den portmapper mit Null-Aufrufen, die die nmap-rpc-Datenbank durchlaufen und unterstützte Versionen extrahieren, sobald der entfernte Daemon mit “can’t support version” antwortet, was oft still registrierte Dienste wie rusersd, rquotad oder eigene Daemons aufdeckt. Multi-Threading über --script-args 'rpc-grind.threads=8' beschleunigt große Ziele, während das begleitende rpcinfo-Script menschenlesbare Tabellen ausgibt, die du mit Host-Baselines diffen kannst.

Shodan

  • port:111 portmap

RPCBind + NFS

Wenn du den Dienst NFS findest, wirst du wahrscheinlich Dateien auflisten und herunterladen (und vielleicht hochladen) können:

Read 2049 - Pentesting NFS service to learn more about how to test this protocol.

NIS

Die Untersuchung von NIS-Schwachstellen umfasst einen zweistufigen Prozess, beginnend mit der Identifizierung des Dienstes ypbind. Der Grundpfeiler dieser Untersuchung ist das Aufdecken des NIS-Domänennamens, ohne den kein Fortkommen möglich ist.

Die Erkundung beginnt mit der Installation der notwendigen Pakete (apt-get install nis). Der nächste Schritt erfordert die Verwendung von ypwhich, um die Präsenz des NIS-Servers zu bestätigen, indem man ihn mit dem Domänennamen und der Server-IP anpingt, wobei diese Angaben aus Sicherheitsgründen anonymisiert werden sollten.

Der letzte und entscheidende Schritt beinhaltet den Befehl ypcat, um sensible Daten, insbesondere verschlüsselte Benutzerpasswörter, zu extrahieren. Diese Hashes offenbaren, sobald sie mit Tools wie John the Ripper geknackt wurden, Einblicke in Systemzugänge und Berechtigungen.

# 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

Master-DateiMap(s)Anmerkungen
/etc/hostshosts.byname, hosts.byaddrEnthält Hostnamen und IP-Details
/etc/passwdpasswd.byname, passwd.byuidNIS Benutzer-Passwortdatei
/etc/groupgroup.byname, group.bygidNIS Gruppen-Datei
/usr/lib/aliasesmail.aliasesEnthält Mail-Aliase

RPC-Benutzer

Wenn du den Dienst rusersd wie folgt aufgelistet findest:

Du kannst die Benutzer des Systems auflisten. Wie das geht, lies 1026 - Pentesting Rsusersd.

Bypass Filtered Portmapper port

When conducting a nmap scan and discovering open NFS ports with port 111 being filtered, direct exploitation of these ports is not feasible. However, by das lokale Simulieren eines portmapper service und das Erstellen eines Tunnels von deinem Rechner to the target, exploitation becomes possible using standard tools. This technique allows for bypassing the filtered state of port 111, thus enabling access to NFS services. For detailed guidance on this method, refer to the article available at this link.

Labs zum Üben

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.wiki/en/network-services-pentesting/pentesting-rpcbind.html

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}

Referenzen

Tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks