GCP - Public Buckets Privilege Escalation

Support HackTricks

Buckets Privilege Escalation

यदि बकेट नीति ने “allUsers” या “allAuthenticatedUsers” को अपनी बकेट नीति में लिखने ( storage.buckets.setIamPolicy अनुमति)** की अनुमति दी,** तो कोई भी बकेट नीति को संशोधित कर सकता है और खुद को पूर्ण पहुंच दे सकता है।

Check Permissions

बकेट पर अनुमतियों की जांच करने के 2 तरीके हैं। पहला तरीका है https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam पर अनुरोध करके या gsutil iam get gs://BUCKET_NAME चलाकर उन्हें मांगना।

हालांकि, यदि आपके उपयोगकर्ता (संभवतः allUsers या allAuthenticatedUsers से संबंधित) के पास बकेट की iam नीति (storage.buckets.getIamPolicy) को पढ़ने की अनुमति नहीं है, तो यह काम नहीं करेगा।

दूसरा विकल्प जो हमेशा काम करेगा वह है बकेट के testPermissions एंडपॉइंट का उपयोग करना यह पता लगाने के लिए कि क्या आपके पास निर्दिष्ट अनुमति है, उदाहरण के लिए: https://www.googleapis.com/storage/v1/b/BUCKET_NAME/iam/testPermissions?permissions=storage.buckets.delete&permissions=storage.buckets.get&permissions=storage.buckets.getIamPolicy&permissions=storage.buckets.setIamPolicy&permissions=storage.buckets.update&permissions=storage.objects.create&permissions=storage.objects.delete&permissions=storage.objects.get&permissions=storage.objects.list&permissions=storage.objects.update

Escalating

Storage Admin को allAuthenticatedUsers को देने के लिए, इसे चलाना संभव है:

gsutil iam ch allAuthenticatedUsers:admin gs://BUCKET_NAME

एक और हमला होगा बकेट को हटाना और इसे अपने खाते में फिर से बनाना ताकि स्वामित्व चुराया जा सके

संदर्भ

Support HackTricks

Last updated