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

134 lines
6.7 KiB
Markdown
Raw Normal View History

2023-06-05 18:33:24 +00:00
# 111/TCP/UDP - Pentesting Portmapper
<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2023-06-05 18:33:24 +00:00
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)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2023-06-05 18:33:24 +00:00
</details>
## Información Básica
2023-06-05 18:33:24 +00:00
Proporciona información entre sistemas basados en Unix. El puerto es a menudo sondeado, puede ser utilizado para identificar el sistema operativo Nix y obtener información sobre los servicios disponibles. Puerto utilizado con NFS, NIS o cualquier servicio basado en rpc.
2023-06-05 18:33:24 +00:00
**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:
2023-06-05 18:33:24 +00:00
![](<../.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` ejecutándose:
2023-06-05 18:33:24 +00:00
![](<../.gitbook/assets/image (233).png>)
Puedes intentar explotarlo. De todos modos, primero **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**.
2023-06-05 18:33:24 +00:00
Al obtener el nombre de dominio NIS del entorno (example.org en este caso), usa el comando ypwhich para hacer ping al servidor NIS y ypcat para obtener material sensible. Deberías introducir los hashes de contraseñas encriptadas en John the Ripper, y una vez descifradas, puedes usarlas para evaluar el acceso al sistema y los privilegios.
2023-06-05 18:33:24 +00:00
```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
2023-06-05 18:33:24 +00:00
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 IP |
| /etc/passwd | passwd.byname, passwd.byuid| Archivo de contraseña de usuario NIS |
| /etc/group | group.byname, group.bygid | Archivo de grupo NIS |
| /usr/lib/aliases | mail.aliases | Detalles alias de correo |
2023-06-05 18:33:24 +00:00
## Usuarios RPC
Si encuentras el servicio **rusersd** listado así:
2023-06-05 18:33:24 +00:00
![](<../.gitbook/assets/image (231).png>)
Podrías enumerar los usuarios de la caja. Para aprender cómo leer [1026 - Pentesting Rsusersd](1026-pentesting-rusersd.md).
2023-06-05 18:33:24 +00:00
## Evitar Puerto de Portmapper Filtrado
2023-06-05 18:33:24 +00:00
Si durante un escaneo con nmap ves puertos abiertos como NFS pero el puerto 111 está filtrado, no podrás explotar esos puertos.\
Pero, si puedes simular localmente un servicio de portmapper y túnelas el puerto NFS desde tu máquina a la víctima, podrás usar herramientas regulares para explotar esos servicios.\
2023-06-05 18:33:24 +00:00
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
* Practica estas técnicas en la [**máquina HTB Irked**](https://app.hackthebox.com/machines/Irked).
2023-06-05 18:33:24 +00:00
## Comandos Automáticos HackTricks
2023-06-05 18:33:24 +00:00
```
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.
2023-06-05 18:33:24 +00:00
https://book.hacktricks.xyz/pentesting/pentesting-rpcbind
2023-06-05 18:33:24 +00:00
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
2023-06-05 18:33:24 +00:00
Entry_3:
Name: nmap
Description: May give netstat-type info
Command: nmap -sSUC -p 111 {IP}
2023-06-05 18:33:24 +00:00
```
<details>
<summary><strong>Aprende hacking en AWS de cero a héroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
2023-06-05 18:33:24 +00:00
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** revisa los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sigue** a **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2023-06-05 18:33:24 +00:00
</details>