GCP - Compute 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)
इसमें यह कैसे काम करता है के बारे में जानें:
GCP - VPC & Networkingआप आसानी से खुले फ़ायरवॉल नियमों के साथ कंप्यूट इंस्टेंस ढूंढ सकते हैं https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum
यह वह तरीका है जिससे आप GCP के अंदर वर्चुअल मशीनें चला सकते हैं। अधिक जानकारी के लिए इस पृष्ठ की जांच करें:
GCP - Compute InstancesFor more information about how to SSH or modify the metadata of an instance to escalate privileges, check this page:
GCP - local privilege escalation ssh pivotingIn the following page, you can check how to abuse compute permissions to escalate privileges:
GCP - Compute PrivescCompute Engine Serial Console Logs एक फीचर है जो आपको अपने वर्चुअल मशीन इंस्टेंस के बूट और ऑपरेटिंग सिस्टम लॉग्स को देखने और निदान करने की अनुमति देता है।
Serial Console Logs इंस्टेंस के बूट प्रक्रिया का एक निम्न-स्तरीय दृश्य प्रदान करते हैं, जिसमें कर्नेल संदेश, इनिट स्क्रिप्ट, और अन्य सिस्टम घटनाएँ शामिल हैं जो बूट-अप के दौरान होती हैं। यह बूट समस्याओं को डिबग करने, गलत कॉन्फ़िगरेशन या सॉफ़्टवेयर त्रुटियों की पहचान करने, या नेटवर्क कनेक्टिविटी समस्याओं को हल करने के लिए उपयोगी हो सकता है।
ये लॉग संवेदनशील जानकारी को उजागर कर सकते हैं जो सिस्टम लॉग से होती है जिसे निम्न स्तर के उपयोगकर्ता आमतौर पर नहीं देख सकते, लेकिन उचित IAM अनुमतियों के साथ आप उन्हें पढ़ने में सक्षम हो सकते हैं।
आप निम्नलिखित gcloud command का उपयोग करके सीरियल पोर्ट लॉग्स को क्वेरी कर सकते हैं (आवश्यक अनुमति compute.instances.getSerialPortOutput
है):
यह संभव है कि स्टार्टअप स्क्रिप्ट्स का आउटपुट VM से देखा जा सके जो निष्पादित हो रहा है:
आप OS कॉन्फ़िगरेशन प्रबंधन सेवा का उपयोग करके अपने VM इंस्टेंस (VM) के लिए तैनात, क्वेरी और सुसंगत कॉन्फ़िगरेशन बनाए रख सकते हैं (इच्छित स्थिति और सॉफ़्टवेयर)। Compute Engine पर, आपको VM पर सुसंगत सॉफ़्टवेयर कॉन्फ़िगरेशन बनाए रखने के लिए गेस्ट नीतियों का उपयोग करना होगा।
OS कॉन्फ़िगरेशन प्रबंधन सुविधा आपको कॉन्फ़िगरेशन नीतियों को परिभाषित करने की अनुमति देती है जो यह निर्दिष्ट करती हैं कि कौन से सॉफ़्टवेयर पैकेज स्थापित किए जाने चाहिए, कौन से सेवाएँ सक्षम की जानी चाहिए, और आपके VMs पर कौन से फ़ाइलें या कॉन्फ़िगरेशन मौजूद होने चाहिए। आप अपने VMs के सॉफ़्टवेयर कॉन्फ़िगरेशन को प्रबंधित करने के लिए एक घोषणात्मक दृष्टिकोण का उपयोग कर सकते हैं, जो आपको अपने कॉन्फ़िगरेशन प्रबंधन प्रक्रिया को स्वचालित और स्केल करने में अधिक आसानी प्रदान करता है।
यह IAM अनुमतियों के माध्यम से इंस्टेंस में लॉगिन करने की भी अनुमति देता है, इसलिए यह प्रिवेस्क और पिवोटिंग के लिए बहुत उपयोगी है।
किसी पूरे प्रोजेक्ट या इंस्टेंस में os-config सक्षम करने के लिए आपको बस metadata कुंजी enable-oslogin
को true
पर सेट करने की आवश्यकता है।
इसके अलावा, आप 2fa सक्षम करने के लिए मेटाडेटा enable-oslogin-2fa
को true
पर सेट कर सकते हैं।
जब आप इसे एक इंस्टेंस बनाते समय सक्षम करते हैं, तो मेटाडेटा कुंजियाँ स्वचालित रूप से सेट की जाएंगी।
OS-config में 2fa के बारे में अधिक, यह केवल तब लागू होता है जब उपयोगकर्ता एक उपयोगकर्ता हो, यदि यह एक SA (जैसे कि कंप्यूट SA) है तो इसे कुछ अतिरिक्त की आवश्यकता नहीं होगी।
कस्टम कंप्यूट इमेज में संवेदनशील विवरण या अन्य कमजोर कॉन्फ़िगरेशन हो सकते हैं जिन्हें आप भेद्यता के लिए उपयोग कर सकते हैं।
जब एक इमेज बनाई जाती है, तो आप 3 प्रकार की एन्क्रिप्शन चुन सकते हैं: गूगल प्रबंधित कुंजी (डिफ़ॉल्ट), KMS से कुंजी, या क्लाइंट द्वारा दी गई कच्ची कुंजी।
आप निम्नलिखित कमांड के साथ एक प्रोजेक्ट में गैर-मानक इमेज की सूची पूछ सकते हैं:
आप फिर निर्यात वर्चुअल डिस्क को किसी भी छवि से कई प्रारूपों में कर सकते हैं। निम्नलिखित कमांड छवि test-image
को qcow2 प्रारूप में निर्यात करेगी, जिससे आप फ़ाइल डाउनलोड कर सकते हैं और आगे की जांच के लिए स्थानीय रूप से एक VM बना सकते हैं:
Compute Instances विशेषाधिकार वृद्धि अनुभाग की जांच करें।
एक इंस्टेंस टेम्पलेट इंस्टेंस गुणों को परिभाषित करता है ताकि सुसंगत कॉन्फ़िगरेशन को तैनात करने में मदद मिल सके। इनमें चल रहे इंस्टेंस के कस्टम मेटाडेटा के समान प्रकार के संवेदनशील डेटा हो सकते हैं। आप जांचने के लिए निम्नलिखित कमांड का उपयोग कर सकते हैं:
यह जानना दिलचस्प हो सकता है कि नए इमेज़ किस डिस्क का उपयोग कर रहे हैं, लेकिन ये टेम्पलेट आमतौर पर संवेदनशील जानकारी नहीं रखेंगे।
Snapshots डिस्क के बैकअप होते हैं। ध्यान दें कि यह डिस्क को क्लोन करने के समान नहीं है (एक और उपलब्ध विशेषता)। Snapshot उस डिस्क के समान एन्क्रिप्शन का उपयोग करेगा जिससे इसे लिया गया है।
Compute Instances विशेषाधिकार वृद्धि अनुभाग की जांच करें।
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)