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

7.8 KiB
Raw Permalink Blame History

111/TCP/UDP - Pentesting Portmapper

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

{% embed url="https://websec.nl/" %}

Informazioni di base

Portmapper è un servizio utilizzato per mappare le porte dei servizi di rete ai numeri di programma RPC (Remote Procedure Call). Funziona come un componente critico nei sistemi basati su Unix, facilitando lo scambio di informazioni tra questi sistemi. La porta associata a Portmapper è frequentemente scansionata dagli attaccanti poiché può rivelare informazioni preziose. Queste informazioni includono il tipo di sistema operativo Unix (OS) in esecuzione e dettagli sui servizi disponibili sul sistema. Inoltre, Portmapper è comunemente utilizzato insieme a NFS (Network File System), NIS (Network Information Service) e altri servizi basati su RPC per gestire efficacemente i servizi di rete.

Porta predefinita: 111/TCP/UDP, 32771 in Oracle Solaris

PORT    STATE SERVICE
111/tcp open  rpcbind

Enumerazione

rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1

A volte non ti dà alcuna informazione, in altre occasioni otterrai qualcosa del genere:

Shodan

  • port:111 portmap

RPCBind + NFS

Se trovi il servizio NFS, probabilmente sarai in grado di elencare e scaricare (e forse caricare) file:

Leggi 2049 - Pentesting NFS service per saperne di più su come testare questo protocollo.

NIS

Esplorare le vulnerabilità NIS comporta un processo in due fasi, a partire dall'identificazione del servizio ypbind. La pietra miliare di questa esplorazione è scoprire il nome di dominio NIS, senza il quale i progressi si fermano.

Il viaggio di esplorazione inizia con l'installazione dei pacchetti necessari (apt-get install nis). Il passo successivo richiede di utilizzare ypwhich per confermare la presenza del server NIS pingandolo con il nome di dominio e l'IP del server, assicurandosi che questi elementi siano anonimizzati per motivi di sicurezza.

L'ultimo e cruciale passo coinvolge il comando ypcat per estrarre dati sensibili, in particolare le password degli utenti criptate. Questi hash, una volta decifrati utilizzando strumenti come John the Ripper, rivelano informazioni sull'accesso e sui privilegi di sistema.

# 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 Contiene nomi host e dettagli IP
/etc/passwd passwd.byname, passwd.byuid File password utente NIS
/etc/group group.byname, group.bygid File gruppo NIS
/usr/lib/aliases mail.aliases Dettagli sugli alias di posta

RPC Users

Se trovi il servizio rusersd elencato in questo modo:

Potresti enumerare gli utenti della macchina. Per sapere come, leggi 1026 - Pentesting Rsusersd.

Bypass Filtered Portmapper port

Quando si esegue una scansione nmap e si scoprono porte NFS aperte con la porta 111 filtrata, l'esploitazione diretta di queste porte non è fattibile. Tuttavia, simulando un servizio portmapper localmente e creando un tunnel dalla tua macchina al bersaglio, l'esploitazione diventa possibile utilizzando strumenti standard. Questa tecnica consente di bypassare lo stato filtrato della porta 111, abilitando così l'accesso ai servizi NFS. Per una guida dettagliata su questo metodo, fai riferimento all'articolo disponibile a questo link.

Shodan

  • Portmap

Labs to practice

{% embed url="https://websec.nl/" %}

HackTricks Automatic Commands

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}

{% hint style="success" %} Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks
{% endhint %}