GCP - IAM, Principals & Org Unauthenticated Enum

htARTE(HackTricks AWS Red Team Expert) でAWSハッキングをゼロからヒーローまで学ぶ

HackTricks をサポートする他の方法:

  • github リポジトリ。

Iam & GCP Principals

詳細については、以下をチェックしてください:

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"
  1. **include:_spf.google.com**のようなものが表示された場合、それを確認します(表示されない場合は、gmailをメールプロバイダとして使用せずにWorkspaceにドメインが存在する可能性があるため、否定されません)。

  2. そのドメインを使用して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メールアドレスの有効なメールアドレスを列挙することが可能です。これは、それらに権限を割り当ててエラーメッセージを確認することで行います。これには、プロジェクトに権限を割り当てる権限が必要です(所有者があなただけであってもかまいません)。

これらを確認するためには、存在していても権限を与えないようにすることができますが、それが**userである場合はserviceAccountSAである場合はuser**を使用できます:

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

ユーザーのメールアドレスが有効な場合、エラーメッセージが入力されていないことを示すことに注意してください。したがって、特権を付与せずにメールサポート@hacktricks.xyz が存在することがわかりました。

サービスアカウントでも同じことができますserviceAccount: の代わりに user: タイプを使用します:

# 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.
htARTE(HackTricks AWS Red Team Expert) を通じてゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法:

最終更新