Az - Device Registration
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
Basic Information
Όταν μια συσκευή ενώνεται με το AzureAD, δημιουργείται ένα νέο αντικείμενο στο AzureAD.
Κατά την εγγραφή μιας συσκευής, ο χρήστης ζητείται να συνδεθεί με τον λογαριασμό του (ζητώντας MFA αν χρειαστεί), στη συνέχεια ζητάει tokens για την υπηρεσία εγγραφής συσκευών και μετά ζητάει μια τελική επιβεβαίωση.
Στη συνέχεια, δημιουργούνται δύο ζεύγη κλειδιών RSA στη συσκευή: Το κλειδί συσκευής (δημόσιο κλειδί) που αποστέλλεται στο AzureAD και το κλειδί μεταφοράς (ιδιωτικό κλειδί) που αποθηκεύεται στο TPM αν είναι δυνατόν.
Στη συνέχεια, το αντικείμενο δημιουργείται στο AzureAD (όχι στο Intune) και το AzureAD επιστρέφει στη συσκευή ένα πιστοποιητικό υπογεγραμμένο από αυτό. Μπορείτε να ελέγξετε ότι η συσκευή είναι συνδεδεμένη με το AzureAD και πληροφορίες σχετικά με το πιστοποιητικό (όπως αν είναι προστατευμένο από TPM).
dsregcmd /status
Μετά την εγγραφή της συσκευής, ένα Primary Refresh Token ζητείται από το LSASS CloudAP module και δίνεται στη συσκευή. Μαζί με το PRT παραδίδεται επίσης το κλειδί συνεδρίας κρυπτογραφημένο ώστε μόνο η συσκευή να μπορεί να το αποκρυπτογραφήσει (χρησιμοποιώντας το δημόσιο κλειδί του κλειδιού μεταφοράς) και είναι αναγκαίο για τη χρήση του PRT.
Για περισσότερες πληροφορίες σχετικά με το τι είναι το PRT, ελέγξτε:
Az - Primary Refresh Token (PRT)
TPM - Trusted Platform Module
Το TPM προστατεύει από την εξαγωγή κλειδιών από μια συσκευή που είναι απενεργοποιημένη (αν προστατεύεται με PIN) και από την εξαγωγή του ιδιωτικού υλικού από το επίπεδο του λειτουργικού συστήματος.
Αλλά δεν προστατεύει από κατασκοπεία της φυσικής σύνδεσης μεταξύ του TPM και της CPU ή χρησιμοποιώντας το κρυπτογραφικό υλικό στο TPM ενώ το σύστημα είναι σε λειτουργία από μια διαδικασία με δικαιώματα SYSTEM.
Αν ελέγξετε την παρακάτω σελίδα, θα δείτε ότι η κλοπή του PRT μπορεί να χρησιμοποιηθεί για πρόσβαση ως χρήστης, το οποίο είναι εξαιρετικό γιατί το PRT βρίσκεται σε συσκευές, οπότε μπορεί να κλαπεί από αυτές (ή αν δεν κλαπεί, να καταχραστεί για να παραχθούν νέα κλειδιά υπογραφής):
Az - Primary Refresh Token (PRT)
Εγγραφή μιας συσκευής με SSO tokens
Θα ήταν δυνατό για έναν επιτιθέμενο να ζητήσει ένα token για την υπηρεσία εγγραφής συσκευών της Microsoft από τη συμβιβασμένη συσκευή και να την εγγράψει:
# Initialize SSO flow
roadrecon auth prt-init
.\ROADtoken.exe <nonce>
# Request token with PRT with PRT cookie
roadrecon auth -r 01cb2876-7ebd-4aa4-9cc9-d28bd4d359a9 --prt-cookie <cookie>
# Custom pyhton script to register a device (check roadtx)
registerdevice.py
Που θα σας δώσει ένα πιστοποιητικό που μπορείτε να χρησιμοποιήσετε για να ζητήσετε PRTs στο μέλλον. Έτσι διατηρείται η επιμονή και παρακάμπτεται το MFA επειδή το αρχικό PRT token που χρησιμοποιήθηκε για την εγγραφή της νέας συσκευής είχε ήδη παραχωρηθεί άδεια MFA.
Tip
Σημειώστε ότι για να εκτελέσετε αυτή την επίθεση θα χρειαστείτε άδειες για να εγγράψετε νέες συσκευές. Επίσης, η εγγραφή μιας συσκευής δεν σημαίνει ότι η συσκευή θα επιτρέπεται να εγγραφεί στο Intune.
Caution
Αυτή η επίθεση διορθώθηκε τον Σεπτέμβριο του 2021 καθώς δεν μπορείτε πλέον να εγγράψετε νέες συσκευές χρησιμοποιώντας SSO tokens. Ωστόσο, είναι ακόμα δυνατό να εγγραφούν συσκευές με νόμιμο τρόπο (έχοντας όνομα χρήστη, κωδικό πρόσβασης και MFA αν χρειαστεί). Δείτε: roadtx.
Εγγραφή ενός εισιτηρίου συσκευής
Ήταν δυνατό να ζητήσετε ένα εισιτήριο συσκευής, να αντικαταστήσετε το τρέχον εισιτήριο της συσκευής και κατά τη διάρκεια της διαδικασίας να κλέψετε το PRT (έτσι δεν χρειάζεται να το κλέψετε από το TPM. Για περισσότερες πληροφορίες δείτε αυτή την ομιλία.
.png)
Caution
Ωστόσο, αυτό διορθώθηκε.
Αντικατάσταση κλειδιού WHFB
Δείτε τις αρχικές διαφάνειες εδώ
Περίληψη επίθεσης:
- Είναι δυνατό να αντικαταστήσετε το καταχωρημένο κλειδί WHFB από μια συσκευή μέσω SSO
- Αυτό καταρρίπτει την προστασία TPM καθώς το κλειδί συλλέγεται κατά τη διάρκεια της δημιουργίας του νέου κλειδιού
- Αυτό παρέχει επίσης επιμονή
.png)
Οι χρήστες μπορούν να τροποποιήσουν την ιδιότητα searchableDeviceKey τους μέσω του Azure AD Graph, ωστόσο, ο επιτιθέμενος πρέπει να έχει μια συσκευή στον ενοικιαστή (καταχωρημένη αυθόρμητα ή έχοντας κλέψει πιστοποιητικό + κλειδί από μια νόμιμη συσκευή) και ένα έγκυρο access token για το AAD Graph.
Στη συνέχεια, είναι δυνατό να δημιουργηθεί ένα νέο κλειδί με:
roadtx genhellokey -d <device id> -k tempkey.key
και στη συνέχεια PATCH την πληροφορία του searchableDeviceKey:
.png)
Είναι δυνατόν να αποκτήσετε ένα access token από έναν χρήστη μέσω device code phishing και να εκμεταλλευτείτε τα προηγούμενα βήματα για να κλέψετε την πρόσβασή του. Για περισσότερες πληροφορίες δείτε:
Az - Primary Refresh Token (PRT)
.png)
Αναφορές
- https://youtu.be/BduCn8cLV1A
- https://www.youtube.com/watch?v=x609c-MUZ_g
- https://www.youtube.com/watch?v=AFay_58QubY
Tip
Μάθετε & εξασκηθείτε στο AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Υποστηρίξτε το HackTricks
- Δείτε τα subscription plans!
- Εγγραφείτε στο 💬 Discord group ή την telegram group ή ακολουθήστε μας στο Twitter 🐦 @hacktricks_live.
- Μοιραστείτε τα hacking tricks υποβάλλοντας PRs στα HackTricks και HackTricks Cloud github repos.
HackTricks Cloud

