111/TCP/UDP - Pentesting Portmapper

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin

Temel Bilgiler

Portmapper, ağ hizmeti portlarını RPC (Remote Procedure Call) program numaralarına eşlemek için kullanılan bir servistir. Unix tabanlı sistemlerde önemli bir bileşen olarak görev yapar ve bu sistemler arasında bilgi alışverişini kolaylaştırır. Portmapper ile ilişkili port sıklıkla saldırganlar tarafından taranır çünkü değerli bilgiler açığa çıkarabilir. Bu bilgiler, çalışan Unix İşletim Sistemi (OS) türünü ve sistemde mevcut olan hizmetlerin detaylarını içerir. Ayrıca, Portmapper genellikle NFS (Network File System), NIS (Network Information Service) ve diğer RPC-tabanlı servisler ile birlikte ağ hizmetlerini etkin şekilde yönetmek için kullanılır.

Varsayılan port: 111/TCP/UDP, Oracle Solaris’te 32771

PORT    STATE SERVICE
111/tcp open  rpcbind

Keşif

rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1

Bazen size hiçbir bilgi vermez; bazen de şöyle bir şey alırsınız:

Gelişmiş rpcinfo kullanımı

TCP/111 filtreli olsa bile UDP program listesini çekmek için rpcinfo -T udp -p <target> komutunu kullanın; ardından rpcbind aracılığıyla kayıtlı, herkese açık NFS paylaşımlarını görmek için hemen showmount -e <target> çalıştırın.

rpcinfo -T udp -p 10.10.10.10
showmount -e 10.10.10.10

Nmap NSE ile kapsamlı haritalama

Klasik taramayı nmap --script=rpcinfo,rpc-grind -p111 <target> ile eşleştirerek RPC program numaralarını brute-force yapın. rpc-grind, portmapper’ı null çağrılarla yoğun şekilde sorgular; bu çağrılar nmap-rpc veritabanında gezinir ve uzak daemon “can’t support version” ile yanıtladığında desteklenen sürümleri çıkarır; bu genellikle rusersd, rquotad veya özel daemonlar gibi sessizce kayıtlı servisleri ortaya çıkarır. Çoklu iş parçacığı için --script-args 'rpc-grind.threads=8' büyük hedeflerde hızı artırırken, eşlik eden rpcinfo script’i insan tarafından okunabilir tablolar yazdırır; bunları host bazlarıyla karşılaştırabilirsiniz.

Shodan

  • port:111 portmap

RPCBind + NFS

Eğer NFS servisini bulursanız muhtemelen dosyaları listeleyebilir, indirebilir (ve belki yükleyebilirsiniz):

Bu protokolü nasıl test edeceğinizi öğrenmek için 2049 - Pentesting NFS service bölümünü okuyun.

NIS

NIS zafiyetlerini keşfetmek iki adımlı bir süreçtir; ypbind servisinin tespitiyle başlar. Bu keşfin temel taşı NIS domain name’in ortaya çıkarılmasıdır; bu olmadan ilerleme durur.

Keşif süreci gerekli paketlerin kurulmasıyla başlar (apt-get install nis). Sonraki adım, domain adı ve sunucu IP’si ile NIS sunucusunu pingleyerek varlığını doğrulamak için ypwhich kullanmayı gerektirir; bu bilgilerin güvenlik için anonimleştirildiğinden emin olun.

Son ve kritik adım, özellikle şifrelenmiş kullanıcı parolaları gibi hassas verileri çıkarmak için ypcat komutunu kullanmaktır. Bu hash’ler, John the Ripper gibi araçlarla kırıldığında sistem erişimi ve ayrıcalıklar hakkında bilgi verir.

# 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

NIF dosyaları

Ana dosyaMap(ler)Notlar
/etc/hostshosts.byname, hosts.byaddrHost adları ve IP bilgilerini içerir
/etc/passwdpasswd.byname, passwd.byuidNIS kullanıcı şifre dosyası
/etc/groupgroup.byname, group.bygidNIS grup dosyası
/usr/lib/aliasesmail.aliasesMail alias’larına ait bilgiler

RPC Kullanıcıları

Eğer rusersd servisini aşağıdaki gibi listelenmiş görürseniz:

Makinenin kullanıcılarını listeleyebilirsiniz. Nasıl yapılacağını öğrenmek için 1026 - Pentesting Rsusersd dosyasını okuyun.

Filtrelenmiş Portmapper Portunu Baypas Etme

Bir nmap scan gerçekleştirip, port 111’in filtrelenmiş olduğu açık NFS portları tespit ettiğinizde, bu portların doğrudan istismar edilmesi mümkün değildir. Ancak, portmapper servisini yerel olarak simüle ederek ve makinenizden hedefe bir tünel oluşturarak, standart araçlarla istismar mümkün hale gelir. Bu teknik, port 111’in filtrelenmiş durumunu atlamaya olanak tanır ve böylece NFS servislerine erişimi sağlar. Bu yönteme dair ayrıntılı rehber için şu makaleye bakın: this link.

Pratik için lablar

HackTricks Otomatik Komutları

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}

Referanslar

Tip

AWS Hacking’i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking’i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE) Azure Hacking’i öğrenin ve pratik yapın: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks'i Destekleyin