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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Βασικές Πληροφορίες
Το πρωτόκολλο 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 παραδίδεται μέσω της στοίβας δικτύου.
Αναγνώριση Εκτεθειμένων Υπηρεσιών 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:
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 μπορεί να αλληλεπιδράσει με αυτή την πόρτα.
Αναφορές
- https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/
- https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/
- https://0xffsec.com/handbook/services/msrpc/
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
- Ελέγξτε τα σχέδια συνδρομής!
- Εγγραφείτε στην 💬 ομάδα Discord ή στην ομάδα telegram ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε κόλπα hacking υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.