# 111/TCP/UDP - Pentesting Portmapper
{% hint style="success" %}
Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Support HackTricks
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
{% embed url="https://websec.nl/" %}
## Grundinformationen
**Portmapper** ist ein Dienst, der verwendet wird, um Netzwerkdienstports auf **RPC** (Remote Procedure Call) Programmnummmer zuzuordnen. Er fungiert als kritische Komponente in **Unix-basierten Systemen** und erleichtert den Austausch von Informationen zwischen diesen Systemen. Der mit **Portmapper** verbundene **Port** wird häufig von Angreifern gescannt, da er wertvolle Informationen preisgeben kann. Diese Informationen umfassen den Typ des **Unix-Betriebssystems (OS)**, das läuft, 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
```
## Aufzählung
```
rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1
```
Manchmal gibt es keine Informationen, in anderen Fällen erhalten Sie etwas wie dies:
![](<../.gitbook/assets/image (553).png>)
### Shodan
* `port:111 portmap`
## RPCBind + NFS
Wenn Sie den Dienst NFS finden, können Sie wahrscheinlich Dateien auflisten und herunterladen (und vielleicht hochladen):
![](<../.gitbook/assets/image (872).png>)
Lesen Sie [2049 - Pentesting NFS service](nfs-service-pentesting.md), 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 Grundstein dieser Erkundung ist die Enthüllung des **NIS-Domainnamens**, ohne den der Fortschritt zum Stillstand kommt.
![](<../.gitbook/assets/image (859).png>)
Die Erkundungsreise beginnt mit der Installation der erforderlichen Pakete (`apt-get install nis`). Der nächste Schritt erfordert die Verwendung von `ypwhich`, um die Anwesenheit des NIS-Servers zu bestätigen, indem er mit dem Domainnamen und der Server-IP angepingt wird, wobei sichergestellt wird, dass diese Elemente aus Sicherheitsgründen anonymisiert sind.
Der letzte und entscheidende Schritt umfasst den Befehl `ypcat`, um sensible Daten, insbesondere verschlüsselte Benutzerpasswörter, zu extrahieren. Diese Hashes, die mit Tools wie **John the Ripper** geknackt werden, geben Einblicke in den Systemzugang und die Berechtigungen.
```bash
# Install NIS tools
apt-get install nis
# Ping the NIS server to confirm its presence
ypwhich -d
# Extract user credentials
ypcat –d –h passwd.byname
```
### NIF-Dateien
| **Master-Datei** | **Karte(n)** | **Notizen** |
| ---------------- | --------------------------- | --------------------------------- |
| /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 Mail-Aliasen |
## RPC-Benutzer
Wenn Sie den **rusersd**-Dienst so aufgeführt finden:
![](<../.gitbook/assets/image (1041).png>)
Könnten Sie die Benutzer der Box auflisten. Um zu erfahren, wie, lesen Sie [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
## Umgehung des gefilterten Portmapper-Ports
Bei der Durchführung eines **nmap-Scans** und der Entdeckung offener NFS-Ports, bei denen Port 111 gefiltert wird, ist eine direkte Ausnutzung dieser Ports nicht möglich. Durch **Simulation eines Portmapper-Dienstes lokal und Erstellung eines Tunnels von Ihrem Rechner** zum Ziel wird jedoch eine Ausnutzung mit Standardwerkzeugen möglich. Diese Technik ermöglicht es, den gefilterten Zustand von Port 111 zu umgehen und somit Zugriff auf NFS-Dienste zu erhalten. Für detaillierte Anleitungen zu dieser Methode verweisen Sie auf den Artikel unter [diesem Link](https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc).
## Shodan
* `Portmap`
## Labs zum Üben
* Üben Sie diese Techniken in der [**Irked HTB-Maschine**](https://app.hackthebox.com/machines/Irked).
{% embed url="https://websec.nl/" %}
## 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}
```
{% hint style="success" %}
Lerne & übe AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\
Lerne & übe GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Unterstütze HackTricks
* Überprüfe die [**Abonnementpläne**](https://github.com/sponsors/carlospolop)!
* **Tritt der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folge** uns auf **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Teile Hacking-Tricks, indem du PRs zu den** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repos einreichst.
{% endhint %}