GCP Pentesting
Basic Information
GCP वातावरण का pentesting शुरू करने से पहले, कुछ बुनियादी बातें हैं जो आपको जाननी चाहिए कि यह कैसे काम करता है, ताकि आप समझ सकें कि आपको क्या करना है, कैसे गलत कॉन्फ़िगरेशन खोजें और उन्हें कैसे भुनाएं।
संगठन पदानुक्रम, अनुमतियाँ और अन्य बुनियादी अवधारणाएँ इस में समझाई गई हैं:
Labs to learn
GCP Pentester/Red Team Methodology
GCP वातावरण का ऑडिट करने के लिए यह जानना बहुत महत्वपूर्ण है: कौन सी सेवाएँ उपयोग की जा रही हैं, क्या प्रकट किया जा रहा है, किसके पास पहुँच है, और आंतरिक GCP सेवाएँ और बाहरी सेवाएँ कैसे जुड़ी हुई हैं।
Red Team के दृष्टिकोण से, GCP वातावरण को समझौता करने का पहला कदम कुछ क्रेडेंशियल्स प्राप्त करना है। यहाँ कुछ विचार दिए गए हैं कि आप ऐसा कैसे कर सकते हैं:
github (या समान) में लीक - OSINT
सामाजिक इंजीनियरिंग (पृष्ठ देखें Workspace Security)
पासवर्ड पुन: उपयोग (पासवर्ड लीक)
GCP-Hosted Applications में कमजोरियाँ
Server Side Request Forgery जिसमें मेटाडेटा एंडपॉइंट तक पहुँच है
स्थानीय फ़ाइल पढ़ें
/home/USERNAME/.config/gcloud/*
C:\Users\USERNAME\.config\gcloud\*
3rd पार्टियों के भंग
आंतरिक कर्मचारी
या अप्रमाणित सेवा को समझौता करके जो प्रकट है:
या यदि आप एक समीक्षा कर रहे हैं तो आप बस इन भूमिकाओं के साथ क्रेडेंशियल्स मांग सकते हैं:
एक बार जब आप क्रेडेंशियल्स प्राप्त करने में सफल हो जाते हैं, तो आपको यह जानने की आवश्यकता है कि ये क्रेडेंशियल्स किसके हैं, और इनके पास क्या पहुँच है, इसलिए आपको कुछ बुनियादी एन्यूमरेशन करना होगा:
Basic Enumeration
SSRF
GCP मेटाडेटा को एन्यूमरेट करने के बारे में अधिक जानकारी के लिए निम्नलिखित हैक्ट्रिक्स पृष्ठ देखें:
Whoami
GCP में आप यह जानने के लिए कई विकल्प आजमा सकते हैं कि आप कौन हैं:
आप उपयोगकर्ता के बारे में अधिक जानकारी प्राप्त करने के लिए API एंडपॉइंट /userinfo
का भी उपयोग कर सकते हैं:
संगठन गणना
Principals & IAM Enumeration
यदि आपके पास पर्याप्त अनुमतियाँ हैं, तो GCP खाते के अंदर प्रत्येक इकाई के विशेषाधिकारों की जांच करना आपको यह समझने में मदद करेगा कि आप और अन्य पहचान क्या कर सकते हैं और कैसे विशेषाधिकार बढ़ा सकते हैं।
यदि आपके पास IAM को सूचीबद्ध करने के लिए पर्याप्त अनुमतियाँ नहीं हैं, तो आप उन्हें ब्रूट-फोर्स करके चुरा सकते हैं। जांचें संख्यांकन और ब्रूट-फोर्सिंग कैसे करें:
अब जब आपके पास अपने क्रेडेंशियल्स के बारे में कुछ जानकारी है (और यदि आप एक रेड टीम हैं, तो उम्मीद है कि आप पता नहीं चले हैं)। यह पता लगाने का समय है कि वातावरण में कौन सी सेवाएँ उपयोग की जा रही हैं। अगले अनुभाग में आप कुछ सामान्य सेवाओं को सूचीबद्ध करने के कुछ तरीके देख सकते हैं।
Services Enumeration
GCP में सेवाओं की एक आश्चर्यजनक मात्रा है, अगले पृष्ठ पर आप बुनियादी जानकारी, सूचीकरण चीटशीट, पता लगाने से बचने के तरीके, स्थायीता प्राप्त करने और उनमें से कुछ के बारे में अन्य पोस्ट-एक्सप्लोइटेशन तरकीबें पाएंगे:
ध्यान दें कि आपको सभी कार्य हाथ से करने की आवश्यकता नहीं है, इस पोस्ट के नीचे आप स्वचालित उपकरणों के बारे में एक अनुभाग पा सकते हैं।
इसके अलावा, इस चरण में आप असत्यापित उपयोगकर्ताओं के लिए अधिक सेवाएँ उजागर कर सकते हैं, आप उन्हें शोषण करने में सक्षम हो सकते हैं:
Privilege Escalation, Post Exploitation & Persistence
जब आपने कुछ क्लाउड क्रेडेंशियल्स प्राप्त कर लिए हैं या क्लाउड के अंदर चल रही कुछ सेवा को समझौता कर लिया है, तो सबसे सामान्य तरीका है गलत कॉन्फ़िगर की गई विशेषाधिकारों का दुरुपयोग करना जो समझौता किए गए खाते के पास हो सकते हैं। इसलिए, आपको जो पहला काम करना चाहिए वह है अपने विशेषाधिकारों की सूची बनाना।
इसके अलावा, इस सूचीकरण के दौरान, याद रखें कि अनुमतियाँ "संगठन" के उच्चतम स्तर पर सेट की जा सकती हैं।
Publicly Exposed Services
जब आप GCP सेवाओं की सूची बना रहे होंगे, तो आप उनमें से कुछ को इंटरनेट पर तत्व उजागर करते हुए पा सकते हैं (VM/कंटेनर पोर्ट, डेटाबेस या कतार सेवाएँ, स्नैपशॉट या बकेट...)। एक पेंटेस्टर/रेड टीमर के रूप में, आपको हमेशा यह जांचना चाहिए कि क्या आप उन पर संवेदनशील जानकारी / कमजोरियों को खोज सकते हैं क्योंकि वे आपको AWS खाते में आगे की पहुँच प्रदान कर सकते हैं।
इस पुस्तक में आपको जानकारी मिलेगी कि कैसे उजागर GCP सेवाओं को खोजें और उन्हें कैसे जांचें। उजागर नेटवर्क सेवाओं में कमजोरियों को खोजने के लिए, मैं आपको विशिष्ट सेवा के लिए खोजने की सिफारिश करूंगा:
GCP <--> Workspace Pivoting
एक प्लेटफ़ॉर्म में समझौता करना एक हमलावर को दूसरे को समझौता करने की अनुमति दे सकता है, इसे जांचें:
Automatic Tools
GCloud कंसोल में, 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 config & debug
Capture gcloud, gsutil... network
याद रखें कि आप gcloud
cli के साथ --log-http
पैरामीटर का उपयोग कर सकते हैं ताकि उपकरण द्वारा किए जा रहे अनुरोधों को प्रिंट किया जा सके। यदि आप नहीं चाहते कि लॉग टोकन मान को छुपाएं, तो gcloud config set log_http_redact_token false
का उपयोग करें।
इसके अलावा, संचार को इंटरसेप्ट करने के लिए:
OAuth टोकन gcloud में कॉन्फ़िगर करें
मेटाडेटा एंडपॉइंट से निकाले गए सेवा खाते के OAuth टोकन का उपयोग करने के लिए आप बस कर सकते हैं:
संदर्भ
Last updated