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)
Para más información sobre Cloud Run, consulta:
run.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
Un atacante con estos permisos para crear un servicio de ejecución que ejecute código arbitrario (contenedor Docker arbitrario), adjuntar una Cuenta de Servicio a él y hacer que el código exfiltre el token de la Cuenta de Servicio de los metadatos.
Un script de explotación para este método se puede encontrar aquí y la imagen de Docker se puede encontrar aquí.
Ten en cuenta que al usar gcloud run deploy
en lugar de solo crear el servicio necesita el permiso update
. Consulta un ejemplo aquí.
run.services.update
, iam.serviceAccounts.actAs
Como el anterior, pero actualizando un servicio:
run.services.setIamPolicy
Otórgate permisos previos sobre Cloud Run.
run.jobs.create
, run.jobs.run
, iam.serviceaccounts.actAs
,(run.jobs.get
)Lanza un trabajo con un shell inverso para robar la cuenta de servicio indicada en el comando. Puedes encontrar un exploit aquí.
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)Similar al anterior, es posible actualizar un trabajo y actualizar el SA, el comando y ejecutarlo:
run.jobs.setIamPolicy
Otórgate los permisos anteriores sobre Cloud Jobs.
run.jobs.run
, run.jobs.runWithOverrides
, (run.jobs.get
)Abusa de las variables de entorno de una ejecución de trabajo para ejecutar código arbitrario y obtener un shell inverso para volcar el contenido del contenedor (código fuente) y acceder al SA dentro de los metadatos:
Aprende y practica Hacking en AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprende y practica Hacking en GCP: HackTricks Training GCP Red Team Expert (GRTE)