135, 593 - Pentesting MSRPC

Reading time: 5 minutes

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

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

Το πρωτόκολλο Microsoft Remote Procedure Call (MSRPC), ένα μοντέλο πελάτη-διακομιστή που επιτρέπει σε ένα πρόγραμμα να ζητήσει μια υπηρεσία από ένα πρόγραμμα που βρίσκεται σε άλλο υπολογιστή χωρίς να κατανοεί τις λεπτομέρειες του δικτύου, προήλθε αρχικά από λογισμικό ανοιχτού κώδικα και αργότερα αναπτύχθηκε και κατοχυρώθηκε με πνευματικά δικαιώματα από τη Microsoft.

Ο χάρτης σημείων τερματισμού RPC μπορεί να προσπελαστεί μέσω TCP και UDP θύρας 135, SMB σε TCP 139 και 445 (με μια κενή ή αυθεντικοποιημένη συνεδρία), και ως υπηρεσία ιστού σε TCP θύρα 593.

135/tcp   open     msrpc         Microsoft Windows RPC

Πώς λειτουργεί το MSRPC;

Αφού ξεκινήσει από την εφαρμογή-πελάτη, η διαδικασία MSRPC περιλαμβάνει την κλήση μιας τοπικής διαδικασίας stub που αλληλεπιδρά με τη βιβλιοθήκη χρόνου εκτέλεσης του πελάτη για να προετοιμάσει και να μεταδώσει το αίτημα στον διακομιστή. Αυτό περιλαμβάνει τη μετατροπή παραμέτρων σε μια τυπική μορφή Αναπαράστασης Δεδομένων Δικτύου. Η επιλογή του πρωτοκόλλου μεταφοράς καθορίζεται από τη βιβλιοθήκη χρόνου εκτέλεσης εάν ο διακομιστής είναι απομακρυσμένος, διασφαλίζοντας ότι το RPC παραδίδεται μέσω της στοίβας δικτύου.

https://0xffsec.com/handbook/images/msrpc.png

Αναγνώριση Εκτεθειμένων Υπηρεσιών RPC

Η έκθεση υπηρεσιών RPC μέσω TCP, UDP, HTTP και SMB μπορεί να προσδιοριστεί με την ερώτηση της υπηρεσίας εντοπισμού RPC και των μεμονωμένων σημείων. Εργαλεία όπως το rpcdump διευκολύνουν την αναγνώριση μοναδικών υπηρεσιών RPC, που υποδεικνύονται από τις τιμές IFID, αποκαλύπτοντας λεπτομέρειες υπηρεσίας και δεσμεύσεις επικοινωνίας:

D:\rpctools> rpcdump [-p port] <IP>
**IFID**: 5a7b91f8-ff00-11d0-a9b2-00c04fb6e6fc version 1.0
Annotation: Messenger Service
UUID: 00000000-0000-0000-0000-000000000000
Binding: ncadg_ip_udp:<IP>[1028]

Η πρόσβαση στην υπηρεσία εντοπισμού RPC ενεργοποιείται μέσω συγκεκριμένων πρωτοκόλλων: ncacn_ip_tcp και ncadg_ip_udp για πρόσβαση μέσω της θύρας 135, ncacn_np για συνδέσεις SMB και ncacn_http για επικοινωνία RPC μέσω διαδικτύου. Οι παρακάτω εντολές παραδείγουν τη χρήση των μονάδων Metasploit για την επιθεώρηση και την αλληλεπίδραση με τις υπηρεσίες MSRPC, εστιάζοντας κυρίως στη θύρα 135:

bash
use auxiliary/scanner/dcerpc/endpoint_mapper
use auxiliary/scanner/dcerpc/hidden
use auxiliary/scanner/dcerpc/management
use auxiliary/scanner/dcerpc/tcp_dcerpc_auditor
rpcdump.py <IP> -p 135

Όλες οι επιλογές εκτός από tcp_dcerpc_auditor έχουν σχεδιαστεί ειδικά για στοχοποίηση του MSRPC στην πόρτα 135.

Σημαντικά διεπαφές RPC

  • IFID: 12345778-1234-abcd-ef00-0123456789ab
  • Named Pipe: \pipe\lsarpc
  • Περιγραφή: Διεπαφή LSA, χρησιμοποιείται για την καταμέτρηση χρηστών.
  • IFID: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
  • Named Pipe: \pipe\lsarpc
  • Περιγραφή: Διεπαφή Υπηρεσιών Καταλόγου LSA (DS), χρησιμοποιείται για την καταμέτρηση τομέων και σχέσεων εμπιστοσύνης.
  • IFID: 12345778-1234-abcd-ef00-0123456789ac
  • Named Pipe: \pipe\samr
  • Περιγραφή: Διεπαφή LSA SAMR, χρησιμοποιείται για την πρόσβαση σε δημόσια στοιχεία της βάσης δεδομένων SAM (π.χ., ονόματα χρηστών) και για την παραβίαση κωδικών πρόσβασης χρηστών ανεξαρτήτως πολιτικής κλειδώματος λογαριασμού.
  • IFID: 1ff70682-0a51-30e8-076d-740be8cee98b
  • Named Pipe: \pipe\atsvc
  • Περιγραφή: Προγραμματιστής εργασιών, χρησιμοποιείται για την απομακρυσμένη εκτέλεση εντολών.
  • IFID: 338cd001-2244-31f1-aaaa-900038001003
  • Named Pipe: \pipe\winreg
  • Περιγραφή: Υπηρεσία απομακρυσμένου μητρώου, χρησιμοποιείται για την πρόσβαση και τροποποίηση του μητρώου συστήματος.
  • IFID: 367abb81-9844-35f1-ad32-98f038001003
  • Named Pipe: \pipe\svcctl
  • Περιγραφή: Διαχειριστής ελέγχου υπηρεσιών και υπηρεσίες διακομιστή, χρησιμοποιούνται για την απομακρυσμένη εκκίνηση και διακοπή υπηρεσιών και την εκτέλεση εντολών.
  • IFID: 4b324fc8-1670-01d3-1278-5a47bf6ee188
  • Named Pipe: \pipe\srvsvc
  • Περιγραφή: Διαχειριστής ελέγχου υπηρεσιών και υπηρεσίες διακομιστή, χρησιμοποιούνται για την απομακρυσμένη εκκίνηση και διακοπή υπηρεσιών και την εκτέλεση εντολών.
  • IFID: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
  • Named Pipe: \pipe\epmapper
  • Περιγραφή: Διεπαφή DCOM, χρησιμοποιείται για την παραβίαση κωδικών πρόσβασης και τη συλλογή πληροφοριών μέσω WM.

Αναγνώριση διευθύνσεων IP

Χρησιμοποιώντας https://github.com/mubix/IOXIDResolver, προέρχεται από Airbus research είναι δυνατή η κατάχρηση της μεθόδου ServerAlive2 μέσα στη διεπαφή IOXIDResolver.

Αυτή η μέθοδος έχει χρησιμοποιηθεί για να αποκτήσει πληροφορίες διεπαφής ως IPv6 διεύθυνση από το κουτί HTB APT. Δείτε εδώ για την αναφορά του 0xdf APT, περιλαμβάνει μια εναλλακτική μέθοδο χρησιμοποιώντας rpcmap.py από Impacket με stringbinding (βλ. παραπάνω).

Εκτέλεση RCE με έγκυρα διαπιστευτήρια

Είναι δυνατή η εκτέλεση απομακρυσμένου κώδικα σε μια μηχανή, εάν είναι διαθέσιμα τα διαπιστευτήρια ενός έγκυρου χρήστη χρησιμοποιώντας dcomexec.py από το πλαίσιο impacket.

Θυμηθείτε να δοκιμάσετε με τα διάφορα διαθέσιμα αντικείμενα

  • ShellWindows
  • ShellBrowserWindow
  • MMC20

Πόρτα 593

Το rpcdump.exe από rpctools μπορεί να αλληλεπιδράσει με αυτή την πόρτα.

Αναφορές

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