GCP - Orgpolicy Privesc

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をサポートする

orgpolicy

orgpolicy.policy.set

orgpolicy.policy.set を悪用する攻撃者は組織のポリシーを操作でき、特定の操作を妨げる制限を解除できます。例えば、制約 appengine.disableCodeDownload は通常 App Engine のソースコードのダウンロードを阻止します。しかし、orgpolicy.policy.set を使うことでこの制約を無効化し、当初は保護されていたソースコードのダウンロードにアクセスできるようになります。

org policy の情報を取得して強制を無効化 ```bash # Get info gcloud resource-manager org-policies describe [--folder | --organization | --project ]

Disable

gcloud resource-manager org-policies disable-enforce [–folder | –organization | –project ]

</details>

この手法の python スクリプトは [here](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/orgpolicy.policy.set.py) にあります。

### `orgpolicy.policy.set`, `iam.serviceAccounts.actAs`

通常、別のプロジェクトのサービスアカウントをリソースに付与することはできません。これは **`iam.disableCrossProjectServiceAccountUsage`** というポリシー制約が適用されており、この操作を防いでいるためです。

この制約が適用されているかどうかは、次のコマンドを実行して確認できます:

<details>
<summary>プロジェクト間サービスアカウント制約の確認</summary>
```bash
gcloud resource-manager org-policies describe \
constraints/iam.disableCrossProjectServiceAccountUsage \
--project=<project-id> \
--effective

booleanPolicy:
enforced: true
constraint: constraints/iam.disableCrossProjectServiceAccountUsage

これは攻撃者が権限 iam.serviceAccounts.actAs を悪用して、例えば追加のインフラ権限(新しい VM の起動など)なしに別プロジェクトのサービスアカウントを引き受けることを防ぎます。こうした行為は権限昇格につながる可能性があります。

しかし、権限 orgpolicy.policy.set を持つ攻撃者は、制約 iam.disableServiceAccountProjectWideAccess を無効化することでこの制限を回避できます。これにより攻撃者は別プロジェクトのサービスアカウントを自身のプロジェクト内のリソースに紐付けることができ、実質的に権限を昇格させることが可能になります。

クロスプロジェクトのサービスアカウント制約を無効化 ```bash gcloud resource-manager org-policies disable-enforce \ iam.disableCrossProjectServiceAccountUsage \ --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をサポートする