GCP - IAM, Principals & Org Unauthenticated Enum

Wesprzyj HackTricks

Iam & GCP Podmioty

Aby uzyskać więcej informacji, sprawdź:

GCP - IAM, Principals & Org Policies Enum

Czy domena jest używana w Workspace?

  1. Sprawdź rekordy DNS

Jeśli posiada rekord google-site-verification, jest prawdopodobne, że jest (lub była) używana 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"
  1. Jeśli coś takiego jak include:_spf.google.com również się pojawi, potwierdza to (zauważ, że jeśli się nie pojawi, nie oznacza to zaprzeczenia, ponieważ domena może być w Workspace bez korzystania z usług pocztowych Gmail).

  2. Spróbuj skonfigurować Workspace z tą domeną

Inną opcją jest spróbowanie skonfigurowania Workspace z użyciem tej domeny, jeśli zgłasza, że domena jest już używana (jak na obrazku), wiesz, że jest już używana!

Aby spróbować skonfigurować domenę Workspace, przejdź do: https://workspace.google.com/business/signup/welcome

  1. Spróbuj odzyskać hasło do e-maila z użyciem tej domeny

Jeśli znasz jakikolwiek ważny adres e-mail używany w tej domenie (np. admin@email.com lub info@email.com), możesz spróbować odzyskać konto na stronie https://accounts.google.com/signin/v2/recoveryidentifier, a jeśli próba nie wyświetla błędu wskazującego, że Google nie ma pojęcia o tym koncie, to oznacza, że jest używany Workspace.

Wyliczanie adresów e-mail i kont usługowych

Możliwe jest wyliczenie ważnych adresów e-mail w domenie Workspace oraz adresów e-mail kont usługowych (SA) poprzez próbę przypisania im uprawnień i sprawdzenie komunikatów o błędach. Wystarczy mieć uprawnienia do przypisywania uprawnień do projektu (który może być tylko twoją własnością).

Zauważ, że aby je sprawdzić, nawet jeśli istnieją, nie przyznawaj im uprawnień, możesz użyć typu serviceAccount gdy jest to user oraz user gdy jest to 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.

Zauważ, że gdy adres e-mail użytkownika był poprawny, komunikat o błędzie wskazywał, że typ nie jest poprawny, dzięki czemu udało nam się odkryć, że e-mail support@hacktricks.xyz istnieje, nie przyznając mu żadnych uprawnień.

Możesz zrobić to samo z Kontami Usług używając typu user: zamiast 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.
Wesprzyj HackTricks

Last updated