111/TCP/UDP - Pentesting Portmapper

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks

Osnovne informacije

Portmapper je servis koji se koristi za mapiranje portova mrežnih servisa na RPC (Remote Procedure Call) brojeve programa. Funkcioniše kao ključna komponenta u sistemima zasnovanim na Unixu, olakšavajući razmenu informacija između tih sistema. Port povezan sa Portmapper-om često se skenira od strane napadača jer može otkriti vredne informacije. Ove informacije uključuju tip Unix operativnog sistema (OS) koji je pokrenut i detalje o servisima dostupnim na sistemu. Pored toga, Portmapper se često koristi zajedno sa NFS (Network File System), NIS (Network Information Service) i drugim servisima zasnovanim na RPC, kako bi efikasno upravljao mrežnim servisima.

Podrazumevani port: 111/TCP/UDP, 32771 in Oracle Solaris

PORT    STATE SERVICE
111/tcp open  rpcbind

Enumeration

rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1

Ponekad vam neće dati nikakve informacije, u drugim slučajevima dobićete nešto ovako:

Napredno korišćenje rpcinfo

Iskoristite rpcinfo -T udp -p <target> da dobijete listu UDP programa čak i kada je TCP/111 filtriran, a zatim odmah pokrenite showmount -e <target> da uočite NFS eksporte koji su čitljivi svima i registrovani preko rpcbind.

rpcinfo -T udp -p 10.10.10.10
showmount -e 10.10.10.10

Iscrpno mapiranje sa Nmap NSE

Uparite klasično skeniranje sa nmap --script=rpcinfo,rpc-grind -p111 <target> da biste izvršili brute-force nad brojevima RPC programa. rpc-grind bombarduje portmapper null pozivima koji prolaze kroz nmap-rpc bazu podataka, izvlačeći podržane verzije kad god udaljeni daemon odgovori sa “can’t support version,” što često otkriva tiho registrovane servise kao što su rusersd, rquotad ili prilagođeni daemoni. Multi-threading putem --script-args 'rpc-grind.threads=8' ubrzava skeniranje velikih ciljeva, dok prateći rpcinfo skript ispisuje ljudski čitljive tabele koje možete diff-ovati u odnosu na host baseline.

Shodan

  • port:111 portmap

RPCBind + NFS

Ako pronađete servis NFS, verovatno ćete moći da listate i preuzimate (a možda i otpremate) fajlove:

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

NIS

Istraživanje ranjivosti NIS podrazumeva dvofazni proces, koji počinje identifikacijom servisa ypbind. Temelj ove istrage je otkrivanje NIS domain name, bez kojeg se napredak zaustavlja.

Istraživanje počinje instalacijom potrebnih paketa (apt-get install nis). Sledeći korak zahteva upotrebu ypwhich da se potvrdi prisustvo NIS servera pingovanjem pomoću domain name i server IP, pri čemu treba anonimizovati ove elemente zbog bezbednosti.

Završni i ključni korak uključuje komandu ypcat za ekstrakciju osetljivih podataka, posebno enkriptovanih korisničkih lozinki. Ti heševi, jednom kada se razbiju pomoću alata kao što je John the Ripper, otkrivaju uvid u pristup sistemu i privilegije.

# 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 fajlovi

Glavni fajlMapa(e)Napomene
/etc/hostshosts.byname, hosts.byaddrSadrži imena hostova i IP informacije
/etc/passwdpasswd.byname, passwd.byuidNIS datoteka sa lozinkama korisnika
/etc/groupgroup.byname, group.bygidNIS datoteka grupa
/usr/lib/aliasesmail.aliasesDetalji mail aliasa

RPC korisnici

Ako nađete servis rusersd naveden ovako:

Možete izlistati korisnike mašine. Za učenje kako, pročitajte 1026 - Pentesting Rsusersd.

Zaobilaženje filtriranog portmapper porta

Kada izvršavate nmap scan i otkrijete otvorene NFS portove pri čemu je port 111 filtriran, direktna eksploatacija tih portova nije moguća. Međutim, simulacijom portmapper servisa lokalno i kreiranjem tunela sa vaše mašine do cilja, eksploatacija postaje moguća koristeći standardne alate. Ova tehnika omogućava zaobilaženje filtriranog statusa porta 111 i time pristup NFS servisima. Za detaljno uputstvo o ovoj metodi pogledajte članak na this link.

Labovi za vežbu

HackTricks automatske komande

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}

Reference

Tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Učite i vežbajte Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Podržite HackTricks