GCP - Κατανόηση της Εξουσιοδότησης σε Επίπεδο Τομέα
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.
Αυτή η ανάρτηση είναι η εισαγωγή του https://www.hunters.security/en/blog/delefriend-a-newly-discovered-design-flaw-in-domain-wide-delegation-could-leave-google-workspace-vulnerable-for-takeover που μπορεί να προσπελαστεί για περισσότερες λεπτομέρειες.
Κατανόηση της Εξουσιοδότησης σε Επίπεδο Τομέα
Η εξουσιοδότηση σε επίπεδο τομέα του Google Workspace επιτρέπει σε ένα αντικείμενο ταυτότητας, είτε μια εξωτερική εφαρμογή από το Google Workspace Marketplace είτε έναν εσωτερικό Λογαριασμό Υπηρεσίας GCP, να πρόσβαση σε δεδομένα σε όλο το Workspace εκ μέρους των χρηστών. Αυτή η δυνατότητα, που είναι κρίσιμη για τις εφαρμογές που αλληλεπιδρούν με τις Google APIs ή τις υπηρεσίες που χρειάζονται μίμηση χρηστών, ενισχύει την αποδοτικότητα και ελαχιστοποιεί τα ανθρώπινα λάθη αυτοματοποιώντας τις εργασίες. Χρησιμοποιώντας το OAuth 2.0, οι προγραμματιστές εφαρμογών και οι διαχειριστές μπορούν να δώσουν σε αυτούς τους λογαριασμούς υπηρεσίας πρόσβαση σε δεδομένα χρηστών χωρίς τη συγκατάθεση των μεμονωμένων χρηστών.
Το Google Workspace επιτρέπει τη δημιουργία δύο κύριων τύπων παγκόσμιων εξουσιοδοτημένων ταυτοτήτων:
- Εφαρμογές GWS: Οι εφαρμογές από το Workspace Marketplace μπορούν να ρυθμιστούν ως εξουσιοδοτημένη ταυτότητα. Πριν διατεθούν στο marketplace, κάθε εφαρμογή Workspace υποβάλλεται σε έλεγχο από την Google για να ελαχιστοποιηθεί η πιθανή κακή χρήση. Αν και αυτό δεν εξαλείφει εντελώς τον κίνδυνο κατάχρησης, αυξάνει σημαντικά τη δυσκολία για την εμφάνιση τέτοιων περιστατικών.
- Λογαριασμός Υπηρεσίας GCP: Μάθετε περισσότερα για τους Λογαριασμούς Υπηρεσίας GCP εδώ.
Εξουσιοδότηση σε Επίπεδο Τομέα: Από Κοντά
Αυτός είναι ο τρόπος με τον οποίο ένας Λογαριασμός Υπηρεσίας GCP μπορεί να έχει πρόσβαση στις Google APIs εκ μέρους άλλων ταυτοτήτων στο Google Workspace:
.png)
- Η Ταυτότητα δημιουργεί ένα JWT: Η Ταυτότητα χρησιμοποιεί το ιδιωτικό κλειδί του λογαριασμού υπηρεσίας (μέρος του αρχείου ζεύγους κλειδιών JSON) για να υπογράψει ένα JWT. Αυτό το JWT περιέχει δηλώσεις σχετικά με τον λογαριασμό υπηρεσίας, τον στόχο χρήστη που θα μιμηθεί και τους OAuth scopes πρόσβασης στην REST API που ζητείται.
- Η Ταυτότητα χρησιμοποιεί το JWT για να ζητήσει ένα access token: Η εφαρμογή/χρήστης χρησιμοποιεί το JWT για να ζητήσει ένα access token από την υπηρεσία OAuth 2.0 της Google. Η αίτηση περιλαμβάνει επίσης τον στόχο χρήστη που θα μιμηθεί (το email του χρήστη στο Workspace) και τους scopes για τους οποίους ζητείται πρόσβαση.
- Η υπηρεσία OAuth 2.0 της Google επιστρέφει ένα access token: Το access token αντιπροσωπεύει την εξουσία του λογαριασμού υπηρεσίας να ενεργεί εκ μέρους του χρήστη για τους καθορισμένους scopes. Αυτό το token είναι συνήθως βραχύβιο και πρέπει να ανανεώνεται περιοδικά (ανάλογα με τις ανάγκες της εφαρμογής). Είναι σημαντικό να κατανοήσουμε ότι οι OAuth scopes που καθορίζονται στο JWT token έχουν εγκυρότητα και επιπτώσεις στο προκύπτον access token. Για παράδειγμα, τα access tokens που διαθέτουν πολλαπλούς scopes θα έχουν εγκυρότητα για πολλές εφαρμογές REST API.
- Η Ταυτότητα χρησιμοποιεί το access token για να καλέσει τις Google APIs: Τώρα με ένα σχετικό access token, η υπηρεσία μπορεί να έχει πρόσβαση στην απαιτούμενη REST API. Η εφαρμογή χρησιμοποιεί αυτό το access token στην κεφαλίδα “Authorization” των HTTP αιτημάτων της που προορίζονται για τις Google APIs. Αυτές οι APIs χρησιμοποιούν το token για να επαληθεύσουν την μιμηθείσα ταυτότητα και να επιβεβαιώσουν ότι έχει την απαραίτητη εξουσιοδότηση.
- Οι Google APIs επιστρέφουν τα ζητούμενα δεδομένα: Εάν το access token είναι έγκυρο και ο λογαριασμός υπηρεσίας έχει την κατάλληλη εξουσιοδότηση, οι Google APIs επιστρέφουν τα ζητούμενα δεδομένα. Για παράδειγμα, στην παρακάτω εικόνα, έχουμε αξιοποιήσει τη μέθοδο users.messages.list για να καταγράψουμε όλα τα IDs μηνυμάτων Gmail που σχετίζονται με έναν στόχο χρήστη του Workspace.
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

