GCP - Run Privesc
Cloud Run
Cloud Run hakkında daha fazla bilgi için:
pageGCP - Cloud Run Enumrun.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
run.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
Bu izinlere sahip bir saldırgan, rastgele kod çalıştıran bir çalışma hizmeti oluşturabilir (rastgele Docker konteyneri), bir Hizmet Hesabını buna ekleyebilir ve kodun metadata'dan Hizmet Hesabı jetonunu dışarı çıkarmasını sağlayabilir.
Bu yöntem için bir saldırı betiği burada bulunabilir ve Docker imajı burada bulunabilir.
Sadece hizmet oluşturmak yerine gcloud run deploy
kullanırken update
iznine ihtiyaç duyar. Burada bir örnek kontrol edin.
run.services.update
, iam.serviceAccounts.actAs
run.services.update
, iam.serviceAccounts.actAs
Öncekine benzer, ancak bir hizmeti güncellerken:
run.services.setIamPolicy
run.services.setIamPolicy
Kendinize cloud Run üzerinde önceki izinleri verin.
run.jobs.create
, run.jobs.run
, (run.jobs.get
)
run.jobs.create
, run.jobs.run
, (run.jobs.get
)Komutta belirtilen hizmet hesabını çalmak için ters kabuklu bir işlem başlatın. Burada bir saldırı örneği bulabilirsiniz.
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)Öncekine benzer şekilde bir işi güncelleyebilir, hizmet hesabını güncelleyebilir, komutu ve çalıştırabilirsiniz:
run.jobs.setIamPolicy
run.jobs.setIamPolicy
Kendinize önceki izinleri Cloud Jobs üzerinde verin.
Referanslar
Last updated