GCP - Compute Enum

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

GCP VPC & Networking

इसका काम कैसे करता है इसके बारे में जानें:

pageGCP - VPC & Networking

Enumeration

# List networks
gcloud compute networks list
gcloud compute networks describe <network>

# List subnetworks
gcloud compute networks subnets list
gcloud compute networks subnets get-iam-policy <name> --region <region>
gcloud compute networks subnets describe <name> --region <region>

# List FW rules in networks
gcloud compute firewall-rules list --format="table(
name,
network,
direction,
priority,
sourceRanges.list():label=SRC_RANGES,
destinationRanges.list():label=DEST_RANGES,
allowed[].map().firewall_rule().list():label=ALLOW,
denied[].map().firewall_rule().list():label=DENY,
sourceTags.list():label=SRC_TAGS,
sourceServiceAccounts.list():label=SRC_SVC_ACCT,
targetTags.list():label=TARGET_TAGS,
targetServiceAccounts.list():label=TARGET_SVC_ACCT,
disabled
)"

# List Hierarchical Firewalls
gcloud compute firewall-policies list  (--folder <value>| --organization <value>)
gcloud compute firewall-policies describe <fw_policy>
gcloud compute firewall-policies list-rules <fw_policy>

# Get Firewalls of each region
gcloud compute network-firewall-policies list
## Get final FWs applied in a region
gcloud compute network-firewall-policies get-effective-firewalls --network=<vpc_name> --region <region>

आप आसानी से ओपन फ़ायरवॉल नियमों वाले कंप्यूट इंस्टेंसेज़ खोज सकते हैं https://gitlab.com/gitlab-com/gl-security/security-operations/gl-redteam/gcp_firewall_enum

कंप्यूट इंस्टेंसेज़

यह एक तरीका है जिससे आप GCP के अंदर वर्चुअल मशीन चला सकते हैं। अधिक जानकारी के लिए इस पेज की जाँच करें:

pageGCP - Compute Instances

जाँच

# Get list of zones
# It's interesting to know which zones are being used
gcloud compute regions list | grep -E "NAME|[^0]/"

# List compute instances & get info
gcloud compute instances list
gcloud compute instances describe <instance name>
gcloud compute instances get-iam-policy <instance> --zone=ZONE
gcloud compute instances get-screenshot <instance name> # Instace must have "Display Device" enabled
gcloud compute instances os-inventory list-instances # Get OS info of instances (OS Config agent is running on instances)


# Enumerate disks
gcloud compute disks list
gcloud compute disks describe <disk>
gcloud compute disks get-iam-policy <disk>

अधिक जानकारी के लिए कृपया इंस्टेंस के SSH या मेटाडेटा को संशोधित करने के लिए विशेषाधिकार प्राप्त करने के लिए इस पृष्ठ की जाँच करें:

pageGCP - local privilege escalation ssh pivoting

विशेषाधिकार प्राप्ति

निम्नलिखित पृष्ठ पर, आप यह जाँच सकते हैं कि विशेषाधिकार प्राप्ति के लिए कंप्यूट परमिशन का दुरुपयोग कैसे करें:

pageGCP - Compute Privesc

अअथेंटिकेटेड इनम

pageGCP - Compute Unauthenticated Enum

पोस्ट एक्सप्लोइटेशन

pageGCP - Compute Post Exploitation

स्थिरता

pageGCP - Compute Persistence

सीरियल कंसोल लॉग

कंप्यूट इंजन सीरियल कंसोल लॉग एक सुविधा है जो आपको आपके वर्चुअल मशीन इंस्टेंस के बूट और ऑपरेटिंग सिस्टम लॉग को देखने और निदान करने की अनुमति देती है।

सीरियल कंसोल लॉग इंस्टेंस की बूट प्रक्रिया का निम्न स्तरीय दृश्य प्रदान करते हैं, जिसमें कर्नेल संदेश, इनिट स्क्रिप्ट्स, और बूट-अप के दौरान होने वाले अन्य सिस्टम घटनाएं शामिल हैं। यह बूट समस्याओं को डिबग करने, गलत विन्यास या सॉफ्टवेयर त्रुटियों की पहचान के लिए उपयोगी हो सकता है, या नेटवर्क कनेक्टिविटी समस्याओं की समस्या सुलझाने के लिए।

ये लॉग सिस्टम लॉग से संबंधित सूचनाएं उजागर कर सकते हैं जो कम विशेषाधिकार वाले उपयोगकर्ता सामान्यत: नहीं देखते हैं, लेकिन उचित IAM अनुमतियों के साथ आप उन्हें पढ़ सकते हैं।

आप सीरियल पोर्ट लॉग क्वेरी करने के लिए निम्नलिखित gcloud कमांड का उपयोग कर सकते हैं (आवश्यक अनुमति है compute.instances.getSerialPortOutput):

gcloud compute instances get-serial-port-output <instance-name>

ओएस कॉन्फ़िगरेशन प्रबंधक

आप ओएस कॉन्फ़िगरेशन प्रबंधन सेवा का उपयोग करके अपने वीएम इंस्टेंस (वीएम) के लिए संगत विन्यास (वांछित स्थिति और सॉफ़्टवेयर) को डिप्लॉय, क्वेरी, और बनाए रखने के लिए कर सकते हैं। कंप्यूट इंजन पर, आपको वीएम पर संगत सॉफ़्टवेयर विन्यास बनाए रखने के लिए गेस्ट नीतियाँ का उपयोग करना होगा।

ओएस कॉन्फ़िगरेशन प्रबंधन सुविधा आपको परिभाषित कॉन्फ़िगरेशन नीतियों को परिभाषित करने की अनुमति देती है जिसमें यह निर्धारित होता है कि कौन से सॉफ़्टवेयर पैकेज स्थापित किए जाने चाहिए, कौन सी सेवाएँ सक्रिय की जानी चाहिए, और कौन से फ़ाइलें या विन्यास आपके वीएम पर मौजूद होने चाहिए। आप अपने वीएम के सॉफ़्टवेयर विन्यास का प्रबंधन करने के लिए एक घोषणात्मक दृष्टिकोण का उपयोग कर सकते हैं, जिससे आप अपनी कॉन्फ़िगरेशन प्रबंधन प्रक्रिया को स्वचालित और स्केल करने में आसानी से सक्षम हों।

यह इंस्टेंस में लॉगिन करने की अनुमति भी देता है जिसे आईएएम अनुमतियों के माध्यम से, इसलिए यह प्राइवेस्क और पिवोटिंग के लिए बहुत उपयोगी है।

ओएस-कॉन्फ़िग को पूरे प्रोजेक्ट या इंस्टेंस में सक्षम करने के लिए आपको चाहिए केवल मेटाडेटा कुंजी enable-oslogin को जिस स्तर पर भी सेट करना हो उसे true पर सेट करना होगा। इसके अतिरिक्त, आप मेटाडेटा enable-oslogin-2fa को true पर सेट करके 2fa को सक्षम कर सकते हैं।

जब आप इंस्टेंस बनाते समय इसे सक्षम करते हैं तो मेटाडेटा कुंजी स्वचालित रूप से सेट हो जाएगी।

ओएस-कॉन्फ़िग में 2fa के बारे में यह केवल उपयोगकर्ता होने पर ही लागू होता है, अगर यह एक एसए (जैसे कंप्यूट एसए) है तो इसे कुछ अतिरिक्त की आवश्यकता नहीं होगी।

जांच

gcloud compute os-config patch-deployments list
gcloud compute os-config patch-deployments describe <patch-deployment>

gcloud compute os-config patch-jobs list
gcloud compute os-config patch-jobs describe <patch-job>

छवियाँ

कस्टम छवियाँ

कस्टम कंप्यूट छवियाँ संवेदनशील विवरण या अन्य भेद्य समाकृतियों को शामिल कर सकती हैं जिन्हें आप शोषित कर सकते हैं।

जब एक छवि बनाई जाती है, तो आप 3 प्रकार के एन्क्रिप्शन का चयन कर सकते हैं: Google managed key (डिफ़ॉल्ट), KMS से कुंजी, या ग्राहक द्वारा दी गई कच्ची कुंजी

गणना

आप निम्नलिखित कमांड के साथ परियोजना में गैर मानक छवियों की सूची क्वेरी कर सकते हैं:

gcloud compute machine-images list
gcloud compute machine-images describe <name>
gcloud compute machine-images get-iam-policy <name>

आप फिर निर्यात कर सकते हैं वर्चुअल डिस्क किसी भी छवि से कई प्रारूपों में। निम्नलिखित कमांड छवि test-image को qcow2 प्रारूप में निर्यात करेगी, जिससे आप फ़ाइल डाउनलोड कर सकें और एक वीएम स्थानीय रूप से निर्माण कर सकें और आगे जांच के लिए:

gcloud compute images export --image test-image \
--export-format qcow2 --destination-uri [BUCKET]

# Execute container inside a docker
docker run --rm -ti gcr.io/<project-name>/secret:v1 sh

विशेषाधिकार उन्नति

कंप्यूट इंस्टेंसेस विशेषाधिकार उन्नति खंड की जाँच करें।

कस्टम इंस्टेंस टेम्पलेट

एक इंस्टेंस टेम्पलेट इंस्टेंस गुणवत्ता को परिभाषित करता है ताकि संयमित विन्यास डिप्लॉय करने में मदद मिले। इनमें एक चल रहे इंस्टेंस की कस्टम मेटाडेटा की तरही संवेदनशील डेटा हो सकता है। आप निम्नलिखित कमांड्स का उपयोग करके जांच कर सकते हैं:

# List the available templates
gcloud compute instance-templates list

# Get the details of a specific template
gcloud compute instance-templates describe [TEMPLATE NAME]

स्नैपशॉट्स

स्नैपशॉट्स डिस्क के बैकअप होते हैं। ध्यान दें कि यह डिस्क की क्लोनिंग के समान नहीं है (एक और उपलब्ध सुविधा)। स्नैपशॉट उसी एन्क्रिप्शन का उपयोग करेगा जैसा कि डिस्क से लिया गया है।

gcloud compute snapshots list
gcloud compute snapshots describe <snapshot>
gcloud compute snapshots get-iam-policy <snapshot>

विशेषाधिकार उन्नयन

कंप्यूट इंस्टेंसेस विशेषाधिकार उन्नयन खंड की जाँच करें।

संदर्भ

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated