111/TCP/UDP - Pentesting Portmapper

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks

Informações Básicas

Portmapper é um serviço utilizado para mapear portas de serviços de rede para números de programa RPC (Remote Procedure Call). Atua como um componente crítico em Unix-based systems, facilitando a troca de informações entre esses sistemas. A porta associada ao Portmapper é frequentemente escaneada por atacantes, pois pode revelar informações valiosas. Essas informações incluem o tipo de Unix Operating System (OS) em execução e detalhes sobre os serviços que estão disponíveis no sistema. Além disso, o Portmapper é comumente usado em conjunto com NFS (Network File System), NIS (Network Information Service) e outros RPC-based services para gerenciar serviços de rede de forma eficaz.

Porta padrão: 111/TCP/UDP, 32771 in Oracle Solaris

PORT    STATE SERVICE
111/tcp open  rpcbind

Enumeração

rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1

Às vezes não fornece nenhuma informação; em outras ocasiões você obterá algo como isto:

Uso avançado do rpcinfo

Use rpcinfo -T udp -p <target> para obter a lista de programas UDP mesmo quando TCP/111 está filtrado, e em seguida execute imediatamente showmount -e <target> para localizar exportações NFS legíveis por todos registradas através do rpcbind.

rpcinfo -T udp -p 10.10.10.10
showmount -e 10.10.10.10

Mapeamento exaustivo com Nmap NSE

Combine o scan clássico com nmap --script=rpcinfo,rpc-grind -p111 <target> para brute-force números de programas RPC. rpc-grind sobrecarrega o portmapper com chamadas nulas que percorrem a base de dados nmap-rpc, extraindo versões suportadas sempre que o daemon remoto responde com “can’t support version”, o que frequentemente revela serviços registrados silenciosamente como rusersd, rquotad ou daemons customizados. Multi-threading via --script-args 'rpc-grind.threads=8' acelera alvos grandes enquanto o script acompanhante rpcinfo imprime tabelas legíveis que você pode diffar contra baselines do host.

Shodan

  • port:111 portmap

RPCBind + NFS

Se encontrar o serviço NFS, provavelmente poderá listar e fazer download (e talvez upload) de arquivos:

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

NIS

Explorar vulnerabilidades de NIS envolve um processo em duas etapas, começando pela identificação do serviço ypbind. A pedra angular dessa exploração é descobrir o NIS domain name, sem o qual o progresso é interrompido.

A jornada de exploração começa com a instalação dos pacotes necessários (apt-get install nis). O passo subsequente exige o uso de ypwhich para confirmar a presença do servidor NIS, consultando-o com o nome de domínio e o IP do servidor, garantindo que esses elementos sejam anonimizados por segurança.

O passo final e crucial envolve o comando ypcat para extrair dados sensíveis, particularmente senhas de usuários criptografadas. Esses hashes, uma vez crackeados usando ferramentas como John the Ripper, revelam insights sobre acesso e privilégios do sistema.

# 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

Arquivos NIF

Arquivo mestreMapa(s)Notas
/etc/hostshosts.byname, hosts.byaddrContém nomes de host e detalhes de IP
/etc/passwdpasswd.byname, passwd.byuidArquivo de senha de usuário NIS
/etc/groupgroup.byname, group.bygidArquivo de grupo NIS
/usr/lib/aliasesmail.aliasesDetalha aliases de e-mail

Usuários RPC

Se você encontrar o serviço rusersd listado assim:

Você pode enumerar os usuários da máquina. Para aprender como leia 1026 - Pentesting Rsusersd.

Bypass da porta Portmapper filtrada

Quando executar um scan com nmap e descobrir portas NFS abertas com a porta 111 aparecendo como filtrada, a exploração direta dessas portas não é viável. No entanto, ao simular um serviço portmapper localmente e criar um túnel da sua máquina para o alvo, a exploração se torna possível usando ferramentas padrão. Essa técnica permite contornar o estado filtrado da porta 111, possibilitando acesso aos serviços NFS. Para orientação detalhada sobre este método, consulte o artigo disponível em this link.

Labs to practice

HackTricks Comandos Automáticos

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}

Referências

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks