GCP - 汎用パーミッション 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をサポートする

汎用の注目すべき権限

*.setIamPolicy

もしユーザーがリソースに対して setIamPolicy 権限を持っている場合、そのリソースのIAMポリシーを変更して自身により多くの権限を付与できるため、そのリソース内で権限を昇格できます。
この権限は、リソースがコードの実行を許可しており iam.ServiceAccounts.actAs が不要な場合に、他のプリンシパルへ昇格するためにも利用され得ます。

  • cloudfunctions.functions.setIamPolicy
  • Cloud Function のポリシーを変更して、自分が呼び出せるようにする。

この種の権限を持つリソースタイプは数十種類あり、https://cloud.google.com/iam/docs/permissions-reference で setIamPolicy を検索するとすべて確認できます。

*.create, *.update

これらの権限は、リソースを新しく作成したり更新したりすることで権限昇格を試みる際に非常に有用です。特に、Service Account に対して iam.serviceAccounts.actAs 権限を持っていて、あなたが .create/.update を持つリソースが Service Account をアタッチできる場合に有効です。

*ServiceAccount*

この権限は通常、あるリソース内の Service Account にアクセスまたは変更を行えるようにします(例: compute.instances.setServiceAccount)。これは特権昇格の経路につながる可能性がありますが、ケースごとに依存します。

iam.ServiceAccounts.actAs

この権限があれば、Service Account をそれをサポートするリソースにアタッチできます(例: Compute Engine VM, Cloud Function, Cloud Run, 等)。
もし自分のユーザーより多くの権限を持つ Service Account をコード実行可能なリソースにアタッチできれば、その Service Account でコードを実行することで権限を昇格できます。

Cloud Hacktricks で iam.ServiceAccounts.actAs を検索すると、この権限を使った複数の権限昇格例が見つかります。

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