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

129 lines
7.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 - Pruebas de penetración de Portmapper
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Equipos Rojos de AWS de HackTricks)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén la [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## Información Básica
**Portmapper** es un servicio que se utiliza para mapear los puertos de servicios de red a números de programas de **RPC** (Llamada a Procedimiento Remoto). Actúa como un componente crítico en los **sistemas basados en Unix**, facilitando el intercambio de información entre estos sistemas. El **puerto** asociado con **Portmapper** es escaneado con frecuencia 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 utiliza comúnmente en conjunto con **NFS (Sistema de Archivos de Red)**, **NIS (Servicio de Información de Red)** y otros **servicios basados en RPC** para gestionar los servicios de red de manera efectiva.
**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:
![](<../.gitbook/assets/image (230).png>)
### Shodan
* `port:111 portmap`
## RPCBind + NFS
Si encuentras el servicio NFS, probablemente podrás listar y descargar (y tal vez subir) archivos:
![](<../.gitbook/assets/image (232).png>)
Lee [2049 - Pentesting NFS service](nfs-service-pentesting.md) para aprender más sobre cómo probar este protocolo.
## NIS
Explorar las vulnerabilidades de **NIS** implica un proceso de dos pasos, comenzando con la identificación del servicio `ypbind`. La piedra angular de esta exploración es descubrir el **nombre de dominio de NIS**, sin el cual el progreso se detiene.
![](<../.gitbook/assets/image (233).png>)
El viaje de exploración comienza con la instalación de paquetes necesarios (`apt-get install nis`). El paso siguiente requiere usar `ypwhich` para confirmar la presencia del servidor NIS al hacer ping 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, especialmente 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.
```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
```
### Archivos NIF
| **Archivo maestro** | **Mapa(s)** | **Notas** |
| ------------------- | --------------------------- | --------------------------------- |
| /etc/hosts | hosts.byname, hosts.byaddr | Contiene nombres de host y detalles 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 |
## Usuarios RPC
Si encuentras el servicio **rusersd** listado de esta manera:
![](<../.gitbook/assets/image (231).png>)
Podrías enumerar usuarios de la máquina. Para aprender cómo hacerlo, lee [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
## Saltar el puerto del Portmapper filtrado
Al realizar un **escaneo nmap** y descubrir puertos NFS abiertos con el puerto 111 filtrado, la explotación directa de estos puertos no es factible. Sin embargo, al **simular un servicio portmapper localmente y crear un túnel desde tu máquina** hasta el objetivo, la explotación se vuelve posible utilizando herramientas estándar. Esta técnica permite saltar el estado filtrado del puerto 111, lo que habilita el acceso a los servicios NFS. Para obtener orientación detallada sobre este método, consulta el artículo disponible en [este enlace](https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc).
## Shodan
* `Portmap`
## Laboratorios para practicar
* Practica estas técnicas en la [**máquina HTB Irked**](https://app.hackthebox.com/machines/Irked).
## 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: |
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>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Experto en Red Team de AWS de HackTricks)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
* Si quieres ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
</details>