GCP - Cloud Build Unauthenticated 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)
Cloud Buildに関する詳細情報は以下を確認してください:
GCP - Cloud Build Enumcloudbuild.yml
という名前のファイルを含むリポジトリに対する書き込みアクセスを侵害した場合、このファイルをバックドアすることができ、Cloud Build内で実行されるコマンドを指定し、秘密情報を流出させ、実行される内容を侵害し、さらにCloud Buildサービスアカウントを侵害することができます。
GCPには、管理者が外部PRからビルドシステムの実行を制御できるオプション「コメントコントロール」があることに注意してください。コメントコントロールは、コラボレーター/プロジェクトオーナーがビルドをトリガーするために「/gcbrun」とコメントする必要がある機能であり、この機能を使用することで、インターネット上の誰もがビルドシステムをトリガーすることを本質的に防ぎます。
関連情報として、Github Actionsを攻撃する方法に関するページを確認できます(これに類似しています):
Abusing Github ActionsトリガーがPRの場合、誰でも公開リポジトリにPRを行うことができるため、任意のPRでトリガーの実行を許可することは非常に危険です。したがって、デフォルトでは、実行はオーナーとコラボレーターのみに自動で行われ、他のユーザーのPRでトリガーを実行するには、オーナーまたはコラボレーターが「/gcbrun」とコメントする必要があります。
したがって、これが**Not required
に設定されている場合、攻撃者はブランチにPRを行い**、悪意のあるコード実行を**cloudbuild.yml
ファイルに追加してcloudbuildの実行を侵害することができます(cloudbuildはPRからコードをダウンロードするため、悪意のあるcloudbuild.yml
**を実行します)。
さらに、PRを送信するときにcloudbuildの実行が必要かどうかを簡単に確認できます。なぜなら、それはGithubに表示されるからです:
そのため、cloudbuildが実行されなくても、攻撃者は会社に属するGCPプロジェクトのプロジェクト名を見ることができます。
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)