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

151 lines
8.8 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 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</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 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2024-01-02 18:28:27 +00:00
2024-02-10 13:11:20 +00:00
* Ako želite da vidite **vašu kompaniju oglašenu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 13:11:20 +00:00
## Osnovne informacije
2024-02-10 13:11:20 +00:00
**Portmapper** je servis koji se koristi za mapiranje portova mrežnih servisa na **RPC** (Remote Procedure Call) brojeve programa. On deluje kao ključna komponenta u **Unix baziranim sistemima**, olakšavajući razmenu informacija između ovih sistema. **Port** koji je povezan sa **Portmapper**-om često se skenira od strane napadača jer može otkriti vredne informacije. Ove informacije uključuju vrstu **Unix operativnog sistema (OS)** koji se koristi i detalje o servisima koji su dostupni na sistemu. Pored toga, **Portmapper** se često koristi u kombinaciji sa **NFS (Network File System)**, **NIS (Network Information Service)** i drugim **RPC baziranim servisima** kako bi se efikasno upravljalo mrežnim servisima.
2024-02-10 13:11:20 +00:00
**Podrazumevani port:** 111/TCP/UDP, 32771 u Oracle Solaris-u
```
PORT STATE SERVICE
111/tcp open rpcbind
```
2024-02-10 13:11:20 +00:00
## Enumeracija
RPCbind je servis koji omogućava klijentima da otkriju RPC (Remote Procedure Call) servise na udaljenom računaru. Kada se pokrene RPCbind servis, on registruje RPC servise koji su dostupni na računaru i dodeljuje im brojeve portova. Klijenti mogu zatim koristiti ove brojeve portova da bi pristupili odgovarajućim RPC servisima.
Da biste započeli enumeraciju RPCbind servisa, možete koristiti alat `rpcinfo`. Ovaj alat vam omogućava da dobijete informacije o RPC servisima koji su registrovani na određenom računaru. Možete koristiti sledeću komandu:
```plaintext
rpcinfo -p <IP_adresa>
```
Ova komanda će vam prikazati listu RPC servisa sa njihovim brojevima portova.
2024-02-10 13:11:20 +00:00
Takođe, možete koristiti alat `showmount` da biste dobili informacije o NFS (Network File System) eksportima na udaljenom računaru. NFS je protokol koji omogućava deljenje fajlova između računara u mreži. Komanda `showmount` se koristi na sledeći način:
2024-02-10 13:11:20 +00:00
```plaintext
showmount -e <IP_adresa>
```
Ova komanda će vam prikazati listu eksportovanih direktorijuma i IP adresa koje imaju pristup tim direktorijumima.
Kada dobijete informacije o RPC servisima i NFS eksportima, možete dalje istraživati ove servise kako biste pronašli potencijalne ranjivosti i napade.
```
rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1
```
2024-02-10 13:11:20 +00:00
Ponekad vam ne pruža nikakve informacije, a u drugim prilikama dobićete nešto poput ovoga:
![](<../.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 13:11:20 +00:00
Ako pronađete uslugu NFS, verovatno ćete moći da izlistate i preuzmete (i možda otpremite) fajlove:
![](<../.gitbook/assets/image (232).png>)
2024-02-10 13:11:20 +00:00
Pročitajte [2049 - Testiranje sigurnosti NFS servisa](nfs-service-pentesting.md) da biste saznali više o tome kako testirati ovaj protokol.
2022-05-08 23:13:03 +00:00
## NIS
2024-02-10 13:11:20 +00:00
Istraživanje ranjivosti **NIS** uključuje dvostepeni proces, počevši od identifikacije usluge `ypbind`. Temelj ovog istraživanja je otkrivanje **imeni domena NIS**, bez kojeg se napredak zaustavlja.
![](<../.gitbook/assets/image (233).png>)
2024-02-10 13:11:20 +00:00
Putovanje istraživanja počinje instalacijom neophodnih paketa (`apt-get install nis`). Sledeći korak zahteva korišćenje `ypwhich` da bi se potvrdilo prisustvo NIS servera pomoću imena domena i IP adrese servera, pri čemu su ovi elementi anonimizovani radi bezbednosti.
2024-02-10 13:11:20 +00:00
Poslednji i ključni korak uključuje komandu `ypcat` za izvlačenje osetljivih podataka, posebno šifrovanih korisničkih lozinki. Ove heš vrednosti, jednom kada se dešifruju pomoću alata poput **John the Ripper**, otkrivaju uvide u pristup sistemu i privilegije.
```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 13:11:20 +00:00
### NIF fajlovi
2024-02-10 13:11:20 +00:00
| **Master fajl** | **Mapa(e)** | **Napomene** |
| ---------------- | --------------------------- | --------------------------------- |
2024-02-10 13:11:20 +00:00
| /etc/hosts | hosts.byname, hosts.byaddr | Sadrži imena hostova i IP detalje |
| /etc/passwd | passwd.byname, passwd.byuid | NIS korisnički fajl sa lozinkama |
| /etc/group | group.byname, group.bygid | NIS grupni fajl |
| /usr/lib/aliases | mail.aliases | Detalji o mejl aliasima |
2024-02-10 13:11:20 +00:00
## RPC korisnici
2024-02-10 13:11:20 +00:00
Ako pronađete uslugu **rusersd** navedenu na ovaj način:
![](<../.gitbook/assets/image (231).png>)
2024-02-10 13:11:20 +00:00
Možete nabrojati korisnike na sistemu. Da biste saznali kako, pročitajte [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
2024-02-10 13:11:20 +00:00
## Zaobilaženje filtriranog Portmapper porta
2024-02-10 13:11:20 +00:00
Prilikom sprovođenja **nmap skeniranja** i otkrivanja otvorenih NFS portova sa filtriranim portom 111, direktna eksploatacija ovih portova nije izvodljiva. Međutim, **simuliranjem lokalne portmapper usluge i kreiranjem tunela sa vašeg računara** do cilja, eksploatacija postaje moguća korišćenjem standardnih alata. Ova tehnika omogućava zaobilaženje filtriranog stanja porta 111, čime se omogućava pristup NFS uslugama. Za detaljno uputstvo o ovoj metodi, pogledajte članak dostupan na [ovom linku](https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc).
2024-02-08 21:36:15 +00:00
2022-05-08 23:13:03 +00:00
## Shodan
2020-09-22 19:45:05 +00:00
* `Portmap`
2024-02-10 13:11:20 +00:00
## Laboratorije za vežbanje
2024-02-10 13:11:20 +00:00
* Vežbajte ove tehnike na [**Irked HTB mašini**](https://app.hackthebox.com/machines/Irked).
2021-08-12 13:28:09 +00:00
2024-02-10 13:11:20 +00:00
## HackTricks Automatske Komande
```
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 13:11:20 +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 13:11:20 +00:00
https://book.hacktricks.xyz/pentesting/pentesting-rpcbind
2021-08-15 17:28:15 +00:00
Entry_2:
2024-02-10 13:11:20 +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 13:11:20 +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 13:11:20 +00:00
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</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 13:11:20 +00:00
Drugi načini podrške HackTricks-u:
2024-01-02 18:28:27 +00:00
2024-02-10 13:11:20 +00:00
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**PLANOVE ZA PRETPLATU**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
2022-04-28 16:01:33 +00:00
</details>