GCP Pentesting
मौलिक जानकारी
GCP माहौल की पेंटेस्टिंग शुरू करने से पहले, आपको कुछ मौलिक चीजें पता होनी चाहिए कि यह कैसे काम करता है ताकि आपको समझ में आए कि आपको क्या करना है, मिसकॉन्फिगरेशन कैसे खोजना है और उन्हें कैसे शातिरी से उपयोग करना है।
संगठन व्यवस्था, अनुमतियाँ और अन्य मौलिक अवधारणाएँ निम्नलिखित में स्पष्ट की गई हैं:
pageGCP - Basic Informationसीखने के लिए लैब्स
GCP पेंटेस्टर/रेड टीम मेथडोलॉजी
GCP माहौल की मान्यता करने के लिए बहुत महत्वपूर्ण है कि आप जानें: कौन सी सेवाएं उपयोग की जा रही हैं, क्या उजागर किया जा रहा है, किसके पास क्या पहुंच है, और आंतरिक GCP सेवाएं और बाह्य सेवाएं कैसे जुड़ी हैं।
रेड टीम के दृष्टिकोण से, GCP माहौल को कंप्रमाइज करने का पहला कदम कुछ क्रेडेंशियल्स प्राप्त करना है। यहाँ आपको इसे कैसे करने के विचार हैं:
github में लीक (या समान) - OSINT
सोशल इंजीनियरिंग (पृष्ठ Workspace Security देखें)
पासवर्ड पुनः उपयोग (पासवर्ड लीक)
GCP-होस्टेड एप्लिकेशन में वंशवाद
सर्वर साइड रिक्वेस्ट फॉर्जरी मेटाडेटा एंडपॉइंट तक पहुंच
स्थानीय फ़ाइल पढ़ें
/home/USERNAME/.config/gcloud/*
C:\Users\USERNAME\.config\gcloud\*
3rd पार्टी उल्लंघित
आंतरिक कर्मचारी
या अप्रमाणित सेवा को कंप्रमाइज करके:
pageGCP - Unauthenticated Enum & Accessया अगर आप समीक्षा कर रहे हैं तो आप सिर्फ इन भूमिकाओं के साथ क्रेडेंशियल्स के लिए पूछ सकते हैं:
pageGCP - Permissions for a Pentestजब आपने क्रेडेंशियल्स प्राप्त कर लिए हैं, तो आपको यह जानने की आवश्यकता है कि वे किसके हैं, और उनके पास क्या पहुंच है, इसलिए आपको कुछ मौलिक गणना करनी होगी:
मौलिक गणना
SSRF
ज्यादा जानकारी के लिए कि GCP मेटाडेटा को गणना कैसे करें, निम्नलिखित है:
Whoami
GCP में आप कई विकल्प प्रयास कर सकते हैं कि आप कौन हैं यह जानने के लिए:
संगठन जांच
सिद्धांत और IAM जांच
यदि आपके पास पर्याप्त अनुमतियाँ हैं, GCP खाते के अंदर प्रत्येक एंटिटी की विशेषाधिकारों की जांच करना आपको समझने में मदद करेगा कि आप और अन्य पहचान क्या कर सकते हैं और कैसे विशेषाधिकारों को उन्नत करें।
यदि आपके पास IAM को जांचने के लिए पर्याप्त अनुमतियाँ नहीं हैं, तो आप उन्हें ब्रूट-फोर्स करके उन्हें समझने के लिए चोरी कर सकते हैं। जांचें कैसे नामांकन और ब्रूट-फोर्सिंग करें:
pageGCP - IAM, Principals & Org Policies Enumअब जब आपके पास अपने प्रमाणों के बारे में कुछ जानकारी है (और यदि आप एक लाल टीम हैं तो आशा है कि आपको पहचाना नहीं गया है।) तो समय है कि आप जांचें कि वातावरण में कौन सी सेवाएं उपयोग की जा रही हैं। निम्नलिखित खंड में आप कुछ सामान्य सेवाओं का नामांकन करने के कुछ तरीके जांच सकते हैं।
सेवाओं का नामांकन
GCP में एक चौंकाने वाली मात्रा में सेवाएं हैं, निम्नलिखित पृष्ठ में आपको मौलिक जानकारी, नामांकन चीटशीट, पहचान से बचने के तरीके, स्थिरता प्राप्त करने, और अन्य पोस्ट-एक्सप्लोइटेशन ट्रिक्स के बारे में कुछ जानकारी मिलेगी:
pageGCP - Servicesध्यान दें कि आपको सभी काम को मैन्युअल नहीं करने की आवश्यकता नहीं है, इस पोस्ट के नीचे आपको स्वचालित उपकरणों के बारे में एक खंड मिलेगा।
इसके अतिरिक्त, इस चरण में आपने अनधिकृत उपयोगकर्ताओं के लिए अधिक सेवाएं खोज ली हो सकती हैं, आप उन्हें उत्पीड़ित कर सकते हैं:
pageGCP - Unauthenticated Enum & Accessविशेषाधिकार उन्नति, पोस्ट एक्सप्लोइटेशन और स्थिरता
एक बार जब आपने कुछ क्लाउड प्रमाणपत्र प्राप्त कर लिए हो या क्लाउड के अंदर चल रही कुछ सेवा को कंप्रोमाइज़ कर लिया हो, सबसे सामान्य तरीका है कि आप उसके द्वारा अभिग्रहीत खाते की गलत विशेषाधिकारों का दुरुपयोग करें। इसलिए, पहली चीज जो आपको करनी चाहिए वह है कि आप अपनी विशेषाधिकारों का नामांकन करें।
इस नामांकन के दौरान, ध्यान दें कि अनुमतियाँ "संगठन" के सबसे उच्च स्तर पर सेट की जा सकती हैं भी।
pageGCP - Privilege EscalationpageGCP - Post ExploitationpageGCP - Persistenceसार्वजनिक रूप से उजागर सेवाएं
GCP सेवाओं को नामांकन करते समय आपने कुछ सेवाओं को पाया होगा इंटरनेट पर तत्वों को उजागर करने वाले (VM/कंटेनर पोर्ट, डेटाबेस या कतार सेवाएं, स्नैपशॉट या बकेट...). पेंटेस्टर/रेड टीमर के रूप में आपको हमेशा यह जांचना चाहिए कि क्या आपको उनमें संवेदनशील जानकारी / कमियों मिलती है क्योंकि वे आपको AWS खाते में आगे की पहुंच प्रदान कर सकते हैं।
इस पुस्तक में आपको मिलेगी जानकारी कि उजागर GCP सेवाएं कैसे खोजें और उन्हें कैसे जांचें। उजागर नेटवर्क सेवाओं में कमियों कैसे खोजें के बारे में मैं आपको सिफारिश करूंगा कि आप विशिष्ट सेवा के लिए खोजें:
GCP <--> Workspace Pivoting
एक प्लेटफॉर्म में सिद्धांतों को कंप्रोमाइज़ करने से हमलावर को दूसरे प्लेटफॉर्म को कंप्रोमाइज़ करने की अनुमति हो सकती है, इसे जांचें:
pageGCP <--> Workspace Pivotingस्वचालित उपकरण
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-IAM-Privilege-Escalation: उच्च आईएएम विशेषाधिकारों की जाँच करने और उन्हें उच्चाधिकार देने के लिए स्क्रिप्ट: जीसीपी में उनका दुरुपयोग करते हुए (मैं जाँच स्क्रिप्ट को चलाने में सक्षम नहीं हो सका)।
जीक्लाउड कॉन्फ़िग और डीबग
कैप्चर gcloud, gsutil... नेटवर्क
ध्यान रखें कि आप gcloud
cli के साथ --log-http
पैरामीटर का उपयोग कर सकते हैं ताकि उपकरण द्वारा किए जा रहे रिक्वेस्ट्स को प्रिंट किया जा सके। यदि आप चाहते हैं कि लॉग्स में टोकन मान को रेडैक्ट न किया जाए, तो gcloud config set log_http_redact_token false
का उपयोग करें।
इसके अतिरिक्त, संचार को आंतरदृष्टि से देखने के लिए:
gcloud में OAuth टोकन कॉन्फ़िगर करें
मेटाडेटा एंडपॉइंट से एक्सफिल्ट्रेटेड सर्विस अकाउंट OAuth टोकन का उपयोग करने के लिए आप बस यह कर सकते हैं:
संदर्भ
Last updated