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

140 lines
7.8 KiB
Markdown
Raw Normal View History

# 111/TCP/UDP - Pentesting Portmapper
2022-04-28 16:01:33 +00:00
{% hint style="success" %}
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Support HackTricks</summary>
2024-01-02 18:28:27 +00:00
* 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.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}
2022-04-28 16:01:33 +00:00
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## Basic Information
**Portmapper** to usługa, która jest wykorzystywana do mapowania portów usług sieciowych na numery programów **RPC** (Remote Procedure Call). Działa jako kluczowy komponent w **systemach opartych na Unix**, ułatwiając wymianę informacji między tymi systemami. **Port** związany z **Portmapper** jest często skanowany przez atakujących, ponieważ może ujawniać cenne informacje. Informacje te obejmują typ działającego **systemu operacyjnego Unix (OS)** oraz szczegóły dotyczące dostępnych usług w systemie. Dodatkowo, **Portmapper** jest powszechnie używany w połączeniu z **NFS (Network File System)**, **NIS (Network Information Service)** i innymi **usługami opartymi na RPC**, aby skutecznie zarządzać usługami sieciowymi.
2024-02-11 01:46:25 +00:00
**Domyślny port:** 111/TCP/UDP, 32771 w Oracle Solaris
```
PORT STATE SERVICE
111/tcp open rpcbind
```
## Enumeracja
```
rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1
```
Czasami nie daje to żadnych informacji, w innych przypadkach otrzymasz coś takiego:
![](<../.gitbook/assets/image (553).png>)
2022-05-08 23:13:03 +00:00
### Shodan
* `port:111 portmap`
2022-05-08 23:13:03 +00:00
## RPCBind + NFS
Jeśli znajdziesz usługę NFS, to prawdopodobnie będziesz mógł wylistować i pobrać (a może nawet przesłać) pliki:
![](<../.gitbook/assets/image (872).png>)
Przeczytaj[ 2049 - Pentesting NFS service](nfs-service-pentesting.md), aby dowiedzieć się więcej o testowaniu tego protokołu.
2022-05-08 23:13:03 +00:00
## NIS
Badanie **NIS** luk bezpieczeństwa obejmuje dwuetapowy proces, zaczynający się od identyfikacji usługi `ypbind`. Kamieniem węgielnym tej eksploracji jest odkrycie **nazwa domeny NIS**, bez której postęp jest wstrzymany.
![](<../.gitbook/assets/image (859).png>)
Podróż eksploracyjna zaczyna się od instalacji niezbędnych pakietów (`apt-get install nis`). Kolejny krok wymaga użycia `ypwhich`, aby potwierdzić obecność serwera NIS, pingując go za pomocą nazwy domeny i adresu IP serwera, zapewniając, że te elementy są zanonimizowane dla bezpieczeństwa.
Ostatni i kluczowy krok obejmuje polecenie `ypcat`, aby wydobyć wrażliwe dane, szczególnie zaszyfrowane hasła użytkowników. Te hashe, po złamaniu za pomocą narzędzi takich jak **John the Ripper**, ujawniają informacje o dostępie do systemu i uprawnieniach.
```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
```
### NIF files
| **Master file** | **Map(s)** | **Notes** |
| ---------------- | --------------------------- | --------------------------------- |
| /etc/hosts | hosts.byname, hosts.byaddr | Zawiera nazwy hostów i szczegóły IP |
| /etc/passwd | passwd.byname, passwd.byuid | Plik haseł użytkowników NIS |
| /etc/group | group.byname, group.bygid | Plik grup NIS |
| /usr/lib/aliases | mail.aliases | Szczegóły aliasów mailowych |
2024-02-08 21:36:15 +00:00
## RPC Users
If you find the **rusersd** service listed like this:
![](<../.gitbook/assets/image (1041).png>)
You could enumerate users of the box. To learn how read [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
## Bypass Filtered Portmapper port
2024-02-08 21:36:15 +00:00
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 **simulating a portmapper service locally and creating a tunnel from your machine** 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](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`
## Labs to practice
* Practice these techniques in the [**Irked HTB machine**](https://app.hackthebox.com/machines/Irked).
2021-08-12 13:28:09 +00:00
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
{% embed url="https://websec.nl/" %}
## HackTricks Automatic Commands
```
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-11 01:46:25 +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-11 01:46:25 +00:00
https://book.hacktricks.xyz/pentesting/pentesting-rpcbind
2021-08-15 17:28:15 +00:00
Entry_2:
2024-02-11 01:46:25 +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-11 01:46:25 +00:00
Name: nmap
Description: May give netstat-type info
Command: nmap -sSUC -p 111 {IP}
2021-08-12 13:28:09 +00:00
```
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
Ucz się i ćwicz Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
2022-04-28 16:01:33 +00:00
<details>
2022-04-28 16:01:33 +00:00
<summary>Wsparcie dla HackTricks</summary>
2024-01-02 18:28:27 +00:00
* Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)!
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów github.
2022-04-28 16:01:33 +00:00
</details>
{% endhint %}