11 KiB
111/TCP/UDP - Test di penetrazione su Portmapper
Impara l'hacking di AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PACCHETTI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud github repos.
Informazioni di base
Portmapper è un servizio utilizzato per mappare le porte dei servizi di rete ai numeri di programma RPC (Remote Procedure Call). Agisce come componente critico nei sistemi basati su Unix, facilitando lo scambio di informazioni tra questi sistemi. La porta associata a Portmapper viene spesso scansionata dagli attaccanti in quanto può rivelare informazioni preziose. Queste informazioni includono il tipo di sistema operativo Unix (OS) in esecuzione e i dettagli sui servizi disponibili nel sistema. Inoltre, Portmapper viene comunemente utilizzato in combinazione con 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
RPCBIND
The rpcbind service is used to map RPC (Remote Procedure Call) program numbers to network addresses. It listens on TCP and UDP port 111. By querying the rpcbind service, an attacker can gather information about the RPC services running on a target system.
Enumerating RPC Services
To enumerate RPC services using rpcbind, you can use the rpcinfo
command. The syntax is as follows:
rpcinfo -p <target>
This command will display a list of RPC services along with their program numbers and transport protocols.
Enumerating NFS Shares
NFS (Network File System) is a commonly used protocol for sharing files and directories between systems. To enumerate NFS shares, you can use the showmount
command. The syntax is as follows:
showmount -e <target>
This command will display a list of NFS shares along with the hosts that are allowed to access them.
Enumerating NIS Services
NIS (Network Information Service) is a system for distributing system configuration data such as user and group information. To enumerate NIS services, you can use the ypcat
command. The syntax is as follows:
ypcat -h <target> <mapname>
This command will display the contents of the specified NIS map.
Enumerating Portmapper Services
Portmapper is a service that runs on port 111 and is used to map RPC program numbers to port numbers. To enumerate Portmapper services, you can use the portmap
command. The syntax is as follows:
portmap -p <target>
This command will display a list of RPC services along with their program numbers and port numbers.
SNMP
Simple Network Management Protocol (SNMP) is a protocol used for managing and monitoring network devices. It operates over UDP port 161. SNMP allows for the collection of information about network devices, such as their configuration and performance statistics.
Enumerating SNMP Information
To enumerate SNMP information, you can use the snmpwalk
command. The syntax is as follows:
snmpwalk -c <community> -v <version> <target> <OID>
This command will retrieve the value of the specified Object Identifier (OID) from the target SNMP agent.
Enumerating SNMP Community Strings
SNMP community strings are used to authenticate SNMP requests. To enumerate SNMP community strings, you can use the onesixtyone
command. The syntax is as follows:
onesixtyone -c <community-file> <target>
This command will attempt to brute force SNMP community strings using a list of common strings provided in the specified file.
Enumerating SNMP Users
SNMPv3 supports user-based security model (USM), which allows for the authentication and encryption of SNMP messages. To enumerate SNMP users, you can use the snmp-check
command. The syntax is as follows:
snmp-check -c <community> -v <version> -u <username> -l <level> <target>
This command will check if the specified SNMP user exists on the target system.
rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1
A volte non ti fornisce 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 servizio NFS per saperne di più su come testare questo protocollo.
NIS
Esplorare le vulnerabilità di NIS comporta un processo in due fasi, a partire dall'identificazione del servizio ypbind
. La pietra angolare di questa esplorazione è scoprire il nome di dominio NIS, senza il quale il progresso viene interrotto.
Il viaggio di esplorazione inizia con l'installazione dei pacchetti necessari (apt-get install nis
). Il passaggio successivo richiede l'utilizzo di ypwhich
per confermare la presenza del server NIS effettuando un ping con il nome di dominio e l'indirizzo IP del server, assicurandosi che questi elementi siano anonimizzati per motivi di sicurezza.
Il passaggio finale e cruciale coinvolge il comando ypcat
per estrarre dati sensibili, in particolare le password degli utenti crittografate. Questi hash, una volta decifrati utilizzando strumenti come John the Ripper, rivelano informazioni sull'accesso al sistema e i privilegi.
# 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
File NIF
File principale | Mappa(e) | Note |
---|---|---|
/etc/hosts | hosts.byname, hosts.byaddr | Contiene nomi host e dettagli IP |
/etc/passwd | passwd.byname, passwd.byuid | File delle password degli utenti NIS |
/etc/group | group.byname, group.bygid | File dei gruppi NIS |
/usr/lib/aliases | mail.aliases | Dettagli sugli alias di posta |
Utenti RPC
Se trovi il servizio rusersd elencato in questo modo:
Puoi enumerare gli utenti della macchina. Per saperne di più, leggi 1026 - Pentesting Rsusersd.
Bypass del portmapper filtrato
Durante una scansione nmap se scopri porte NFS aperte con la porta 111 filtrata, l'exploit diretto di queste porte non è fattibile. Tuttavia, simulando un servizio portmapper localmente e creando un tunnel dalla tua macchina al target, diventa possibile l'exploit utilizzando strumenti standard. Questa tecnica consente di bypassare lo stato filtrato della porta 111, consentendo così l'accesso ai servizi NFS. Per una guida dettagliata su questo metodo, consulta l'articolo disponibile a questo link.
Shodan
Portmap
Laboratori per esercitarsi
- Pratica queste tecniche sulla macchina Irked HTB.
Comandi automatici di HackTricks
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}
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di esclusive NFT
- Unisciti al 💬 gruppo Discord o al gruppo Telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai repository github di HackTricks e HackTricks Cloud.