GCP - Run Privesc
Cloud Run
Cloud Run के बारे में अधिक जानकारी के लिए देखें:
GCP - Cloud Run Enumrun.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
run.services.create
, iam.serviceAccounts.actAs
, run.routes.invoke
एक हमलावर के पास मनमाने कोड को चलाने वाली एक रन सेवा बनाने (मनमाना Docker कंटेनर), इसे एक सेवा खाता संलग्न करने, और कोड को मेटाडेटा से सेवा खाता टोकन को निकालने की अनुमति है।
इस विधि के लिए एक एक्सप्लॉइट स्क्रिप्ट यहां मिल सकती है और Docker इमेज यहां मिल सकती है।
ध्यान दें कि जब gcloud run deploy
का उपयोग किया जाता है तो केवल सेवा बनाने के बजाय इसकी update
अनुमति की आवश्यकता होती है। एक उदाहरण यहां देखें।
run.services.update
, iam.serviceAccounts.actAs
run.services.update
, iam.serviceAccounts.actAs
पिछले वाले की तरह लेकिन एक सेवा को अपडेट करते हुए:
run.services.setIamPolicy
run.services.setIamPolicy
अपने आप को क्लाउड रन पर पिछले अनुमतियाँ दें।
run.jobs.create
, run.jobs.run
, iam.serviceaccounts.actAs
,(run.jobs.get
)
run.jobs.create
, run.jobs.run
, iam.serviceaccounts.actAs
,(run.jobs.get
)कमांड में निर्दिष्ट सेवा खाते को चुराने के लिए एक रिवर्स शेल के साथ एक नौकरी लॉन्च करें। आप यहां एक एक्सप्लॉइट पा सकते हैं.
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)
run.jobs.update
,run.jobs.run
,iam.serviceaccounts.actAs
,(run.jobs.get
)पिछले की तरह, एक नौकरी को अपडेट करना और SA को अपडेट करना संभव है, कमांड और इसे निष्पादित करना:
run.jobs.setIamPolicy
run.jobs.setIamPolicy
अपने लिए Cloud Jobs पर पिछले अनुमतियाँ दें।
References
Last updated