GCP Pentesting
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
GCP वातावरण का pentesting शुरू करने से पहले, कुछ बुनियादी बातें हैं जो आपको जाननी चाहिए कि यह कैसे काम करता है, ताकि आप समझ सकें कि आपको क्या करना है, गलत कॉन्फ़िगरेशन कैसे खोजें और उनका कैसे लाभ उठाएं।
संगठन पदानुक्रम, अनुमतियाँ और अन्य बुनियादी अवधारणाएँ इस में समझाई गई हैं:
GCP - Basic InformationGCP वातावरण का ऑडिट करने के लिए यह जानना बहुत महत्वपूर्ण है: कौन सी सेवाएँ उपयोग की जा रही हैं, क्या प्रदर्शित किया जा रहा है, किसके पास पहुँच है, और आंतरिक GCP सेवाएँ और बाहरी सेवाएँ कैसे जुड़ी हुई हैं।
Red Team के दृष्टिकोण से, GCP वातावरण को समझौता करने का पहला कदम कुछ क्रेडेंशियल्स प्राप्त करना है। यहाँ कुछ विचार दिए गए हैं कि आप ऐसा कैसे कर सकते हैं:
github (या समान) में लीक - OSINT
सामाजिक इंजीनियरिंग (पृष्ठ Workspace Security देखें)
पासवर्ड पुन: उपयोग (पासवर्ड लीक)
GCP-होस्टेड अनुप्रयोगों में कमजोरियाँ
Server Side Request Forgery जिसमें मेटाडेटा एंडपॉइंट तक पहुँच है
स्थानीय फ़ाइल पढ़ें
/home/USERNAME/.config/gcloud/*
C:\Users\USERNAME\.config\gcloud\*
3rd पार्टी भंग
आंतरिक कर्मचारी
या अप्रमाणित सेवा को समझौता करके:
GCP - Unauthenticated Enum & Accessया यदि आप एक समीक्षा कर रहे हैं तो आप बस क्रेडेंशियल्स के लिए पूछ सकते हैं इन भूमिकाओं के साथ:
GCP - Permissions for a Pentestएक बार जब आप क्रेडेंशियल्स प्राप्त करने में सफल हो जाते हैं, तो आपको यह जानने की आवश्यकता है कि ये क्रेडेंशियल्स किसके हैं, और इनके पास क्या पहुँच है, इसलिए आपको कुछ बुनियादी गणना करने की आवश्यकता है:
GCP मेटाडेटा को गणना करने के बारे में अधिक जानकारी के लिए निम्नलिखित हैक्ट्रिक्स पृष्ठ देखें:
GCP में आप यह जानने के लिए कई विकल्पों का प्रयास कर सकते हैं कि आप कौन हैं:
आप /userinfo
API एंडपॉइंट का उपयोग करके उपयोगकर्ता के बारे में अधिक जानकारी प्राप्त कर सकते हैं:
यदि आपके पास पर्याप्त अनुमतियाँ हैं, तो GCP खाते के अंदर प्रत्येक इकाई के विशेषाधिकारों की जांच करना आपको यह समझने में मदद करेगा कि आप और अन्य पहचान क्या कर सकते हैं और कैसे विशेषाधिकार बढ़ा सकते हैं।
यदि आपके पास IAM को सूचीबद्ध करने के लिए पर्याप्त अनुमतियाँ नहीं हैं, तो आप उन्हें ब्रूट-फोर्स करके चुरा सकते हैं। जांचें संख्यांकन और ब्रूट-फोर्सिंग कैसे करें:
GCP - IAM, Principals & Org Policies Enumअब जब आपके पास अपने क्रेडेंशियल्स के बारे में कुछ जानकारी है (और यदि आप एक रेड टीम हैं, तो उम्मीद है कि आप पता नहीं चले हैं)। यह पता लगाने का समय है कि वातावरण में कौन सी सेवाएँ उपयोग की जा रही हैं। अगले अनुभाग में आप कुछ सामान्य सेवाओं को सूचीबद्ध करने के कुछ तरीके देख सकते हैं।
GCP में सेवाओं की एक आश्चर्यजनक मात्रा है, अगले पृष्ठ पर आप बुनियादी जानकारी, सूचीकरण चिटशीट, पता लगाने से बचने के तरीके, स्थायीता प्राप्त करने और उनमें से कुछ के बारे में अन्य पोस्ट-एक्सप्लोइटेशन तरकीबें पाएंगे:
GCP - Servicesध्यान दें कि आपको सभी काम हाथ से करने की आवश्यकता नहीं है, इस पोस्ट के नीचे आप स्वचालित उपकरणों के बारे में एक अनुभाग पा सकते हैं।
इसके अलावा, इस चरण में आप असत्यापित उपयोगकर्ताओं के लिए अधिक सेवाएँ उजागर कर सकते हैं, आप उन्हें शोषण करने में सक्षम हो सकते हैं:
GCP - Unauthenticated Enum & Accessजब आपने कुछ क्लाउड क्रेडेंशियल्स प्राप्त कर लिए हैं या क्लाउड के अंदर चल रही कुछ सेवा को समझौता कर लिया है, तो सबसे सामान्य तरीका है गलत कॉन्फ़िगर की गई विशेषाधिकारों का दुरुपयोग करना जो समझौता किए गए खाते के पास हो सकते हैं। इसलिए, आपको जो पहला काम करना चाहिए वह है अपने विशेषाधिकारों की सूची बनाना।
इसके अलावा, इस सूचीकरण के दौरान, याद रखें कि अनुमतियाँ "संगठन" के उच्चतम स्तर पर सेट की जा सकती हैं।
GCP - Privilege EscalationGCP - Post ExploitationGCP - Persistenceजब आप GCP सेवाओं की सूची बना रहे होंगे, तो आप उनमें से कुछ को इंटरनेट पर तत्व उजागर करते हुए पा सकते हैं (VM/कंटेनर पोर्ट, डेटाबेस या कतार सेवाएँ, स्नैपशॉट या बाल्टियाँ...)। एक पेंटेस्टर/रेड टीमर के रूप में, आपको हमेशा यह जांचना चाहिए कि क्या आप उन पर संवेदनशील जानकारी / कमजोरियाँ पा सकते हैं क्योंकि वे आपको AWS खाते में आगे की पहुँच प्रदान कर सकते हैं।
इस पुस्तक में आपको जानकारी मिलेगी कि कैसे उजागर GCP सेवाओं को खोजें और उन्हें कैसे जांचें। उजागर नेटवर्क सेवाओं में कमजोरियों को खोजने के लिए, मैं आपको विशिष्ट सेवा के लिए खोजने की सिफारिश करूंगा:
एक प्लेटफ़ॉर्म में समझौता करना एक हमलावर को दूसरे को समझौता करने की अनुमति दे सकता है, इसे जांचें:
GCP <--> Workspace PivotingGCloud कंसोल में, https://console.cloud.google.com/iam-admin/asset-inventory/dashboard पर आप प्रोजेक्ट द्वारा उपयोग की जा रही संसाधनों और IAMs को देख सकते हैं।
यहाँ आप इस API द्वारा समर्थित संपत्तियों को देख सकते हैं: https://cloud.google.com/asset-inventory/docs/supported-asset-types
उपकरणों की जाँच करें जो यहाँ कई क्लाउड में उपयोग किए जा सकते हैं।
gcp_scanner: यह एक GCP संसाधन स्कैनर है जो यह निर्धारित करने में मदद कर सकता है कि किसी विशेष क्रेडेंशियल्स पर GCP पर किस स्तर की पहुँच है।
gcp_enum: GCP वातावरण को gcloud cli का उपयोग करके सूचीबद्ध करने और परिणामों को एक फ़ाइल में सहेजने के लिए Bash स्क्रिप्ट।
GCP-IAM-Privilege-Escalation: उच्च IAM विशेषाधिकारों को सूचीबद्ध करने और GCP में उनका दुरुपयोग करके विशेषाधिकारों को बढ़ाने के लिए स्क्रिप्ट (मैं सूचीबद्ध स्क्रिप्ट को चलाने में असमर्थ रहा)।
BF My GCP Permissions: आपके अनुमतियों को ब्रूटफोर्स करने के लिए स्क्रिप्ट।
याद रखें कि आप gcloud
cli के साथ --log-http
पैरामीटर का उपयोग कर सकते हैं ताकि उपकरण द्वारा किए जा रहे अनुरोधों को प्रिंट किया जा सके। यदि आप नहीं चाहते कि लॉग टोकन मान को छुपाएं, तो gcloud config set log_http_redact_token false
का उपयोग करें।
इसके अलावा, संचार को इंटरसेप्ट करने के लिए:
मेटाडेटा एंडपॉइंट से निकाले गए सेवा खाते के OAuth टोकन का उपयोग करने के लिए आप बस कर सकते हैं:
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)