GCP - Run Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Cloud Runに関する詳細情報は次を確認してください:
GCP - Cloud Run Enumrun.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
これらの権限を持つ攻撃者は、任意のコードを実行するランサービスを作成(任意のDockerコンテナ)、それにサービスアカウントを添付し、コードがメタデータからサービスアカウントトークンを抽出することができます。
この方法のためのエクスプロイトスクリプトはこちらにあり、Dockerイメージはこちらにあります。
gcloud run deploy
を使用する場合、単にサービスを作成するのではなく、update
権限が必要であることに注意してください。こちらに例があります。
run.services.update
, iam.serviceAccounts.actAs
前のものと同様ですが、サービスを更新します:
run.services.setIamPolicy
Cloud Run上で以前の権限を自分に付与します。
run.jobs.create
, run.jobs.run
, iam.serviceaccounts.actAs
,(run.jobs.get
)コマンドで指定されたサービスアカウントを盗むためにリバースシェルを使ってジョブを起動します。 こちらにエクスプロイトがあります。
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)前のものと同様に、ジョブを更新し、SAを更新することが可能で、コマンドを実行することができます:
run.jobs.setIamPolicy
Cloud Jobsに対する以前の権限を自分に付与します。
run.jobs.run
, run.jobs.runWithOverrides
, (run.jobs.get
)ジョブ実行の環境変数を悪用して任意のコードを実行し、リバースシェルを取得してコンテナの内容(ソースコード)をダンプし、メタデータ内のSAにアクセスします:
AWSハッキングを学び、練習する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、練習する:HackTricks Training GCP Red Team Expert (GRTE)