mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-25 04:23:33 +00:00
189 lines
11 KiB
Markdown
189 lines
11 KiB
Markdown
# 111/TCP/UDP - Pentesting Portmapper
|
||
|
||
<details>
|
||
|
||
<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>
|
||
|
||
Andere Möglichkeiten, HackTricks zu unterstützen:
|
||
|
||
* 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.
|
||
|
||
</details>
|
||
|
||
## 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.
|
||
|
||
```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
|
||
```
|
||
Manchmal gibt es keine Informationen, in anderen Fällen erhält man etwas wie dies:
|
||
|
||
![](<../.gitbook/assets/image (230).png>)
|
||
|
||
### 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):
|
||
|
||
![](<../.gitbook/assets/image (232).png>)
|
||
|
||
Lesen Sie [2049 - Pentesting NFS-Dienst](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 Eckpfeiler dieser Erkundung besteht darin, den **NIS-Domänennamen** aufzudecken, ohne den der Fortschritt gestoppt wird.
|
||
|
||
![](<../.gitbook/assets/image (233).png>)
|
||
|
||
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.
|
||
```bash
|
||
# 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:
|
||
|
||
![](<../.gitbook/assets/image (231).png>)
|
||
|
||
Können Sie Benutzer des Systems aufzählen. Um zu erfahren, wie das geht, lesen Sie [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
|
||
|
||
## 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](https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc).
|
||
|
||
## Shodan
|
||
|
||
* `Portmap`
|
||
|
||
## Übungslabore
|
||
|
||
* Üben Sie diese Techniken auf der [**Irked HTB-Maschine**](https://app.hackthebox.com/machines/Irked).
|
||
|
||
## 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}
|
||
```
|
||
<details>
|
||
|
||
<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>
|
||
|
||
Andere Möglichkeiten, HackTricks zu unterstützen:
|
||
|
||
* 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.
|
||
|
||
</details>
|