GCP - IAM Post Exploitation

Tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

IAM

You can find further information about IAM in:

GCP - IAM, Principals & Org Policies Enum

管理コンソールへのアクセス付与

Access to the GCP management console is provided to user accounts, not service accounts。Web インターフェースにログインするには、自分が管理する Google account にアクセス権を付与できます。これは一般的な “@gmail.com” アカウントで構いません。対象組織のメンバーである必要はありません

ただし、一般的な “@gmail.com” アカウントにプリミティブロールの Owner付与するには、web console を使用する必要があります。gcloud は Editor を超える権限を付与しようとするとエラーになります。

既存プロジェクトに対してユーザーにプリミティブロール Editor を付与するには、次のコマンドを使用できます:

gcloud projects add-iam-policy-binding [PROJECT] --member user:[EMAIL] --role roles/editor

If you succeeded here, try Web インターフェースにアクセスして、そこから探索してみてください。

This is the gcloud tool を使用して割り当てられる最高レベルです

IAM コンポーネントを削除 iam.*.delete

iam.*.delete 権限(例: iam.roles.delete, iam.serviceAccountApiKeyBindings.delete, iam.serviceAccountKeys.delete など)は、カスタムロール、API キーバインディング、サービスアカウントキー、およびサービスアカウント自体など、重要な IAM コンポーネントを削除することをアイデンティティに許可します。攻撃者の手に渡ると、正当なアクセス手段を削除してサービス拒否(DoS)を引き起こすことが可能になります。

そのような攻撃を行うには、例えばロールを削除することが可能です:

gcloud iam roles delete <ROLE_ID> --project=<PROJECT_ID>

iam.serviceAccountKeys.disable || iam.serviceAccounts.disable

iam.serviceAccountKeys.disableiam.serviceAccounts.disable の権限があれば、アクティブな service account keys や service accounts を無効化できます。攻撃者の手に渡ると、運用の妨害、denial of service の発生、または正当な認証情報の使用を阻止して incident response を妨げるために利用される可能性があります。

Service Account を無効化するには、次のコマンドを使用します:

gcloud iam service-accounts disable <SA_EMAIL> --project=<PROJECT_ID>

Service Account のキーを無効にするには、次のコマンドを使用します:

gcloud iam service-accounts keys disable <KEY_ID> --iam-account=<SA_EMAIL>

iam.*.undelete

iam.*.undelete 権限は、API key bindings、custom roles、service accounts のような以前に削除された要素を復元することを可能にします。攻撃者の手に渡ると、対策を元に戻して(削除されたアクセスの回復)、永続化のために削除された侵害ベクトルを再構築したり、修復措置を回避してインシデントの封じ込めを困難にするために利用される可能性があります。

gcloud iam service-accounts undelete "${SA_ID}" --project="${PROJECT}"

Tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする