GCP - Privilege Escalation
GCP विशेषाधिकार उन्नयन का परिचय
GCP, जैसे कि कोई भी बादल, कुछ मूल सिद्धांत रखता है: उपयोगकर्ता, समूह और सेवा खाते, और कुछ संसाधन जैसे कंप्यूट इंजन, क्लाउड फंक्शन... फिर, भूमिकाओं के माध्यम से संसाधनों पर उन सिद्धांतों को प्रदान किया जाता है. यह GCP में संसाधन पर एक सिद्धांत के पास कितनी अनुमतियाँ हैं, इसे निर्धारित करने का तरीका है। कुछ ऐसी अनुमतियाँ हैं जो एक उपयोगकर्ता को संसाधन या तृतीय पक्ष संसाधनों पर और अधिक अनुमतियाँ प्राप्त करने की अनुमति देंगी, और उसे ही विशेषाधिकार उन्नयन कहा जाता है (और अधिक अनुमतियों को प्राप्त करने के लिए दोषों का शोधन करना।)
इसलिए, मैं GCP विशेषाधिकार उन्नयन तकनीकों को 2 समूहों में विभाजित करना चाहूंगा:
मुख्य सिद्धांत पर विशेषाधिकार: यह आपको एक अन्य सिद्धांत की अनुकरण करने की अनुमति देगा, और इसलिए उसके सभी अनुमतियों के साथ काम करने की अनुमति देगा। उदा।: सेवा खाते की अनुकरण करने के लिए getAccessToken का दुरुपयोग करें।
संसाधन पर विशेषाधिकार: यह आपको विशेष संसाधन पर अधिक अनुमतियाँ प्राप्त करने की अनुमति देगा। उदा।: आप setIamPolicy अनुमति का दुरुपयोग करके क्लाउड फंक्शन्स पर फ़ंक्शन को ट्रिगर करने की अनुमति प्राप्त कर सकते हैं।
ध्यान दें कि कुछ संसाधन अनुमतियाँ आपको संसाधन पर एक विचित्र सेवा खाता जोड़ने की भी अनुमति देंगी। इसका मतलब है कि आप एक सेवा खाते के साथ एक संसाधन लॉन्च कर सकेंगे, संसाधन में प्रवेश कर सकेंगे, और सेवा खाते टोकन चुरा सकेंगे। इसलिए, इससे एक सिद्धांत तक उन्नयन की अनुमति मिलेगी संसाधन उन्नयन के माध्यम से। यह पहले कई संसाधनों में हुआ था, लेकिन अब यह कम हो गया है (लेकिन फिर भी हो सकता है)।
स्वाभाविक रूप से, सबसे दिलचस्प विशेषाधिकार तकनीकें दूसरे समूह की हैं क्योंकि यह आपको पहले से ही अनुमतियों वाले संसाधनों के बाहर अधिक विशेषाधिकार प्राप्त करने की अनुमति देगी। हालांकि, ध्यान दें कि संसाधनों में उन्नयन आपको संवेदनशील जानकारी तक पहुंच सकता है या यहां तक कि अन्य सिद्धांतों तक (शायद किसी गुप्त सीमा को पढ़कर जो एक सेवा खाते का टोकन समाहित करता है)।
यह भी महत्वपूर्ण है कि GCP सेवा खाते एक सिद्धांत और अनुमतियाँ दोनों होते हैं, इसलिए एक सेवा खाते में विशेषाधिकार उन्नयन करने से आप उसकी अनुकरण भी कर सकते हैं।
आवश्यकता के बीच अनुमतियाँ उस अनुमति को दर्शाती हैं जिसकी आवश्यकता होती है ताकि gcloud
के माध्यम से दोष का शोधन किया जा सके। यदि इसे API के माध्यम से दोष का शोधन किया जा रहा हो तो वे आवश्यक नहीं हो सकतीं।
विशेषाधिकार उन्नयन विधि के लिए अनुमतियाँ
यह मैं विशिष्ट कार्रवाई करने के लिए विशेष अनुमतियों का परीक्षण कैसे करता हूं।
गिटहब रेपो https://github.com/carlospolop/gcp_privesc_scripts को डाउनलोड करें
नए स्क्रिप्ट को tests/ में जोड़ें
पहुंच स्कोप्स को छलकरना
GCP मेटाडेटा सेवा से लीक होने वाले SA के टोकन में पहुंच स्कोप्स होते हैं। ये अनुमतियों पर प्रतिबंध होते हैं जिनकी टोकन में है। उदाहरण के लिए, यदि टोकन में https://www.googleapis.com/auth/cloud-platform
स्कोप है, तो इसके पास सभी GCP सेवाओं का पूर्ण पहुंच होगा। हालांकि, यदि टोकन में https://www.googleapis.com/auth/cloud-platform.read-only
स्कोप है, तो इसके पास IAM में अधिक अनुमतियाँ होने के बावजूद, सभी GCP सेवाओं के लिए केवल केवल पढ़ने की पहुंच होगी।
इन अनुमतियों को छलकरने का सीधा तरीका नहीं है, लेकिन आप हमेशा संकटग्रस्त होस्ट में नए क्रेडेंशियल्स खोजने, सेवा कुंजी खोजने के लिए तत्काल टोकन उत्पन्न करने या कम प्रतिबंधित एक विभिन्न वीएम पर जाने की कोशिश कर सकते हैं।
जब पहुंच स्कोप्स का उपयोग किया जाता है, कंप्यूटिंग इंस्टेंस (वीएम) के लिए उत्पन्न ओआथ टोकन में एक स्कोप सीमा समावेशित होती है। हालांकि, आप इस सीमा को छलकरने और संकटग्रस्त खाते की अनुमतियों का शोधन करने में सक्षम हो सकते हैं।
इस प्रतिबंध को छलकरने का सबसे अच्छा तरीका या तो संकटग्रस्त होस्ट में नए क्रेडेंशियल्स खोजना है, तत्काल टोकन उत्पन्न करने के लिए सेवा कुंजी खोजना या कम प्रतिबंधित एक विभिन्न वीएम को संकटग्रस्त करना है।
कुंजी जनरेट किए गए SA के
विशेषाधिकार उन्नयन तकनीकें
AWS में अपने विशेषाधिकारों को उन्नत करने का तरीका यह है कि आपके पास पर्याप्त अनुमतियाँ होनी चाहिए ताकि आप किसी प्रकार से अन्य सेवा खाता/उपयोगकर्ता/समूहों के विशेषाधिकारों तक पहुंच सकें। विशेषाधिकारों को उन्नत करने तक चेनिंग उन्नयन करें जब तक आप संगठन पर प्रशासक उपयोग नहीं हो जाता।
GCP में सैकड़ों (यदि न हजारों) अनुमतियाँ हैं जो किसी एंटिटी को प्रदान की जा सकती हैं। इस पुस्तक में आपको सभी अनुमतियाँ मिल सकती हैं जिन्हें आप विशेषाधिकारों को उन्नत करने के लिए दुरुपयोग कर सकते हैं, लेकिन यदि आपको यहाँ उल्लिखित किसी मार्ग का ज्ञान है, तो कृपया इसे साझा करें।
इस खंड के उपपृष्ठ सेवाओं द्वारा क्रमबद्ध हैं। आप प्रत्येक सेवा पर विशेषाधिकारों को उन्नत करने के विभिन्न तरीके पा सकते हैं।
GCP का दुरुपयोग करके स्थानीय विशेषाधिकारों को उन्नत करना
यदि आप GCP में एक मशीन के अंदर हैं तो आप संभवतः अनुमतियों का दुरुपयोग करके विशेषाधिकारों को स्थानीय रूप से भी उन्नत कर सकते हैं:
pageGCP - local privilege escalation ssh pivotingसंदर्भ
Last updated