GCP - IAM, Principals & Org Unauthenticated Enum

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Iam & GCP Prinsipale

Vir meer inligting, kyk:

GCP - IAM, Principals & Org Policies Enum

Word die domein in Workspace gebruik?

  1. Kontroleer DNS-rekords

As dit 'n google-site-verification rekord het, is dit waarskynlik dat dit (of dit was) Workspace gebruik:

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"

Indien iets soos include:_spf.google.com ook verskyn, bevestig dit dit (let wel dat as dit nie verskyn nie, dit nie ontken word nie, aangesien 'n domein in Workspace kan wees sonder om gmail as e-posverskaffer te gebruik).

  1. Probeer om 'n Workspace met daardie domein op te stel

'n Ander opsie is om te probeer om 'n Workspace op te stel met behulp van die domein, as dit kla oor die domein wat reeds gebruik word (soos in die afbeelding), weet jy dit is reeds in gebruik!

Om te probeer om 'n Workspace-domein op te stel, gaan na: https://workspace.google.com/business/signup/welcome

  1. Probeer om die wagwoord van 'n e-pos te herstel wat daardie domein gebruik

As jy enige geldige e-posadres weet wat in daardie domein gebruik word (soos: admin@email.com of info@email.com) kan jy probeer om die rekening te herstel by https://accounts.google.com/signin/v2/recoveryidentifier, en as daar geen fout aandui dat Google geen idee het van daardie rekening nie, dan word dit gebruik in Workspace.

Enumerate e-posse en diensrekeninge

Dit is moontlik om geldige e-posse van 'n Workspace-domein en SA-e-posse te opsom deur te probeer om hulle toestemmings toe te ken en die foutboodskappe te kontroleer. Hiervoor hoef jy net toestemmings te hê om toestemming aan 'n projek toe te ken (wat net deur jou besit kan word).

Let daarop dat om hulle te kontroleer, selfs al bestaan hulle, maar nie toestemming te gee nie, kan jy die tipe serviceAccount gebruik wanneer dit 'n gebruiker is en gebruiker wanneer dit 'n SA is:

# 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.

Let daarop hoe wanneer die gebruiker se e-pos geldig was, het die foutboodskap aangedui dat die tipe nie is nie, so ons het ontdek dat die e-pos support@hacktricks.xyz bestaan sonder om enige voorregte daaraan te verleen.

Jy kan dieselfde doen met Diensrekeninge deur die tipe user: te gebruik in plaas van 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.
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated