GCP - Cloud Build Unauthenticated Enum

Support HackTricks

Cloud Build

Für weitere Informationen über Cloud Build siehe:

GCP - Cloud Build Enum

cloudbuild.yml

Wenn du Schreibzugriff auf ein Repository mit einer Datei namens cloudbuild.yml erlangst, könntest du diese Datei hintertüren, die die Befehle angibt, die innerhalb eines Cloud Builds ausgeführt werden sollen und die Geheimnisse exfiltrieren, was durchgeführt wird und auch das Cloud Build-Dienstkonto kompromittieren.

Beachte, dass GCP die Option hat, Administratoren die Kontrolle über die Ausführung von Build-Systemen aus externen PRs über "Comment Control" zu ermöglichen. Comment Control ist eine Funktion, bei der Mitarbeiter/Projektinhaber kommentieren müssen “/gcbrun”, um den Build gegen den PR auszulösen, und die Verwendung dieser Funktion verhindert von Natur aus, dass jemand im Internet deine Build-Systeme auslöst.

Für einige verwandte Informationen kannst du die Seite über den Angriff auf Github Actions (ähnlich wie dies) überprüfen:

Abusing Github Actions

PR Genehmigungen

Wenn der Trigger PR ist, weil jeder PRs zu öffentlichen Repositories durchführen kann, wäre es sehr gefährlich, einfach die Ausführung des Triggers mit jedem PR zuzulassen. Daher wird die Ausführung standardmäßig nur automatisch für Eigentümer und Mitarbeiter sein, und um den Trigger mit PRs anderer Benutzer auszuführen, muss ein Eigentümer oder Mitarbeiter kommentieren /gcbrun.

Wenn dies also auf Not required gesetzt ist, könnte ein Angreifer einen PR zum Branch durchführen, der die Ausführung auslöst, indem er die bösartige Codeausführung zur cloudbuild.yml-Datei hinzufügt und die Cloudbuild-Ausführung kompromittiert (beachte, dass cloudbuild den Code VON dem PR herunterladen wird, sodass es die bösartige cloudbuild.yml ausführen wird).

Darüber hinaus ist es einfach zu sehen, ob eine Cloudbuild-Ausführung durchgeführt werden muss, wenn du einen PR sendest, da sie in Github erscheint:

Selbst wenn der Cloudbuild nicht ausgeführt wird, wird der Angreifer in der Lage sein, den Projektnamen eines GCP-Projekts zu sehen, das zur Firma gehört.

Support HackTricks

Last updated