hacktricks/network-services-pentesting/pentesting-rpcbind.md

190 lines
11 KiB
Markdown
Raw Normal View History

2022-05-08 23:13:03 +00:00
# 111/TCP/UDP - Pentesting Portmapper
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 15:36:32 +00:00
<summary><strong>Lernen Sie AWS-Hacking von Grund auf mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 15:36:32 +00:00
Andere Möglichkeiten, HackTricks zu unterstützen:
2024-01-02 18:28:27 +00:00
2024-02-10 15:36:32 +00:00
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **GitHub-Repositories** senden.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 15:36:32 +00:00
## Grundlegende Informationen
2024-02-10 15:36:32 +00:00
**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.
2024-02-10 15:36:32 +00:00
**Standardport:** 111/TCP/UDP, 32771 in Oracle Solaris
```
PORT STATE SERVICE
111/tcp open rpcbind
```
2022-05-08 23:13:03 +00:00
## Enumeration
2024-02-10 15:36:32 +00:00
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.
```plaintext
$ 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.
```plaintext
$ 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.
```plaintext
$ 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.
```plaintext
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.
```plaintext
$ 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.
```plaintext
$ 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
```
2024-02-10 15:36:32 +00:00
Manchmal gibt es keine Informationen, in anderen Fällen erhält man etwas wie dies:
![](<../.gitbook/assets/image (230).png>)
2022-05-08 23:13:03 +00:00
### Shodan
* `port:111 portmap`
2022-05-08 23:13:03 +00:00
## RPCBind + NFS
2024-02-10 15:36:32 +00:00
Wenn der NFS-Dienst gefunden wird, ist es wahrscheinlich möglich, Dateien aufzulisten und herunterzuladen (und möglicherweise hochzuladen):
![](<../.gitbook/assets/image (232).png>)
2024-02-10 15:36:32 +00:00
Lesen Sie [2049 - Pentesting NFS-Dienst](nfs-service-pentesting.md), um mehr darüber zu erfahren, wie Sie dieses Protokoll testen können.
2022-05-08 23:13:03 +00:00
## NIS
2024-02-10 15:36:32 +00:00
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.
![](<../.gitbook/assets/image (233).png>)
2024-02-10 15:36:32 +00:00
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.
2024-02-10 15:36:32 +00:00
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.
```bash
2024-02-08 21:36:15 +00:00
# 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
```
2024-02-10 15:36:32 +00:00
### NIF-Dateien
2024-02-10 15:36:32 +00:00
| **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 |
2024-02-08 21:36:15 +00:00
2024-02-10 15:36:32 +00:00
## RPC-Benutzer
2024-02-10 15:36:32 +00:00
Wenn Sie den **rusersd**-Dienst wie folgt auflisten:
![](<../.gitbook/assets/image (231).png>)
2024-02-10 15:36:32 +00:00
Können Sie Benutzer des Systems aufzählen. Um zu erfahren, wie das geht, lesen Sie [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
2024-02-10 15:36:32 +00:00
## Umgehen der gefilterten Portmapper-Port
2024-02-08 21:36:15 +00:00
2024-02-10 15:36:32 +00:00
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](https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc).
2022-05-08 23:13:03 +00:00
## Shodan
2020-09-22 19:45:05 +00:00
* `Portmap`
2024-02-10 15:36:32 +00:00
## Übungslabore
2024-02-10 15:36:32 +00:00
* Üben Sie diese Techniken auf der [**Irked HTB-Maschine**](https://app.hackthebox.com/machines/Irked).
2021-08-12 13:28:09 +00:00
2024-02-10 15:36:32 +00:00
## HackTricks Automatische Befehle
```
2021-08-12 13:28:09 +00:00
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
2021-08-15 17:28:15 +00:00
Entry_1:
2024-02-10 15:36:32 +00:00
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.
2021-08-15 17:28:15 +00:00
2024-02-10 15:36:32 +00:00
https://book.hacktricks.xyz/pentesting/pentesting-rpcbind
2021-08-15 17:28:15 +00:00
Entry_2:
2024-02-10 15:36:32 +00:00
Name: rpc info
Description: May give netstat-type info
Command: whois -h {IP} -p 43 {Domain_Name} && echo {Domain_Name} | nc -vn {IP} 43
2021-08-15 17:28:15 +00:00
Entry_3:
2024-02-10 15:36:32 +00:00
Name: nmap
Description: May give netstat-type info
Command: nmap -sSUC -p 111 {IP}
2021-08-12 13:28:09 +00:00
```
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 15:36:32 +00:00
<summary><strong>Lernen Sie AWS-Hacking von Null auf Held mit</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 15:36:32 +00:00
Andere Möglichkeiten, HackTricks zu unterstützen:
2024-01-02 18:28:27 +00:00
2024-02-10 15:36:32 +00:00
* Wenn Sie Ihr **Unternehmen in HackTricks bewerben möchten** oder **HackTricks als PDF herunterladen möchten**, überprüfen Sie die [**ABONNEMENTPLÄNE**](https://github.com/sponsors/carlospolop)!
* Holen Sie sich das [**offizielle PEASS & HackTricks-Merchandise**](https://peass.creator-spring.com)
* Entdecken Sie [**The PEASS Family**](https://opensea.io/collection/the-peass-family), unsere Sammlung exklusiver [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Treten Sie der** 💬 [**Discord-Gruppe**](https://discord.gg/hRep4RUj7f) oder der [**Telegram-Gruppe**](https://t.me/peass) bei oder **folgen** Sie uns auf **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Teilen Sie Ihre Hacking-Tricks, indem Sie PRs an die** [**HackTricks**](https://github.com/carlospolop/hacktricks) und [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) GitHub-Repositories senden.
2022-04-28 16:01:33 +00:00
</details>