GCP - स्थानीय विशेषाधिकार वृद्धि ssh पिवोटिंग
Reading time: 5 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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।
इस परिदृश्य में हम मानने जा रहे हैं कि आपने एक गैर-विशेषाधिकार खाता को एक VM के अंदर एक Compute Engine प्रोजेक्ट में समझौता किया है।
अद्भुत रूप से, आपके द्वारा समझौता किए गए Compute Engine के GPC अनुमतियाँ आपको एक मशीन के अंदर स्थानीय रूप से विशेषाधिकार बढ़ाने में मदद कर सकती हैं। भले ही यह हमेशा एक क्लाउड वातावरण में बहुत सहायक न हो, यह जानना अच्छा है कि यह संभव है।
स्क्रिप्ट पढ़ें
Compute Instances शायद वहां कुछ स्क्रिप्ट्स को उनके सेवा खातों के साथ क्रियान्वित करने के लिए हैं।
चूंकि IAM बहुत बारीक है, एक खाता एक संसाधन पर पढ़ने/लिखने के विशेषाधिकार रख सकता है लेकिन कोई सूची विशेषाधिकार नहीं।
इसका एक शानदार काल्पनिक उदाहरण एक Compute Instance है जिसे instance82736-long-term-xyz-archive-0332893
नामक एक स्टोरेज बकेट में बैकअप पढ़ने/लिखने की अनुमति है।
कमांड लाइन से gsutil ls
चलाने पर कुछ भी नहीं लौटता है, क्योंकि सेवा खाते के पास storage.buckets.list
IAM अनुमति नहीं है। हालाँकि, यदि आपने gsutil ls gs://instance82736-long-term-xyz-archive-0332893
चलाया, तो आप एक पूर्ण फ़ाइल सिस्टम बैकअप पा सकते हैं, जो आपको उस डेटा तक स्पष्ट-पाठ पहुंच देता है जो आपके स्थानीय Linux खाते के पास नहीं है।
आप इस बकेट नाम को एक स्क्रिप्ट (bash, Python, Ruby...) के अंदर पा सकते हैं।
कस्टम मेटाडेटा
प्रशासक इंस्टेंस और प्रोजेक्ट स्तर पर कस्टम मेटाडेटा जोड़ सकते हैं। यह बस एक इंस्टेंस में मनमाने कुंजी/मान जोड़े पास करने का एक तरीका है, और इसे पर्यावरण चर और स्टार्टअप/शटडाउन स्क्रिप्ट के लिए सामान्यतः उपयोग किया जाता है।
इसके अलावा, userdata जोड़ना संभव है, जो एक स्क्रिप्ट है जो हर बार मशीन शुरू या पुनः प्रारंभ होने पर क्रियान्वित की जाएगी और जिसे मेटाडेटा एंडपॉइंट से भी एक्सेस किया जा सकता है।
अधिक जानकारी के लिए देखें:
IAM अनुमतियों का दुरुपयोग करना
निम्नलिखित प्रस्तावित अनुमतियों में से अधिकांश डिफ़ॉल्ट Compute SA को दी गई हैं, केवल समस्या यह है कि डिफ़ॉल्ट एक्सेस स्कोप SA को उनका उपयोग करने से रोकता है। हालाँकि, यदि cloud-platform
स्कोप सक्षम है या केवल compute
स्कोप सक्षम है, तो आप इनका दुरुपयोग करने में सक्षम होंगे।
निम्नलिखित अनुमतियों की जांच करें:
- compute.instances.osLogin
- compute.instances.osAdminLogin
- compute.projects.setCommonInstanceMetadata
- compute.instances.setMetadata
- compute.instances.setIamPolicy
फ़ाइल सिस्टम में कुंजियों की खोज करें
जांचें कि क्या अन्य उपयोगकर्ताओं ने बॉक्स के अंदर 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 Keys 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"
संदर्भ
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 का समर्थन करें
- सदस्यता योजनाओं की जांच करें!
- हमारे 💬 Discord समूह या टेलीग्राम समूह में शामिल हों या हमें Twitter 🐦 @hacktricks_live** पर फॉलो करें।**
- हैकिंग ट्रिक्स साझा करें, PRs को HackTricks और HackTricks Cloud गिटहब रिपोजिटरी में सबमिट करके।