GCP - local privilege escalation ssh pivoting

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 का समर्थन करें

इस परिदृश्य में हम यह मानेंगे कि आप Compute Engine प्रोजेक्ट के एक VM के अंदर एक गैर-प्रिविलेज्ड खाते से समझौता कर चुके हैं।

हैरत की बात है कि आपने जिस Compute Engine का समझौता किया है उसकी GPC permissions आपकी मदद कर सकती हैं कि आप मशीन के अंदर स्थानीय रूप से escalate privileges locally inside a machine कर सकें। यह हमेशा क्लाउड वातावरण में बहुत मददगार नहीं होगा, लेकिन यह जानना अच्छा है कि यह संभव है।

Read the scripts

Compute Instances संभवतः अपने service accounts के साथ कार्य करने के लिए कुछ स्क्रिप्ट्स execute करने के लिए मौजूद होते हैं।

चूँकि IAM काफी granular होता है, एक अकाउंट के पास किसी resource पर read/write अधिकार हो सकते हैं पर no list privileges हो सकते हैं।

इसका एक अच्छा काल्पनिक उदाहरण एक Compute Instance है जिसे instance82736-long-term-xyz-archive-0332893 नाम के storage bucket में बैकअप पढ़ने/लिखने की अनुमति है।

कमांड लाइन से gsutil ls चलाने पर कुछ भी नहीं लौटता, क्योंकि service account के पास storage.buckets.list IAM permission नहीं है। हालाँकि, यदि आप gsutil ls gs://instance82736-long-term-xyz-archive-0332893 चलाते हैं तो आप एक पूरा filesystem backup पा सकते हैं, जो आपको ऐसे डेटा का clear-text access दे सकता है जिसका आपका local Linux account उपयोग नहीं कर सकता।

आप यह bucket नाम किसी स्क्रिप्ट (bash, Python, Ruby…) के अंदर पा सकते हैं।

Custom Metadata

प्रशासक custom metadata को instance और project level पर जोड़ सकते हैं। यह बस instances में arbitrary key/value pairs पास करने का एक तरीका है, और आमतौर पर environment variables और startup/shutdown scripts के लिए उपयोग किया जाता है।

इसके अलावा, यह संभव है कि आप userdata जोड़ें, जो एक स्क्रिप्ट होती है जो मशीन के हर बार start या restart होने पर executed everytime होती है और जिसे accessed from the metadata endpoint also.

For more info check:

Cloud SSRF - HackTricks

Abusing IAM permissions

नीचे दिए गए अधिकांश permissions सामान्यतः default Compute SA को दिए जाते हैं, समस्या यह है कि default access scope उन्हें उपयोग करने से रोकता है। हालाँकि, यदि cloud-platform scope सक्षम है या केवल compute scope सक्षम है, तो आप उनका दुरुपयोग कर पाएँगे।

Check the following permissions:

Search for Keys in the filesystem

जाँचें कि क्या अन्य उपयोगकर्ताओं ने box के अंदर gcloud में लॉगिन किया है और अपनी credentials फ़ाइल सिस्टम में छोड़ी हैं:

फ़ाइल सिस्टम में gcloud credentials खोजें ``` sudo find / -name "gcloud" ```

ये सबसे दिलचस्प फाइलें:

  • ~/.config/gcloud/credentials.db
  • ~/.config/gcloud/legacy_credentials/[ACCOUNT]/adc.json
  • ~/.config/gcloud/legacy_credentials/[ACCOUNT]/.boto
  • ~/.credentials.json

अधिक API Keys regexes

Grep patterns for GCP credentials and keys ```bash TARGET_DIR="/path/to/whatever"

Service account keys

grep -Pzr “(?s){[^{}]?service_account[^{}]?private_key.*?}”
“$TARGET_DIR”

Legacy GCP creds

grep -Pzr “(?s){[^{}]?client_id[^{}]?client_secret.*?}”
“$TARGET_DIR”

Google API keys

grep -Pr “AIza[a-zA-Z0-9\-_]{35}”
“$TARGET_DIR”

Google OAuth tokens

grep -Pr “ya29.[a-zA-Z0-9_-]{100,200}”
“$TARGET_DIR”

Generic SSH keys

grep -Pzr “(?s)—–BEGIN[ A-Z]?PRIVATE KEY[a-zA-Z0-9/+=\n-]?END[ A-Z]*?PRIVATE KEY—–”
“$TARGET_DIR”

Signed storage URLs

grep -Pir “storage.googleapis.com.*?Goog-Signature=[a-f0-9]+”
“$TARGET_DIR”

Signed policy documents in HTML

grep -Pzr ‘(?s)<form action.?googleapis.com.?name=“signature” value=“.*?”>’
“$TARGET_DIR”

</details>

## संदर्भ

- [https://about.gitlab.com/blog/2020/02/12/plundering-gcp-escalating-privileges-in-google-cloud-platform/](https://about.gitlab.com/blog/2020/02/12/plundering-gcp-escalating-privileges-in-google-cloud-platform/)

> [!TIP]
> AWS हैकिंग सीखें और अभ्यास करें:<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">\
> GCP हैकिंग सीखें और अभ्यास करें: <img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)<img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
> Azure हैकिंग सीखें और अभ्यास करें: <img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training Azure Red Team Expert (AzRTE)**](https://training.hacktricks.xyz/courses/azrte)<img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
>
> <details>
>
> <summary>HackTricks का समर्थन करें</summary>
>
> - [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
> - **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)** पर फॉलो करें।**
> - **हैकिंग ट्रिक्स साझा करें, PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में सबमिट करके।
>
> </details>