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

193 lines
11 KiB
Markdown
Raw Normal View History

2024-02-11 01:46:25 +00:00
# 111/TCP/UDP - Testowanie penetracyjne Portmappera
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</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-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2024-01-02 18:28:27 +00:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
2024-02-11 01:46:25 +00:00
## Podstawowe informacje
2024-02-11 01:46:25 +00:00
**Portmapper** to usługa, która służy do mapowania portów usług sieciowych na numery programów **RPC** (Remote Procedure Call). Jest ona kluczowym komponentem w systemach opartych na **Unix**, ułatwiającym wymianę informacji między tymi systemami. **Port** związany z **Portmapperem** jest często skanowany przez atakujących, ponieważ może ujawnić cenne informacje. Informacje te obejmują rodzaj działającego systemu operacyjnego **Unix** oraz szczegóły dotyczące usług dostępnych w systemie. Ponadto, **Portmapper** jest często używany w połączeniu z **NFS (Network File System)**, **NIS (Network Information Service)** i innymi usługami opartymi na **RPC**, aby efektywnie 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
```
2024-02-11 01:46:25 +00:00
## Wyliczanie
### rpcinfo
`rpcinfo` jest narzędziem, które służy do wyliczania informacji o usługach RPC (Remote Procedure Call) dostępnych na zdalnym hoście. Można go użyć do uzyskania listy usług RPC, które są uruchomione na danym hoście, wraz z informacjami o numerach portów i protokołach, które są używane.
Aby użyć `rpcinfo`, wykonaj polecenie:
```plaintext
rpcinfo -p <adres_hosta>
```
### showmount
`showmount` jest narzędziem, które służy do wyliczania informacji o eksportowanych systemach plików NFS (Network File System) na zdalnym hoście. Można go użyć do uzyskania listy eksportowanych systemów plików NFS, wraz z informacjami o ścieżkach i dostępnych uprawnieniach.
Aby użyć `showmount`, wykonaj polecenie:
```plaintext
showmount -e <adres_hosta>
```
### enum4linux
`enum4linux` jest narzędziem, które służy do wyliczania informacji o usługach SMB/CIFS (Server Message Block/Common Internet File System) dostępnych na zdalnym hoście. Można go użyć do uzyskania listy udostępnionych zasobów, kont użytkowników, grup, polityk bezpieczeństwa i innych informacji związanych z usługą SMB/CIFS.
Aby użyć `enum4linux`, wykonaj polecenie:
```plaintext
enum4linux <adres_hosta>
```
### nmap
`nmap` jest popularnym narzędziem do skanowania sieci, które można również użyć do wyliczania informacji o usługach dostępnych na zdalnym hoście. Można go skonfigurować do skanowania konkretnych portów lub wykrywania usług automatycznie.
2024-02-11 01:46:25 +00:00
Aby użyć `nmap` do wyliczania usług, wykonaj polecenie:
2024-02-11 01:46:25 +00:00
```plaintext
nmap -p- <adres_hosta>
```
### Metasploit
Metasploit to framework do testowania penetracyjnego, który zawiera wiele modułów do wyliczania informacji o usługach dostępnych na zdalnym hoście. Można go użyć do automatycznego skanowania i wyliczania informacji o usługach, w tym portach, protokołach, wersjach oprogramowania i innych szczegółach.
Aby użyć Metasploita do wyliczania usług, wykonaj polecenie:
```plaintext
use auxiliary/scanner/portscan/tcp
set RHOSTS <adres_hosta>
run
```
### Inne narzędzia
Oprócz wymienionych narzędzi istnieje wiele innych narzędzi, które można użyć do wyliczania informacji o usługach dostępnych na zdalnym hoście. Niektóre z tych narzędzi to:
- `nbtscan`: Skanuje sieć w poszukiwaniu hostów SMB/CIFS i wylicza informacje o nich.
- `smbclient`: Pozwala na interakcję z usługą SMB/CIFS i uzyskanie informacji o dostępnych zasobach.
- `ldapsearch`: Wykonuje zapytania LDAP (Lightweight Directory Access Protocol) do zdalnego serwera i wylicza informacje o katalogu.
- `snmpwalk`: Wykonuje zapytania SNMP (Simple Network Management Protocol) do zdalnego hosta i wylicza informacje o urządzeniu.
W zależności od celu i środowiska, różne narzędzia mogą być bardziej lub mniej skuteczne w wyliczaniu informacji o usługach dostępnych na zdalnym hoście. Warto eksperymentować z różnymi narzędziami i technikami, aby uzyskać jak najwięcej informacji.
```
rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1
```
2024-02-11 01:46:25 +00:00
Czasami nie dostajesz żadnych informacji, innym razem otrzymasz coś takiego:
![](<../.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-11 01:46:25 +00:00
Jeśli znajdziesz usługę NFS, prawdopodobnie będziesz mógł wyświetlać i pobierać (a może nawet przesyłać) pliki:
![](<../.gitbook/assets/image (232).png>)
2024-02-11 01:46:25 +00:00
Przeczytaj [2049 - Testowanie penetracyjne usługi NFS](nfs-service-pentesting.md), aby dowiedzieć się więcej na temat testowania tego protokołu.
2022-05-08 23:13:03 +00:00
## NIS
2024-02-11 01:46:25 +00:00
Badanie podatności **NIS** obejmuje dwuetapowy proces, rozpoczynający się od identyfikacji usługi `ypbind`. Kamieniem węgielnym tego badania jest odkrycie **nazwy domeny NIS**, bez której postęp zostaje zatrzymany.
![](<../.gitbook/assets/image (233).png>)
2024-02-11 01:46:25 +00:00
Podróż badawcza rozpoczyna się od instalacji niezbędnych pakietów (`apt-get install nis`). Kolejnym krokiem jest użycie polecenia `ypwhich`, aby potwierdzić obecność serwera NIS, pingując go za pomocą nazwy domeny i adresu IP serwera, przy czym te elementy są anonimizowane w celu zapewnienia bezpieczeństwa.
2024-02-11 01:46:25 +00:00
Ostatnim i kluczowym krokiem jest użycie polecenia `ypcat`, aby wydobyć wrażliwe dane, zwłaszcza zaszyfrowane hasła użytkowników. Te skróty, po złamaniu ich 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
```
2024-02-11 01:46:25 +00:00
### Pliki NIF
2024-02-11 01:46:25 +00:00
| **Plik główny** | **Mapy** | **Notatki** |
| --------------- | --------------------------- | ------------------------------------- |
| /etc/hosts | hosts.byname, hosts.byaddr | Zawiera nazwy hostów i szczegóły IP |
| /etc/passwd | passwd.byname, passwd.byuid | Plik hasła użytkownika NIS |
| /etc/group | group.byname, group.bygid | Plik grupy NIS |
| /usr/lib/aliases| mail.aliases | Szczegóły aliasów poczty elektronicznej|
2024-02-08 21:36:15 +00:00
2024-02-11 01:46:25 +00:00
## Użytkownicy RPC
2024-02-11 01:46:25 +00:00
Jeśli znajdziesz usługę **rusersd** wymienioną w ten sposób:
![](<../.gitbook/assets/image (231).png>)
2024-02-11 01:46:25 +00:00
Możesz wyliczyć użytkowników na maszynie. Aby dowiedzieć się jak to zrobić, przeczytaj [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
2024-02-11 01:46:25 +00:00
## Ominięcie zablokowanego portu Portmapper
2024-02-08 21:36:15 +00:00
2024-02-11 01:46:25 +00:00
Podczas przeprowadzania skanu **nmap** i odkrywania otwartych portów NFS, gdzie port 111 jest zablokowany, bezpośrednie wykorzystanie tych portów jest niemożliwe. Jednak poprzez **symulację lokalnej usługi portmappera i utworzenie tunelu z Twojego komputera** do celu, możliwe staje się wykorzystanie narzędzi standardowych. Ta technika umożliwia ominięcie zablokowanego stanu portu 111, umożliwiając dostęp do usług NFS. Szczegółowe wskazówki dotyczące tej metody znajdują się w artykule dostępnym pod [tym linkiem](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-11 01:46:25 +00:00
## Laboratoria do praktyki
2024-02-11 01:46:25 +00:00
* Wypróbuj te techniki na maszynie [**Irked HTB**](https://app.hackthebox.com/machines/Irked).
2021-08-12 13:28:09 +00:00
2024-02-11 01:46:25 +00:00
## Automatyczne polecenia HackTricks
```
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
```
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 01:46:25 +00:00
<summary><strong>Naucz się hakować AWS od zera do bohatera z</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-11 01:46:25 +00:00
Inne sposoby wsparcia HackTricks:
2024-01-02 18:28:27 +00:00
2024-02-11 01:46:25 +00:00
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, 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>