hacktricks/network-services-pentesting/pentesting-rpcbind.md
carlospolop 63bd9641c0 f
2023-06-05 20:33:24 +02:00

7.6 KiB
Raw Blame History

111/TCP/UDP - Pentesting Portmapper

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Información básica

Proporciona información entre sistemas basados en Unix. El puerto a menudo es sondeado, se puede utilizar para identificar el sistema operativo Nix y para obtener información sobre los servicios disponibles. Puerto utilizado con NFS, NIS o cualquier servicio basado en rpc.

Puerto predeterminado: 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:

Shodan

  • port:111 portmap

RPCBind + NFS

Si encuentras el servicio NFS, entonces probablemente podrás listar y descargar (y tal vez subir) archivos:

Lee 2049 - Pentesting NFS service para aprender más sobre cómo probar este protocolo.

NIS

Si encuentras el servicio ypbind en ejecución:

Puedes intentar explotarlo. De todos modos, en primer lugar necesitarás adivinar el "nombre de dominio" NIS de la máquina (cuando se instala NIS, se configura un "nombre de dominio") y sin conocer este nombre de dominio no puedes hacer nada.

Al obtener el nombre de dominio NIS para el entorno (example.org en este caso), usa el comando ypwhich para hacer ping al servidor NIS y ypcat para obtener material sensible. Deberías alimentar hashes de contraseñas cifradas en John the Ripper, y una vez descifrados, puedes usarlo para evaluar el acceso y los privilegios del sistema.

root@kali:~# apt-get install nis
root@kali:~# ypwhich -d example.org 192.168.10.1
potatohead.example.org
root@kali:~# ypcat d example.org h 192.168.10.1 passwd.byname
tiff:noR7Bk6FdgcZg:218:101::/export/home/tiff:/bin/bash 
katykat:d.K5tGUWCJfQM:2099:102::/export/home/katykat:/bin/bash 
james:i0na7pfgtxi42:332:100::/export/home/james:/bin/tcsh 
florent:nUNzkxYF0Hbmk:199:100::/export/home/florent:/bin/csh 
dave:pzg1026SzQlwc:182:100::/export/home/dave:/bin/bash 
yumi:ZEadZ3ZaW4v9.:1377:160::/export/home/yumi:/bin/bash
Archivo maestro Mapa(s) Notas
/etc/hosts hosts.byname, hosts.byaddr Contiene nombres de host y detalles de IP
/etc/passwd passwd.byname, passwd.byuid Archivo de contraseñas de usuario NIS
/etc/group group.byname, group.bygid Archivo de grupo NIS
/usr/lib/aliases mail.aliases Detalles de alias de correo electrónico

Usuarios RPC

Si encuentra el servicio rusersd listado de esta manera:

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

Saltar el puerto del portmapper filtrado

Si durante un escaneo de nmap ve puertos abiertos como NFS pero el puerto 111 está filtrado, no podrá explotar esos puertos.
Pero, si puede simular un servicio de portmapper localmente y tunelizar el puerto NFS desde su máquina a la víctima, podrá usar herramientas regulares para explotar esos servicios.
Más información en https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc

Shodan

  • Portmap

Laboratorios para practicar

Comandos automáticos de 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: |
    Provides information between Unix based systems. Port is often probed, it can be used to fingerprint the Nix OS, and to obtain information about available services. Port used with NFS, NIS, or any rpc-based service.

    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}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥