GCP - Run Privesc
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Für weitere Informationen zu Cloud Run siehe:
GCP - Cloud Run Enumrun.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
Ein Angreifer mit diesen Berechtigungen kann einen Run-Dienst erstellen, der beliebigen Code ausführt (beliebiges Docker-Container), ein Dienstkonto daran anhängen und den Code das Dienstkonto-Token aus den Metadaten exfiltrieren lassen.
Ein Exploit-Skript für diese Methode ist hier zu finden und das Docker-Image ist hier zu finden.
Beachte, dass beim Verwenden von gcloud run deploy
anstelle der bloßen Erstellung des Dienstes die Berechtigung update
benötigt wird. Überprüfe ein Beispiel hier.
run.services.update
, iam.serviceAccounts.actAs
Wie der vorherige, aber zum Aktualisieren eines Dienstes:
run.services.setIamPolicy
Geben Sie sich vorherige Berechtigungen über Cloud Run.
run.jobs.create
, run.jobs.run
, iam.serviceaccounts.actAs
,(run.jobs.get
)Starten Sie einen Job mit einer Reverse-Shell, um das im Befehl angegebene Dienstkonto zu stehlen. Sie finden einen Exploit hier.
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)Ähnlich wie beim vorherigen ist es möglich, einen Job zu aktualisieren und das SA zu aktualisieren, den Befehl und auszuführen:
run.jobs.setIamPolicy
Geben Sie sich die vorherigen Berechtigungen für Cloud-Jobs.
run.jobs.run
, run.jobs.runWithOverrides
, (run.jobs.get
)Missbrauchen Sie die Umgebungsvariablen einer Jobausführung, um beliebigen Code auszuführen und eine Reverse-Shell zu erhalten, um den Inhalt des Containers (Quellcode) zu dumpen und auf die SA in den Metadaten zuzugreifen:
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)