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 mais informações sobre o Cloud Run, consulte:
run.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
Um atacante com essas permissões para criar um serviço de execução executando código arbitrário (container Docker arbitrário), anexar uma Conta de Serviço a ele e fazer o código exfiltrar o token da Conta de Serviço da metadata.
Um script de exploração para este método pode ser encontrado aqui e a imagem Docker pode ser encontrada aqui.
Observe que ao usar gcloud run deploy
em vez de apenas criar o serviço é necessária a permissão update
. Confira um exemplo aqui.
run.services.update
, iam.serviceAccounts.actAs
Como o anterior, mas atualizando um serviço:
run.services.setIamPolicy
Dê a si mesmo permissões anteriores sobre o Cloud Run.
run.jobs.create
, run.jobs.run
, iam.serviceaccounts.actAs
,(run.jobs.get
)Inicie um trabalho com um shell reverso para roubar a conta de serviço indicada no comando. Você pode encontrar um exploit aqui.
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)Semelhante ao anterior, é possível atualizar um trabalho e atualizar o SA, o comando e executá-lo:
run.jobs.setIamPolicy
Dê a si mesmo as permissões anteriores sobre Cloud Jobs.
run.jobs.run
, run.jobs.runWithOverrides
, (run.jobs.get
)Abuse as variáveis de ambiente de uma execução de job para executar código arbitrário e obter um shell reverso para despejar o conteúdo do contêiner (código-fonte) e acessar o SA dentro dos metadados:
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)