GCP - Cloudbuild Privesc
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen zu Cloud Build siehe:
GCP - Cloud Build Enumcloudbuild.builds.create
Mit dieser Berechtigung können Sie einen Cloud-Build einreichen. Die Cloudbuild-Maschine hat standardmäßig im Dateisystem einen Token des Cloudbuild-Servicekontos: <PROJECT_NUMBER>@cloudbuild.gserviceaccount.com
. Sie können jedoch jedes Servicekonto innerhalb des Projekts in der Cloudbuild-Konfiguration angeben.
Daher können Sie die Maschine einfach dazu bringen, den Token an Ihren Server zu exfiltrieren oder eine Reverse-Shell darin zu erhalten und sich den Token zu holen (die Datei, die den Token enthält, könnte sich ändern).
Sie finden das ursprüngliche Exploit-Skript hier auf GitHub (aber der Ort, von dem der Token abgerufen wird, hat bei mir nicht funktioniert). Überprüfen Sie daher ein Skript zur Automatisierung der Erstellung, Ausnutzung und Bereinigung einer verwundbaren Umgebung hier und ein Python-Skript, um eine Reverse-Shell innerhalb der Cloudbuild-Maschine zu erhalten und es hier zu stehlen (im Code finden Sie, wie Sie andere Servicekonten angeben können).
Für eine detailliertere Erklärung besuchen Sie https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/
cloudbuild.builds.update
Potenziell können Sie mit dieser Berechtigung einen Cloud-Build aktualisieren und einfach den Token des Servicekontos stehlen, wie es mit der vorherigen Berechtigung durchgeführt wurde (aber leider konnte ich zum Zeitpunkt des Schreibens keinen Weg finden, diese API aufzurufen).
TODO
cloudbuild.repositories.accessReadToken
Mit dieser Berechtigung kann der Benutzer den Lesezugriffstoken abrufen, der verwendet wird, um auf das Repository zuzugreifen:
cloudbuild.repositories.accessReadWriteToken
Mit dieser Berechtigung kann der Benutzer das Lese- und Schreibzugriffstoken abrufen, das zum Zugriff auf das Repository verwendet wird:
cloudbuild.connections.fetchLinkableRepositories
Mit dieser Berechtigung können Sie die Repos abrufen, auf die die Verbindung Zugriff hat:
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)