GCP - Run Privesc
Cloud Run
Cloud Run के बारे में अधिक जानकारी के लिए देखें:
pageGCP - 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
अपने आप को पिछले अनुमतियाँ दें Cloud Run पर।
run.jobs.create
, run.jobs.run
, (run.jobs.get
)
run.jobs.create
, run.jobs.run
, (run.jobs.get
)एक जॉब लॉन्च करें जिसमें एक रिवर्स शेल हो ताकि आदेश में दिखाए गए सर्विस अकाउंट की चोरी की जा सके। आप यहाँ एक exploit यहाँ पा सकते हैं.
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 पर पिछली अनुमतियाँ अपने आप को दें।
संदर्भ
Last updated