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-Hosted अनुप्रयोगों में कमजोरियाँ
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: Bash स्क्रिप्ट जो gcloud cli का उपयोग करके GCP वातावरण को एन्यूमरेट करती है और परिणामों को एक फ़ाइल में सहेजती है।
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)