GCP - Storage Enum
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)
Google Cloud Platform (GCP) Storage एक क्लाउड-आधारित स्टोरेज समाधान है जो असंरचित डेटा के लिए अत्यधिक टिकाऊ और उपलब्ध वस्तु भंडारण प्रदान करता है। यह प्रदर्शन, उपलब्धता और लागत के आधार पर विभिन्न स्टोरेज क्लासेस प्रदान करता है, जिसमें Standard, Nearline, Coldline, और Archive शामिल हैं। GCP Storage उन्नत सुविधाएँ भी प्रदान करता है जैसे कि लाइफसाइकिल नीतियाँ, संस्करणन, और एक्सेस नियंत्रण ताकि डेटा को प्रभावी ढंग से प्रबंधित और सुरक्षित किया जा सके।
बकेट को एक क्षेत्र, 2 क्षेत्रों या मल्टी-क्षेत्र (डिफ़ॉल्ट) में संग्रहीत किया जा सकता है।
Standard Storage: यह डिफ़ॉल्ट स्टोरेज विकल्प है जो बार-बार एक्सेस किए गए डेटा के लिए उच्च-प्रदर्शन, कम-लेटेंसी एक्सेस प्रदान करता है। यह वेबसाइट सामग्री, मीडिया स्ट्रीमिंग, और डेटा एनालिटिक्स पाइपलाइनों की मेज़बानी सहित कई उपयोग मामलों के लिए उपयुक्त है।
Nearline Storage: यह स्टोरेज क्लास कम स्टोरेज लागत और थोड़ी अधिक एक्सेस लागत प्रदान करता है। यह कम बार एक्सेस किए गए डेटा के लिए अनुकूलित है, जिसमें न्यूनतम स्टोरेज अवधि 30 दिन है। यह बैकअप और आर्काइव के उद्देश्यों के लिए आदर्श है।
Coldline Storage: यह स्टोरेज क्लास कम बार एक्सेस किए गए डेटा के दीर्घकालिक भंडारण के लिए अनुकूलित है, जिसमें न्यूनतम स्टोरेज अवधि 90 दिन है। यह Nearline Storage की तुलना में कम स्टोरेज लागत प्रदान करता है, लेकिन उच्च एक्सेस लागत के साथ।
Archive Storage: यह स्टोरेज क्लास ठंडी डेटा के लिए डिज़ाइन किया गया है जिसे बहुत कम बार एक्सेस किया जाता है, जिसमें न्यूनतम स्टोरेज अवधि 365 दिन है। यह सभी GCP स्टोरेज विकल्पों में सबसे कम स्टोरेज लागत प्रदान करता है लेकिन सबसे अधिक एक्सेस लागत के साथ। यह डेटा के दीर्घकालिक संरक्षण के लिए उपयुक्त है जिसे अनुपालन या नियामक कारणों से संग्रहीत करने की आवश्यकता होती है।
Autoclass: यदि आप नहीं जानते कि आप डेटा को कितना एक्सेस करने वाले हैं तो आप Autoclass का चयन कर सकते हैं और GCP स्वचालित रूप से आपके लिए स्टोरेज के प्रकार को बदल देगा ताकि लागत को कम किया जा सके।
डिफ़ॉल्ट रूप से, एक्सेस को IAM के माध्यम से नियंत्रित करने की सिफारिश की जाती है, लेकिन ACLs के उपयोग को सक्षम करना भी संभव है। यदि आप केवल IAM (डिफ़ॉल्ट) का उपयोग करने का चयन करते हैं और 90 दिन बीत जाते हैं, तो आप बकेट के लिए ACLs को सक्षम नहीं कर पाएंगे।
संस्करणन को सक्षम करना संभव है, यह बकेट के अंदर फ़ाइल के पुराने संस्करणों को सहेजता है। यह आपके द्वारा बनाए रखने के लिए संस्करणों की संख्या को कॉन्फ़िगर करना संभव है और यहां तक कि आप कितने समय तक गैर-प्रचलित संस्करणों (पुराने संस्करणों) को जीवित रखना चाहते हैं। Standard प्रकार के लिए 7 दिन की सिफारिश की जाती है।
गैर-प्रचलित संस्करण का मेटाडेटा रखा जाता है। इसके अलावा, गैर-प्रचलित संस्करणों के ACLs भी रखे जाते हैं, इसलिए पुराने संस्करणों के वर्तमान संस्करण से अलग ACLs हो सकते हैं।
docs में अधिक जानें।
यह बताएं कि आप कितने समय तक बकेट के अंदर वस्तुओं के हटाने पर प्रतिबंध लगाना चाहते हैं (कम से कम अनुपालन के लिए बहुत उपयोगी)। संस्करणन या रिटेंशन नीति में से केवल एक को एक ही समय में सक्षम किया जा सकता है।
डिफ़ॉल्ट रूप से वस्तुएं Google प्रबंधित कुंजियों का उपयोग करके एन्क्रिप्ट की जाती हैं, लेकिन आप KMS से एक कुंजी का उपयोग भी कर सकते हैं।
यह बाहरी उपयोगकर्ताओं (GCP में लॉग इन किए हुए या नहीं) को बकेट की सामग्री तक पहुँच प्रदान करना संभव है। डिफ़ॉल्ट रूप से, जब एक बकेट बनाया जाता है, तो इसमें सार्वजनिक रूप से उजागर करने का विकल्प बंद होगा, लेकिन पर्याप्त अनुमतियों के साथ इसे बदला जा सकता है।
बकेट तक पहुँचने के लिए URL का प्रारूप है https://storage.googleapis.com/<bucket-name>
या https://<bucket_name>.storage.googleapis.com
(दोनों मान्य हैं)।
HMAC कुंजी एक प्रकार की क्रेडेंशियल है और इसे Cloud Storage में एक सेवा खाते या उपयोगकर्ता खाते के साथ जोड़ा जा सकता है। आप HMAC कुंजी का उपयोग हस्ताक्षर बनाने के लिए करते हैं जो फिर Cloud Storage के लिए अनुरोधों में शामिल होते हैं। हस्ताक्षर दिखाते हैं कि दिया गया अनुरोध उपयोगकर्ता या सेवा खाते द्वारा अधिकृत है।
HMAC कुंजी में दो मुख्य भाग होते हैं, एक एक्सेस आईडी और एक गुप्त।
Access ID: एक अल्फ़ान्यूमेरिक स्ट्रिंग जो एक विशिष्ट सेवा या उपयोगकर्ता खाते से जुड़ी होती है। जब इसे सेवा खाते से जोड़ा जाता है, तो स्ट्रिंग की लंबाई 61 वर्ण होती है, और जब इसे उपयोगकर्ता खाते से जोड़ा जाता है, तो स्ट्रिंग की लंबाई 24 वर्ण होती है। निम्नलिखित एक एक्सेस आईडी का उदाहरण दिखाता है:
GOOGTS7C7FUP3AIRVJTE2BCDKINBTES3HC2GY5CBFJDCQ2SYHV6A6XXVTJFSA
Secret: एक 40-वर्ण का Base-64 एन्कोडेड स्ट्रिंग जो एक विशिष्ट एक्सेस आईडी से जुड़ी होती है। एक गुप्त एक पूर्व-शेयर की गई कुंजी है जिसे केवल आप और Cloud Storage जानते हैं। आप अपने गुप्त का उपयोग हस्ताक्षर बनाने के लिए करते हैं जो प्रमाणीकरण प्रक्रिया का हिस्सा होते हैं। निम्नलिखित एक गुप्त का उदाहरण दिखाता है:
bGoa+V7g/yqDXvKRqq+JTFn4uQZbPiQJo4pf9RzJ
दोनों एक्सेस आईडी और गुप्त एक HMAC कुंजी की अद्वितीय पहचान करते हैं, लेकिन गुप्त बहुत अधिक संवेदनशील जानकारी है, क्योंकि इसका उपयोग हस्ताक्षर बनाने के लिए किया जाता है।
यदि आपको बाल्टियों की सूची बनाते समय अनुमति अस्वीकृत त्रुटि मिलती है, तो भी आपके पास सामग्री तक पहुंच हो सकती है। तो, अब जब आप बाल्टियों के नाम के नियम के बारे में जानते हैं, तो आप संभावित नामों की एक सूची उत्पन्न कर सकते हैं और उन्हें एक्सेस करने की कोशिश कर सकते हैं:
With permissions storage.objects.list
और storage.objects.get
, आप बकेट से सभी फ़ोल्डरों और फ़ाइलों को सूचीबद्ध करने में सक्षम होना चाहिए ताकि आप उन्हें डाउनलोड कर सकें। आप इसे इस Python स्क्रिप्ट के साथ प्राप्त कर सकते हैं:
अगली पृष्ठ पर आप देख सकते हैं कि कैसे स्टोरेज अनुमतियों का दुरुपयोग करके विशेषाधिकार बढ़ाए जाएं:
GCP - Storage PrivescAWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)