GCP - Compute Instances

Reading time: 6 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

Basic Information

Google Cloud Compute Instances गूगल के क्लाउड इन्फ्रास्ट्रक्चर पर अनुकूलन योग्य वर्चुअल मशीनें हैं, जो विभिन्न प्रकार के अनुप्रयोगों के लिए स्केलेबल और ऑन-डिमांड कंप्यूटिंग पावर प्रदान करती हैं। ये वैश्विक तैनाती, स्थायी भंडारण, लचीले OS विकल्प और मजबूत नेटवर्किंग और सुरक्षा एकीकरण जैसी सुविधाएँ प्रदान करती हैं, जिससे ये वेबसाइटों को होस्ट करने, डेटा संसाधित करने और क्लाउड में अनुप्रयोगों को कुशलतापूर्वक चलाने के लिए एक बहुपरकारी विकल्प बनती हैं।

Confidential VM

Confidential VMs हार्डवेयर-आधारित सुरक्षा सुविधाओं का उपयोग करती हैं जो नवीनतम पीढ़ी के AMD EPYC प्रोसेसर द्वारा प्रदान की जाती हैं, जिसमें मेमोरी एन्क्रिप्शन और सुरक्षित एन्क्रिप्टेड वर्चुअलाइजेशन शामिल हैं। ये सुविधाएँ VM को उस डेटा की सुरक्षा करने में सक्षम बनाती हैं जो इसके भीतर संसाधित और संग्रहीत होता है, यहां तक कि होस्ट ऑपरेटिंग सिस्टम और हाइपरवाइजर से भी।

Confidential VM चलाने के लिए इसे बदलने की आवश्यकता हो सकती है जैसे कि मशीन का प्रकार, नेटवर्क इंटरफेस, बूट डिस्क इमेज

Disk & Disk Encryption

आप डिस्क का चयन कर सकते हैं या एक नई डिस्क बना सकते हैं। यदि आप एक नई डिस्क का चयन करते हैं तो आप:

  • डिस्क का आकार चुन सकते हैं
  • OS का चयन कर सकते हैं
  • संकेत कर सकते हैं कि आप इंस्टेंस के हटाए जाने पर डिस्क को हटाना चाहते हैं
  • एन्क्रिप्शन: डिफ़ॉल्ट रूप से एक गूगल प्रबंधित कुंजी का उपयोग किया जाएगा, लेकिन आप KMS से एक कुंजी का चयन भी कर सकते हैं या उपयोग करने के लिए कच्ची कुंजी का संकेत कर सकते हैं।

Deploy Container

यह वर्चुअल मशीन के अंदर एक कंटेनर तैनात करना संभव है।
आप उपयोग करने के लिए इमेज को कॉन्फ़िगर कर सकते हैं, अंदर चलाने के लिए कमांड सेट कर सकते हैं, आर्गुमेंट्स, एक वॉल्यूम माउंट कर सकते हैं, और env वेरिएबल्स (संवेदनशील जानकारी?) सेट कर सकते हैं और इस कंटेनर के लिए कई विकल्प कॉन्फ़िगर कर सकते हैं जैसे privileged के रूप में निष्पादित करना, stdin और pseudo TTY।

Service Account

डिफ़ॉल्ट रूप से, कंप्यूट इंजन डिफ़ॉल्ट सेवा खाता का उपयोग किया जाएगा। इस SA का ईमेल इस प्रकार है: <proj-num>-compute@developer.gserviceaccount.com
इस सेवा खाते के पास पूरे प्रोजेक्ट पर संपादक की भूमिका (उच्च विशेषाधिकार) है।

और डिफ़ॉल्ट एक्सेस स्कोप निम्नलिखित हैं:

हालांकि, इसे एक क्लिक से cloud-platform प्रदान करना या कस्टम स्कोप निर्दिष्ट करना संभव है।

Firewall

HTTP और HTTPS ट्रैफ़िक की अनुमति देना संभव है।

Networking

  • IP Forwarding: इंस्टेंस के निर्माण से IP फॉरवर्डिंग सक्षम करना संभव है।
  • Hostname: इंस्टेंस को एक स्थायी होस्टनेम देना संभव है।
  • Interface: एक नेटवर्क इंटरफेस जोड़ना संभव है।

Extra Security

ये विकल्प VM की सुरक्षा बढ़ाएंगे और अनुशंसित हैं:

  • Secure boot: Secure boot आपके VM इंस्टेंस को बूट-स्तरीय और कर्नेल-स्तरीय मैलवेयर और रूटकिट से बचाने में मदद करता है।
  • Enable vTPM: वर्चुअल ट्रस्टेड प्लेटफॉर्म मॉड्यूल (vTPM) आपके गेस्ट VM की प्री-बूट और बूट अखंडता को मान्य करता है, और कुंजी निर्माण और सुरक्षा प्रदान करता है।
  • Integrity supervision: Integrity monitoring आपको Stackdriver रिपोर्ट का उपयोग करके आपके शील्डेड VM इंस्टेंस की रनटाइम बूट अखंडता की निगरानी और सत्यापन करने की अनुमति देता है। vTPM सक्षम होना आवश्यक है।

VM Access

VM तक पहुंच सक्षम करने का सामान्य तरीका है कुछ SSH सार्वजनिक कुंजियों को VM तक पहुंचने की अनुमति देना।
हालांकि, यह भी संभव है कि IAM का उपयोग करके os-config सेवा के माध्यम से VM तक पहुंच सक्षम करें। इसके अलावा, इस सेवा का उपयोग करके VM तक पहुंच के लिए 2FA सक्षम करना संभव है।
जब यह सेवा सक्षम होती है, तो SSH कुंजियों के माध्यम से पहुंच अक्षम होती है।

Metadata

आप स्वचालन (AWS में userdata) को परिभाषित कर सकते हैं जो शेल कमांड हैं जो हर बार मशीन चालू होने या पुनरारंभ होने पर निष्पादित होंगे।

आप अतिरिक्त मेटाडेटा कुंजी-मूल्य जोड़ने के लिए भी सक्षम हैं जो मेटाडेटा एंडपॉइंट से सुलभ होंगे। यह जानकारी आमतौर पर पर्यावरण चर और स्टार्टअप/शटडाउन स्क्रिप्ट के लिए उपयोग की जाती है। इसे enumeration section में एक कमांड से describe method का उपयोग करके प्राप्त किया जा सकता है, लेकिन इसे इंस्टेंस के अंदर मेटाडेटा एंडपॉइंट तक पहुंचकर भी पुनः प्राप्त किया जा सकता है।

bash
# view project metadata
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

# view instance metadata
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

इसके अलावा, संलग्न सेवा खाते के लिए प्रमाणीकरण टोकन और संस्थान, नेटवर्क और परियोजना के बारे में सामान्य जानकारी भी मेटाडेटा एंडपॉइंट से उपलब्ध होगी। अधिक जानकारी के लिए देखें:

Cloud SSRF - HackTricks

एन्क्रिप्शन

डिफ़ॉल्ट रूप से एक Google-प्रबंधित एन्क्रिप्शन कुंजी का उपयोग किया जाता है लेकिन एक ग्राहक-प्रबंधित एन्क्रिप्शन कुंजी (CMEK) को कॉन्फ़िगर किया जा सकता है। आप यह भी कॉन्फ़िगर कर सकते हैं कि जब उपयोग की गई CMEF को रद्द किया जाता है तो क्या करना है: नोटिंग या VM को बंद करना।

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें