hacktricks/network-services-pentesting/135-pentesting-msrpc.md

12 KiB
Raw Blame History

135, 593 - Pentesting MSRPC

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!

Hacking Insights
Engage with content that delves into the thrill and challenges of hacking

Real-Time Hack News
Keep up-to-date with fast-paced hacking world through real-time news and insights

Latest Announcements
Stay informed with the newest bug bounties launching and crucial platform updates

Join us on Discord and start collaborating with top hackers today!

Basic Information

Το πρωτόκολλο Microsoft Remote Procedure Call (MSRPC), ένα μοντέλο client-server που επιτρέπει σε ένα πρόγραμμα να ζητήσει μια υπηρεσία από ένα πρόγραμμα που βρίσκεται σε άλλο υπολογιστή χωρίς να κατανοεί τις λεπτομέρειες του δικτύου, προήλθε αρχικά από λογισμικό ανοιχτού κώδικα και αργότερα αναπτύχθηκε και κατοχυρώθηκε με πνευματικά δικαιώματα από τη 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:

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

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

Σημαντικά RPC interfaces

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

Αναφορές

Join HackenProof Discord server to communicate with experienced hackers and bug bounty hunters!

Hacking Insights
Engage with content that delves into the thrill and challenges of hacking

Real-Time Hack News
Keep up-to-date with fast-paced hacking world through real-time news and insights

Latest Announcements
Stay informed with the newest bug bounties launching and crucial platform updates

Join us on Discord and start collaborating with top hackers today!

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}