GCP - Run Privesc
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)
Pour plus d'informations sur Cloud Run, consultez :
GCP - Cloud Run Enumrun.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
Un attaquant avec ces permissions pour créer un service run exécutant du code arbitraire (conteneur Docker arbitraire), attacher un compte de service à celui-ci, et faire en sorte que le code exfiltre le jeton du compte de service depuis les métadonnées.
Un script d'exploitation pour cette méthode peut être trouvé ici et l'image Docker peut être trouvée ici.
Notez que lors de l'utilisation de gcloud run deploy
au lieu de simplement créer le service, il nécessite la permission update
. Consultez un exemple ici.
run.services.update
, iam.serviceAccounts.actAs
Comme le précédent mais en mettant à jour un service :
run.services.setIamPolicy
Donnez-vous des autorisations précédentes sur Cloud Run.
run.jobs.create
, run.jobs.run
, iam.serviceaccounts.actAs
,(run.jobs.get
)Lancez un job avec un shell inversé pour voler le compte de service indiqué dans la commande. Vous pouvez trouver un exploit ici.
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)Semblable à la précédente, il est possible de mettre à jour un job et de mettre à jour le SA, la commande et de l'exécuter :
run.jobs.setIamPolicy
Donnez-vous les autorisations précédentes sur les Cloud Jobs.
run.jobs.run
, run.jobs.runWithOverrides
, (run.jobs.get
)Abusez des variables d'environnement d'une exécution de job pour exécuter du code arbitraire et obtenir un shell inversé pour extraire le contenu du conteneur (code source) et accéder au SA à l'intérieur des métadonnées :
Apprenez et pratiquez le hacking AWS :HackTricks Formation Expert Red Team AWS (ARTE) Apprenez et pratiquez le hacking GCP : HackTricks Formation Expert Red Team GCP (GRTE)