GCP - Cloudbuild 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 Buildに関する詳細情報は、以下を確認してください:
GCP - Cloud Build Enumcloudbuild.builds.create
この権限を使用すると、クラウドビルドを提出できます。cloudbuildマシンのファイルシステムには、デフォルトでcloudbuildサービスアカウントのトークンが含まれています:<PROJECT_NUMBER>@cloudbuild.gserviceaccount.com
。ただし、cloudbuild構成内でプロジェクト内の任意のサービスアカウントを指定することができます。
したがって、マシンからトークンをあなたのサーバーに外部送信させるか、その中にリバースシェルを取得してトークンを取得することができます(トークンを含むファイルは変更される可能性があります)。
元のエクスプロイトスクリプトはこちらのGitHubで見つけることができます(ただし、トークンを取得する場所は私には機能しませんでした)。したがって、脆弱な環境の作成、エクスプロイト、クリーンアップを自動化するスクリプトはこちらと、cloudbuildマシン内でリバースシェルを取得してそれを盗むためのPythonスクリプトはこちらで見つけることができます(コード内で他のサービスアカウントを指定する方法が見つかります)。
より詳細な説明については、https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/を訪問してください。
cloudbuild.builds.update
潜在的にこの権限を使用すると、クラウドビルドを更新し、サービスアカウントトークンを盗むことができるでしょう。これは前の権限で行われたように(ただし、残念ながらこの執筆時点ではそのAPIを呼び出す方法が見つかりませんでした)。
TODO
cloudbuild.repositories.accessReadToken
この権限を持つユーザーは、リポジトリにアクセスするために使用される読み取りアクセス トークンを取得できます:
cloudbuild.repositories.accessReadWriteToken
この権限を持つユーザーは、リポジトリにアクセスするために使用される読み取りおよび書き込みアクセストークンを取得できます:
cloudbuild.connections.fetchLinkableRepositories
この権限を使用すると、接続がアクセスできるリポジトリを取得できます:
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)