GCP - local privilege escalation ssh pivoting

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

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

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

आश्चर्यजनक रूप से, आपके द्वारा समझौता किए गए कंप्यूट इंजन की GPC अनुमतियां आपको मशीन के अंदर स्थानीय रूप से विशेषाधिकार वृद्धि करने में मदद कर सकती हैं। हालांकि यह हमेशा एक क्लाउड वातावरण में बहुत सहायक नहीं होगा, यह जानना अच्छा है कि यह संभव है।

स्क्रिप्ट्स पढ़ें

कंप्यूट इंस्टेंसेस शायद वहां होते हैं ताकि वे अपने सर्विस अकाउंट्स के साथ क्रियाएं करने के लिए कुछ स्क्रिप्ट्स को निष्पादित करें

चूंकि IAM बहुत विस्तृत है, एक खाते के पास किसी संसाधन पर पढ़ने/लिखने की अनुमतियां हो सकती हैं लेकिन सूची अनुमतियां नहीं

इसका एक महान काल्पनिक उदाहरण एक कंप्यूट इंस्टेंस है जिसे instance82736-long-term-xyz-archive-0332893 नामक एक स्टोरेज बकेट में बैकअप पढ़ने/लिखने की अनुमति है।

कमांड लाइन से gsutil ls चलाने पर कुछ भी नहीं आता है, क्योंकि सर्विस अकाउंट में storage.buckets.list IAM अनुमति की कमी है। हालांकि, यदि आपने gsutil ls gs://instance82736-long-term-xyz-archive-0332893 चलाया तो आपको पूरी फाइल सिस्टम बैकअप मिल सकती है, जिससे आपको उन डेटा तक स्पष्ट-पाठ पहुंच मिल सकती है जिसकी आपके स्थानीय लिनक्स खाते में कमी है।

आप इस बकेट नाम को किसी स्क्रिप्ट के अंदर पा सकते हैं (bash, Python, Ruby... में)।

कस्टम मेटाडेटा

प्रशासक कस्टम मेटाडेटा को इंस्टेंस और प्रोजेक्ट स्तर पर जोड़ सकते हैं। यह बस एक तरीका है मनमाने कुंजी/मूल्य जोड़े को एक इंस्टेंस में पास करने का, और आमतौर पर पर्यावरण चर और स्टार्टअप/शटडाउन स्क्रिप्ट्स के लिए इस्तेमाल किया जाता है।

इसके अलावा, userdata जोड़ना संभव है, जो एक स्क्रिप्ट है जो हर बार निष्पादित की जाएगी जब मशीन शुरू या पुनः आरंभ की जाती है और जिसे मेटाडेटा एंडपॉइंट से भी पहुंचा जा सकता है।

अधिक जानकारी के लिए देखें:

IAM अनुमतियों का दुरुपयोग

निम्नलिखित प्रस्तावित अनुमतियों में से अधिकांश डिफ़ॉल्ट कंप्यूट SA को दी गई हैं, एकमात्र समस्या यह है कि डिफ़ॉल्ट एक्सेस स्कोप SA को उनका उपयोग करने से रोकता है। हालांकि, यदि cloud-platform स्कोप सक्षम है या केवल compute स्कोप सक्षम है, तो आप उनका दुरुपयोग कर सकते हैं।

निम्नलिखित अनुमतियों की जांच करें:

फाइल सिस्टम में कीज़ की खोज करें

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

sudo find / -name "gcloud"

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

  • ~/.config/gcloud/credentials.db

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

  • ~/.config/gcloud/legacy_credentials/[ACCOUNT]/.boto

  • ~/.credentials.json

और API कीज़ के लिए regexes

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"

संदर्भ

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

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

Last updated