hacktricks/network-services-pentesting/pentesting-rpcbind.md
2024-02-10 13:11:20 +00:00

150 lines
8.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 111/TCP/UDP - Pentesting Portmapper
<details>
<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>
Drugi načini podrške HackTricks-u:
* 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.
</details>
## Osnovne informacije
**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.
**Podrazumevani port:** 111/TCP/UDP, 32771 u Oracle Solaris-u
```
PORT STATE SERVICE
111/tcp open rpcbind
```
## 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.
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:
```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
```
Ponekad vam ne pruža nikakve informacije, a u drugim prilikama dobićete nešto poput ovoga:
![](<../.gitbook/assets/image (230).png>)
### Shodan
* `port:111 portmap`
## RPCBind + NFS
Ako pronađete uslugu NFS, verovatno ćete moći da izlistate i preuzmete (i možda otpremite) fajlove:
![](<../.gitbook/assets/image (232).png>)
Pročitajte [2049 - Testiranje sigurnosti NFS servisa](nfs-service-pentesting.md) da biste saznali više o tome kako testirati ovaj protokol.
## NIS
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>)
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.
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
# 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 fajlovi
| **Master fajl** | **Mapa(e)** | **Napomene** |
| ---------------- | --------------------------- | --------------------------------- |
| /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 |
## RPC korisnici
Ako pronađete uslugu **rusersd** navedenu na ovaj način:
![](<../.gitbook/assets/image (231).png>)
Možete nabrojati korisnike na sistemu. Da biste saznali kako, pročitajte [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
## Zaobilaženje filtriranog Portmapper porta
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).
## Shodan
* `Portmap`
## Laboratorije za vežbanje
* Vežbajte ove tehnike na [**Irked HTB mašini**](https://app.hackthebox.com/machines/Irked).
## HackTricks Automatske Komande
```
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>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>
Drugi načini podrške HackTricks-u:
* 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.
</details>