GCP - Cloud Build Enum
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)
Google Cloud Buildは、ソフトウェアビルドとリリースプロセスを自動化する管理されたCI/CDプラットフォームであり、ソースコードリポジトリと統合し、幅広いプログラミング言語をサポートしています。これにより、開発者はコードを自動的にビルド、テスト、デプロイでき、ビルドステップやワークフローをカスタマイズする柔軟性が提供されます。
各Cloud Buildトリガーは、Cloud Repositoryに関連付けられているか、外部リポジトリ(Github、Bitbucket、Gitlab)に直接接続されています。
ここからGithub/Bitbucketトークンを盗む方法は見当たりません。リポジトリがダウンロードされると、https://source.cloud.google.com/のURLを介してアクセスされ、Githubはクライアントによってアクセスされません。
Cloud Buildは以下の場合にトリガーされます:
ブランチへのプッシュ: ブランチを指定
新しいタグのプッシュ: タグを指定
プルリクエスト: PRを受け取るブランチを指定
手動呼び出し
Pub/Subメッセージ: トピックを指定
Webhookイベント: HTTPS URLを公開し、リクエストは秘密で認証される必要があります
3つのオプションがあります:
実行するコマンドを指定するyaml/json。通常は:/cloudbuild.yaml
ウェブコンソールとCLIで「インライン」で指定できる唯一のもの
最も一般的なオプション
認証されていないアクセスに関連
ビルドするためのDockerfile
ビルドするためのBuildpack
サービスアカウントはcloud-platform
スコープを持っているため、すべての権限を使用できます。もしSAが指定されていない場合(提出時など)、デフォルトのSA <proj-number>@cloudbuild.gserviceaccount.com
が使用されます。
デフォルトでは権限は与えられませんが、いくつかの権限を与えるのは非常に簡単です:
Cloud Buildをビルド実行の承認を必要とするように設定することが可能です(デフォルトでは無効)。
トリガーがPRの場合、誰でも公開リポジトリにPRを行うことができるため、任意のPRでトリガーの実行を許可するのは非常に危険です。したがって、デフォルトでは、実行は所有者とコラボレーターのみに自動的に行われ、他のユーザーのPRでトリガーを実行するには、所有者またはコラボレーターが/gcbrun
とコメントする必要があります。
接続は以下で作成できます:
GitHub: Githubトークンを取得するための権限を要求するOAuthプロンプトが表示され、Secret Manager内に保存されます。
GitHub Enterprise: GithubAppのインストールを要求します。あなたのGitHub Enterpriseホストからの認証トークンが作成され、このプロジェクト内にSecret Managerの秘密として保存されます。
GitLab / Enterprise: APIアクセス用トークンと読み取りAPIアクセス用トークンを提供する必要があります。これらはSecret Managerに保存されます。
接続が生成されると、Githubアカウントがアクセスできるリポジトリをリンクするために使用できます。
このオプションはボタンを通じて利用可能です:
この方法で接続されたリポジトリは、2世代のトリガーでのみ利用可能です。
これは**接続
とは異なります。これはGithubまたはBitbucketリポジトリへの異なる**アクセス方法を提供しますが、接続オブジェクトを生成するのではなく、リポジトリオブジェクト(1世代)を生成します。
このオプションはボタンを通じて利用可能です:
時々、Cloud Buildはトリガーのファイルを保存するための新しいストレージを生成します。これは、GCPが提供する例などで発生します:
ストレージバケット security-devbox_cloudbuild が、使用するファイルを含む .tgz
を保存するために作成されます。
gcloudをクラウドビルド内にインストールする:
ビルド構成やログに機密情報を見つけることができます。
AWSハッキングを学び、練習する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、練習する:HackTricks Training GCP Red Team Expert (GRTE)