GCP - Cloud Build 認証なし列挙

Reading time: 5 minutes

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

Cloud Build

Cloud Buildに関する詳細情報は以下を確認してください:

GCP - Cloud Build Enum

cloudbuild.yml

cloudbuild.ymlというファイルを含むリポジトリに対する書き込みアクセスを侵害した場合、このファイルをバックドアすることができ、Cloud Build内で実行されるコマンドを指定し、秘密情報を流出させ、実行される内容を妨害し、さらにCloud Buildサービスアカウントを侵害することができます。

note

GCPには、管理者が外部PRからビルドシステムの実行を制御できるオプション「Comment Control」があることに注意してください。Comment Controlは、コラボレーター/プロジェクトオーナーがビルドをトリガーするために「/gcbrun」とコメントする必要がある機能であり、この機能を使用することで、インターネット上の誰もがビルドシステムをトリガーすることを本質的に防ぎます。

関連情報として、Github Actionsを攻撃する方法に関するページを確認することができます(これに類似しています):

Abusing Github Actions

PR 承認

トリガーがPRの場合、誰でも公開リポジトリにPRを行うことができるため任意のPRでトリガーの実行を許可することは非常に危険です。したがって、デフォルトでは、実行はオーナーとコラボレーターのみに自動で行われ、他のユーザーのPRでトリガーを実行するには、オーナーまたはコラボレーターが「/gcbrun」とコメントする必要があります。

caution

したがって、これが**Not requiredに設定されている場合、攻撃者はブランチにPRを行い**、悪意のあるコード実行を**cloudbuild.ymlファイルに追加してcloudbuildの実行を妨害することができます(cloudbuildはPRからコードをダウンロードするため、悪意のあるcloudbuild.yml**を実行します)。

さらに、PRを送信するときにcloudbuildの実行が必要かどうかを簡単に確認できます。なぜなら、それはGithubに表示されるからです:

warning

そのため、cloudbuildが実行されなくても、攻撃者は会社に属するGCPプロジェクトのプロジェクト名を見ることができます。

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