111/TCP/UDP - Pentesting Portmapper

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks

Información básica

Portmapper es un servicio que se utiliza para mapear los puertos de servicios de red a números de programa RPC (Llamada a Procedimiento Remoto). Actúa como un componente crítico en sistemas basados en Unix, facilitando el intercambio de información entre estos sistemas. El puerto asociado con Portmapper suele ser escaneado por atacantes ya que puede revelar información valiosa. Esta información incluye el tipo de Sistema Operativo Unix (OS) en ejecución y detalles sobre los servicios disponibles en el sistema. Además, Portmapper se usa comúnmente junto con NFS (Sistema de archivos de red), NIS (Servicio de información de red) y otros servicios basados en RPC para gestionar eficazmente los servicios de red.

Puerto por defecto: 111/TCP/UDP, 32771 en Oracle Solaris

PORT    STATE SERVICE
111/tcp open  rpcbind

Enumeración

rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1

A veces no te da ninguna información; en otras ocasiones obtendrás algo como esto:

Uso avanzado de rpcinfo

Utiliza rpcinfo -T udp -p <target> para obtener la lista de programas UDP incluso cuando TCP/111 está filtrado, y a continuación ejecuta inmediatamente showmount -e <target> para detectar exportaciones NFS legibles públicamente registradas a través de rpcbind.

rpcinfo -T udp -p 10.10.10.10
showmount -e 10.10.10.10

Mapeo exhaustivo con Nmap NSE

Combina el escaneo clásico con nmap --script=rpcinfo,rpc-grind -p111 <target> para brute-force los números de programa RPC. rpc-grind sobrecarga el portmapper con null calls que recorren la base de datos nmap-rpc, extrayendo las versiones soportadas cada vez que el daemon remoto responde con “can’t support version”, lo que a menudo revela servicios registrados silenciosamente como rusersd, rquotad o daemons personalizados. El multi-threading mediante --script-args 'rpc-grind.threads=8' acelera el mapeo de grandes objetivos, mientras que el script complementario rpcinfo imprime tablas legibles por humanos que puedes diff contra las baselines del host.

Shodan

  • port:111 portmap

RPCBind + NFS

Si encuentras el servicio NFS probablemente podrás listar y descargar (y quizá subir) archivos:

Read 2049 - Pentesting NFS service to learn more about how to test this protocol.

NIS

Explorar vulnerabilidades de NIS implica un proceso de dos pasos, empezando por identificar el servicio ypbind. La piedra angular de esta exploración es descubrir el nombre de dominio NIS, sin lo cual el progreso se detiene.

El proceso comienza instalando los paquetes necesarios (apt-get install nis). El paso siguiente requiere usar ypwhich para confirmar la presencia del servidor NIS consultándolo con el nombre de dominio y la IP del servidor, asegurando que estos elementos estén anonimizados por seguridad.

El paso final y crucial implica el comando ypcat para extraer datos sensibles, particularmente contraseñas de usuario encriptadas. Estos hashes, una vez descifrados usando herramientas como John the Ripper, revelan información sobre el acceso al sistema y los privilegios.

# 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

Archivos NIF

Archivo maestroMap(s)Notas
/etc/hostshosts.byname, hosts.byaddrContiene nombres de host y detalles de IP
/etc/passwdpasswd.byname, passwd.byuidArchivo de contraseñas de usuarios NIS
/etc/groupgroup.byname, group.bygidArchivo de grupos NIS
/usr/lib/aliasesmail.aliasesDetalles de alias de correo

Usuarios RPC

Si encuentras el servicio rusersd listado así:

Podrías enumerar los usuarios de la máquina. Para aprender cómo, lee 1026 - Pentesting Rsusersd.

Bypass el puerto portmapper filtrado

Al realizar un nmap scan y descubrir puertos NFS abiertos con el puerto 111 marcado como filtrado, la explotación directa de estos puertos no es factible. Sin embargo, al simulating a portmapper service locally and creating a tunnel from your machine hacia el objetivo, la explotación se vuelve posible usando herramientas estándar. Esta técnica permite sortear el estado filtrado del puerto 111, habilitando así el acceso a los servicios NFS. Para una guía detallada sobre este método, consulta el artículo disponible en este enlace.

Laboratorios para practicar

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.wiki/en/network-services-pentesting/pentesting-rpcbind.html

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}

Referencias

Tip

Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprende y practica Hacking en Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Apoya a HackTricks