GCP - IAM, Principals & Org Unauthenticated Enum

Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Iam & GCP Принципали

Для отримання додаткової інформації перегляньте:

pageGCP - IAM, Principals & Org Policies Enum

Чи використовується домен в 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 та адреси електронної пошти службових облікових записів (SA), спробувавши надати їм дозволи та перевіряючи повідомлення про помилки. Для цього вам просто потрібно мати дозвіл на надання дозволу на проект (який може бути просто вами власним).

Зверніть увагу, що для їх перевірки, навіть якщо вони існують, не надавайте їм дозвіл, ви можете використовувати тип 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.
Вивчайте хакінг AWS від нуля до героя з htARTE (HackTricks AWS Red Team Expert)!

Інші способи підтримки HackTricks:

Last updated