111/TCP/UDP - Pentesting Portmapper

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Βασικές Πληροφορίες

Portmapper είναι μια υπηρεσία που χρησιμοποιείται για την αντιστοίχιση των θυρών υπηρεσιών δικτύου με αριθμούς προγραμμάτων RPC (Remote Procedure Call). Λειτουργεί ως κρίσιμο συστατικό στα Unix-based systems, διευκολύνοντας την ανταλλαγή πληροφοριών μεταξύ αυτών των συστημάτων. Η port που σχετίζεται με το Portmapper σαρώνεται συχνά από επιτιθέμενους καθώς μπορεί να αποκαλύψει πολύτιμες πληροφορίες. Αυτές οι πληροφορίες περιλαμβάνουν τον τύπο του Unix Operating System (OS) που εκτελείται και λεπτομέρειες σχετικά με τις υπηρεσίες που είναι διαθέσιμες στο σύστημα. Επιπλέον, το Portmapper χρησιμοποιείται κοινά σε συνδυασμό με NFS (Network File System), NIS (Network Information Service), και άλλες RPC-based services για αποτελεσματική διαχείριση υπηρεσιών δικτύου.

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

PORT    STATE SERVICE
111/tcp open  rpcbind

Απογραφή

rpcinfo irked.htb
nmap -sSUC -p111 192.168.10.1

Μερικές φορές δεν σας δίνει καμία πληροφορία, σε άλλες περιπτώσεις θα λάβετε κάτι σαν το παρακάτω:

Προχωρημένη χρήση του rpcinfo

Χρησιμοποιήστε το rpcinfo -T udp -p <target> για να ανακτήσετε τη λίστα προγραμμάτων UDP ακόμα και όταν το TCP/111 είναι φιλτραρισμένο, και στη συνέχεια τρέξτε αμέσως το showmount -e <target> για να εντοπίσετε εξαγωγές NFS που είναι προσβάσιμες από όλους και έχουν εγγραφεί μέσω rpcbind.

rpcinfo -T udp -p 10.10.10.10
showmount -e 10.10.10.10

Εκτενής χαρτογράφηση με Nmap NSE

Συνδύασε το κλασικό scan με nmap --script=rpcinfo,rpc-grind -p111 <target> για brute-force στους αριθμούς προγραμμάτων RPC. Το rpc-grind βομβαρδίζει τον portmapper με null κλήσεις που περπατούν τη βάση δεδομένων nmap-rpc, εξάγοντας τις υποστηριζόμενες εκδόσεις κάθε φορά που ο απομακρυσμένος daemon απαντά με “can’t support version,” γεγονός που συχνά αποκαλύπτει σιωπηλά καταχωρημένες υπηρεσίες όπως rusersd, rquotad ή custom daemons. Το multi-threading μέσω --script-args 'rpc-grind.threads=8' επιταχύνει μεγάλους στόχους ενώ το συνοδευτικό script rpcinfo εκτυπώνει πίνακες σε ανθρώπινα αναγνώσιμη μορφή που μπορείς να συγκρίνεις με τα baseline του host.

Shodan

  • port:111 portmap

RPCBind + NFS

Αν εντοπίσεις την υπηρεσία NFS πιθανόν θα μπορέσεις να απαριθμήσεις και να κατεβάσεις (και ίσως να ανεβάσεις) αρχεία:

Διαβάστε 2049 - Pentesting NFS service για να μάθετε περισσότερα σχετικά με το πώς να δοκιμάσετε αυτό το πρωτόκολλο.

NIS

Η εξερεύνηση ευπαθειών του NIS περιλαμβάνει μια διαδικασία δύο βημάτων, ξεκινώντας από την ταυτοποίηση της υπηρεσίας ypbind. Το κλειδί αυτής της διερεύνησης είναι η αποκάλυψη του NIS domain name, χωρίς το οποίο η πρόοδος σταματά.

Η διαδικασία ξεκινά με την εγκατάσταση των απαραίτητων πακέτων (apt-get install nis). Το επόμενο βήμα απαιτεί τη χρήση του ypwhich για να επιβεβαιώσεις την παρουσία του NIS server κάνοντάς του ping με το domain name και το server IP, διασφαλίζοντας ότι αυτά τα στοιχεία ανωνυμοποιούνται για λόγους ασφάλειας.

Το τελικό και κρίσιμο βήμα περιλαμβάνει την εντολή ypcat για την εξαγωγή ευαίσθητων δεδομένων, ειδικά κρυπτογραφημένων κωδικών χρηστών. Αυτά τα hashes, μόλις σπάσουν με εργαλεία όπως το John the Ripper, αποκαλύπτουν πληροφορίες για την πρόσβαση στο σύστημα και τα προνόμια.

# 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

Κύριο αρχείοΧάρτης(ες)Σημειώσεις
/etc/hostshosts.byname, hosts.byaddrΠεριέχει ονόματα υπολογιστών και λεπτομέρειες IP
/etc/passwdpasswd.byname, passwd.byuidΑρχείο κωδικών χρηστών NIS
/etc/groupgroup.byname, group.bygidΑρχείο ομάδων NIS
/usr/lib/aliasesmail.aliasesΠεριέχει mail aliases

Χρήστες RPC

Αν βρείτε την υπηρεσία rusersd καταχωρημένη έτσι:

Μπορείτε να απαριθμήσετε τους χρήστες του συστήματος. Για να μάθετε πώς, διαβάστε το 1026 - Pentesting Rsusersd.

Παράκαμψη φιλτραρισμένης θύρας Portmapper

Κατά τη διάρκεια ενός nmap scan, αν εντοπίσετε ανοικτές NFS θύρες ενώ η θύρα 111 είναι φιλτραρισμένη, η άμεση εκμετάλλευση αυτών των θυρών δεν είναι εφικτή. Ωστόσο, με το να προσομοιώσετε ένα portmapper service τοπικά και να δημιουργήσετε ένα tunnel από τη μηχανή σας προς τον στόχο, η εκμετάλλευση γίνεται δυνατή χρησιμοποιώντας standard tools. Αυτή η τεχνική επιτρέπει την παράκαμψη της φιλτραρισμένης κατάστασης της θύρας 111, επιτρέποντας έτσι την πρόσβαση σε υπηρεσίες NFS. Για λεπτομερείς οδηγίες σχετικά με αυτή τη μέθοδο, ανατρέξτε στο άρθρο στο this link.

Labs για εξάσκηση

  • Εξασκηθείτε σε αυτές τις τεχνικές στο Irked HTB machine.

Αυτόματες εντολές 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: |
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}

Αναφορές

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks