GCP - IAM, Principals & Org Unauthenticated Enum

htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğrenin!

HackTricks'i desteklemenin diğer yolları:

Iam & GCP Principals

Daha fazla bilgi için kontrol edin:

GCP - IAM, Principals & Org Policies Enum

Alan adı Workspace'de kullanılıyor mu?

  1. DNS kayıtlarını kontrol edin

Eğer google-site-verification kaydı varsa, muhtemelen Workspace kullanılıyor (veya kullanıldı):

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"

Eğer include:_spf.google.com gibi bir şey varsa, bu doğrular (unutmayın, görünmüyorsa, bir alan adı gmail'i posta sağlayıcısı olarak kullanmadan Workspace içinde olabilir).

  1. Bu alan adıyla bir Workspace kurmayı deneyin

Başka bir seçenek, alan adını kullanarak bir Workspace kurmayı denemektir, eğer alan adının zaten kullanıldığından şikayet ederse (resimde olduğu gibi), zaten kullanıldığını biliyorsunuz demektir!

Bir Workspace alan adı kurmayı denemek için şu adımları izleyin: https://workspace.google.com/business/signup/welcome

  1. Bu alan adını kullanan bir e-postanın şifresini kurtarmayı deneyin

Eğer bu alan adında kullanılan geçerli bir e-posta adresi biliyorsanız (örneğin: admin@email.com veya info@email.com), https://accounts.google.com/signin/v2/recoveryidentifier adresinde hesabı kurtarmayı deneyebilirsiniz ve eğer deneme, Google'ın bu hesap hakkında hiçbir fikri olmadığını gösteren bir hata göstermiyorsa, o zaman Workspace kullanılıyor demektir.

E-postaları ve hizmet hesaplarını sıralama

Bir Workspace alan adının geçerli e-postalarını ve hizmet hesaplarını sıralamak mümkündür, bunları izin atayarak ve hata mesajlarını kontrol ederek deneyerek. Bunun için bir projeye izin atama izninizin olması yeterlidir (bu projenin size ait olması da mümkündür).

Onları kontrol etmek için, var olup olmadıklarını kontrol etmek için serviceAccount tipini kullanabilirsiniz, ancak izin vermemek için user tipini kullanabilirsiniz:

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

Kullanıcı e-postası geçerli olduğunda hata mesajı, tipin geçerli olmadığını belirtir, bu nedenle support@hacktricks.xyz e-postasının herhangi bir yetki verilmeden var olduğunu keşfettik.

Aynısını Hizmet Hesapları için de yapabilirsiniz, ancak serviceAccount: yerine user: tipini kullanarak:

# 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 hackleme becerilerini sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'ı desteklemenin diğer yolları:

Last updated