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

130 lines
7.6 KiB
Markdown
Raw Normal View History

2023-06-05 18:33:24 +00:00
# 111/TCP/UDP - Pentesting Portmapper
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Consigue el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## 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:
![](<../.gitbook/assets/image (230).png>)
### Shodan
* `port:111 portmap`
## RPCBind + NFS
Si encuentras el servicio NFS, entonces 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
Si encuentras el servicio `ypbind` en ejecución:
![](<../.gitbook/assets/image (233).png>)
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.
```bash
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:
![](<../.gitbook/assets/image (231).png>)
Podría enumerar los usuarios de la máquina. Para aprender cómo hacerlo, lea [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
## 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](https://medium.com/@sebnemK/how-to-bypass-filtered-portmapper-port-111-27cee52416bc)
## Shodan
* `Portmap`
## Laboratorios para practicar
* Practique estas técnicas en la máquina [**Irked de HTB**](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: |
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}
```
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live).
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>