GCP - IAM, Principals & Org Unauthenticated Enum

Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Iam & Αρχές GCP

Για περισσότερες πληροφορίες ελέγξτε:

GCP - IAM, Principals & Org Policies Enum

Χρησιμοποιείται το domain στο Workspace;

  1. Έλεγχος εγγραφών DNS

Εάν έχει μια εγγραφή google-site-verification είναι πιθανό ότι χρησιμοποιεί (ή χρησιμοποιούσε) το Workspace:

dig txt hacktricks.xyz

[...]
hacktricks.xyz.		3600	IN	TXT	"google-site-verification=2mWyPXMPXEEy6QqWbCfWkxFTcQhyYdwHrOxee1Yeo-0"
hacktricks.xyz.		3600	IN	TXT	"google-site-verification=C19PtLcZ1EGyzUYYJTX1Tp6bOGessxzN9gqE-SVKhRA"
hacktricks.xyz.		300	IN	TXT	"v=spf1 include:usb._netblocks.mimecast.com include:_spf.google.com include:_spf.psm.knowbe4.com include:_spf.salesforce.com include:spf.mandrillapp.com ~all"

Εάν εμφανίζεται κάτι σαν include:_spf.google.com, τότε επιβεβαιώνεται (σημειώστε ότι εάν δεν εμφανίζεται, δεν αποκλείεται να είναι ένας τομέας στο Workspace χωρίς να χρησιμοποιεί το gmail ως πάροχος ηλεκτρονικού ταχυδρομείου).

  1. Προσπαθήστε να δημιουργήσετε ένα Workspace με αυτόν τον τομέα

Μια άλλη επιλογή είναι να προσπαθήσετε να δημιουργήσετε ένα Workspace χρησιμοποιώντας τον τομέα. Εάν διαμαρτύρεται ότι ο τομέας χρησιμοποιείται ήδη (όπως στην εικόνα), τότε ξέρετε ότι χρησιμοποιείται ήδη!

Για να προσπαθήσετε να δημιουργήσετε έναν τομέα Workspace, ακολουθήστε: https://workspace.google.com/business/signup/welcome

  1. Προσπαθήστε να ανακτήσετε τον κωδικό πρόσβασης ενός ηλεκτρονικού ταχυδρομείου που χρησιμοποιεί αυτόν τον τομέα

Εάν γνωρίζετε οποιαδήποτε έγκυρη διεύθυνση ηλεκτρονικού ταχυδρομείου που χρησιμοποιείται σε αυτόν τον τομέα (π.χ. admin@email.com ή info@email.com), μπορείτε να προσπαθήσετε να ανακτήσετε τον λογαριασμό στη διεύθυνση https://accounts.google.com/signin/v2/recoveryidentifier, και εάν δεν εμφανίζει σφάλμα που υποδεικνύει ότι η Google δεν έχει ιδέα για αυτόν τον λογαριασμό, τότε χρησιμοποιείται το Workspace.

Απαρίθμηση ηλεκτρονικών ταχυδρομείων και λογαριασμών υπηρεσίας

Είναι δυνατόν να απαριθμήσετε έγκυρες διευθύνσεις ηλεκτρονικού ταχυδρομείου ενός τομέα Workspace και διευθύνσεις ηλεκτρονικού ταχυδρομείου υπηρεσίας δοκιμάζοντας να τους αναθέσετε δικαιώματα και ελέγχοντας τα μηνύματα σφάλματος. Για αυτό, απλά χρειάζεστε δικαιώματα για να αναθέσετε δικαιώματα σε ένα έργο (το οποίο μπορεί να είναι απλά στην κυριολεξία σας).

Σημειώστε ότι για να τα ελέγξετε, αλλά ακόμα και αν υπάρχουν, να μην τους χορηγήσετε δικαίωμα, μπορείτε να χρησιμοποιήσετε τον τύπο serviceAccount όταν είναι user και user όταν είναι SA:

# Try to assign permissions to user 'unvalid-email-34r434f@hacktricks.xyz'
# but indicating it's a service account
gcloud projects add-iam-policy-binding <project-controlled-by-you> \
--member='serviceAccount:unvalid-email-34r434f@hacktricks.xyz' \
--role='roles/viewer'
## Response:
ERROR: (gcloud.projects.add-iam-policy-binding) INVALID_ARGUMENT: User unvalid-email-34r434f@hacktricks.xyz does not exist.

# Now try with a valid email
gcloud projects add-iam-policy-binding <project-controlled-by-you> \
--member='serviceAccount:support@hacktricks.xyz' \
--role='roles/viewer'
# Response:
ERROR: (gcloud.projects.add-iam-policy-binding) INVALID_ARGUMENT: Principal support@hacktricks.xyz is of type "user". The principal should appear as "user:support@hacktricks.xyz". See https://cloud.google.com/iam/help/members/types for additional documentation.

Παρατηρήστε πώς όταν το ηλεκτρονικό ταχυδρομείο του χρήστη ήταν έγκυρο, το μήνυμα σφάλματος υποδήλωνε ότι ο τύπος δεν είναι έγκυρος, έτσι καταφέραμε να ανακαλύψουμε ότι το ηλεκτρονικό ταχυδρομείο support@hacktricks.xyz υπάρχει χωρίς να του δοθούν κανένα προνόμια.

Μπορείτε να κάνετε το ίδιο με τους Λογαριασμούς Υπηρεσίας χρησιμοποιώντας τον τύπο user: αντί για τον serviceAccount::

# Non existent
gcloud projects add-iam-policy-binding <project-controlled-by-you> \
--member='serviceAccount:<invalid-sa-name>@<proj-uniq-name>.iam.gserviceaccount.com' \
--role='roles/viewer'
# Response
ERROR: (gcloud.projects.add-iam-policy-binding) INVALID_ARGUMENT: User <invalid-sa-name>@<proj-uniq-name>.iam.gserviceaccount.com does not exist.

# Existent
gcloud projects add-iam-policy-binding <project-controlled-by-you> \
--member='serviceAccount:<sa-name>@<proj-uniq-name>.iam.gserviceaccount.com' \
--role='roles/viewer'
# Response
ERROR: (gcloud.projects.add-iam-policy-binding) INVALID_ARGUMENT: Principal testing@digital-bonfire-410512.iam.gserviceaccount.com is of type "serviceAccount". The principal should appear as "serviceAccount:testing@digital-bonfire-410512.iam.gserviceaccount.com". See https://cloud.google.com/iam/help/members/types for additional documentation.
Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Last updated