GCP - Cloud Functions Enum
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 गिटहब रिपोजिटरी में सबमिट करके।
Cloud Functions
Google Cloud Functions आपके कोड को होस्ट करने के लिए डिज़ाइन किए गए हैं, जो घटनाओं के जवाब में निष्पादित होता है, बिना होस्ट ऑपरेटिंग सिस्टम के प्रबंधन की आवश्यकता के। इसके अतिरिक्त, ये फ़ंक्शन पर्यावरण चर के भंडारण का समर्थन करते हैं, जिसका उपयोग कोड कर सकता है।
Storage
Cloud Functions कोड GCP Storage में संग्रहीत होता है। इसलिए, GCP में बकेट पर पढ़ने की पहुंच रखने वाला कोई भी व्यक्ति Cloud Functions कोड को पढ़ सकेगा।
कोड एक बकेट में निम्नलिखित में से एक की तरह संग्रहीत होता है:
gcf-sources-<number>-<region>/<function-name>-<uuid>/version-<n>/function-source.zip
gcf-v2-sources-<number>-<region>/<function-name>function-source.zip
उदाहरण के लिए:
gcf-sources-645468741258-us-central1/function-1-003dcbdf-32e1-430f-a5ff-785a6e238c76/version-4/function-source.zip
warning
बकेट में पढ़ने के अधिकार रखने वाला कोई भी उपयोगकर्ता निष्पादित कोड को पढ़ सकता है।
Artifact Registry
यदि क्लाउड फ़ंक्शन इस तरह से कॉन्फ़िगर किया गया है कि निष्पादित Docker कंटेनर प्रोजेक्ट के अंदर एक Artifact Registry रिपॉजिटरी के अंदर संग्रहीत है, तो रिपॉजिटरी पर पढ़ने की पहुंच रखने वाला कोई भी व्यक्ति छवि डाउनलोड कर सकेगा और स्रोत कोड की जांच कर सकेगा। अधिक जानकारी के लिए देखें:
SA
यदि निर्दिष्ट नहीं किया गया है, तो डिफ़ॉल्ट रूप से App Engine Default Service Account को प्रोजेक्ट पर संपादक अनुमतियों के साथ Cloud Function से जोड़ा जाएगा।
Triggers, URL & Authentication
जब एक Cloud Function बनाई जाती है, तो trigger को निर्दिष्ट करना आवश्यक है। एक सामान्य ट्रिगर HTTPS है, यह एक URL बनाएगा जहां फ़ंक्शन को वेब ब्राउज़िंग के माध्यम से ट्रिगर किया जा सकता है।
अन्य ट्रिगर्स हैं pub/sub, Storage, Filestore...
URL प्रारूप है https://<region>-<project-gcp-name>.cloudfunctions.net/<func_name>
जब HTTPS ट्रिगर का उपयोग किया जाता है, तो यह भी संकेतित किया जाता है कि कॉलर को फ़ंक्शन को कॉल करने के लिए IAM प्राधिकरण की आवश्यकता है या यदि कोई भी इसे बस कॉल कर सकता है:
.png)
Inside the Cloud Function
कोड /workspace
फ़ोल्डर के अंदर डाउनलोड किया जाता है जिसमें फ़ाइलों के वही फ़ाइल नाम होते हैं जो Cloud Function में फ़ाइलों के होते हैं और इसे उपयोगकर्ता www-data
के साथ निष्पादित किया जाता है।
डिस्क पढ़ने के लिए केवल माउंट नहीं किया गया है।
Enumeration
# List functions
gcloud functions list
gcloud functions describe <func_name> # Check triggers to see how is this function invoked
gcloud functions get-iam-policy <func_name>
# Get logs of previous runs. By default, limits to 10 lines
gcloud functions logs read <func_name> --limit [NUMBER]
# Call a function
curl https://<region>-<project>.cloudfunctions.net/<func_name>
gcloud functions call <func_name> --data='{"message": "Hello World!"}'
# If you know the name of projects you could try to BF cloud functions names
# Get events that could be used to trigger a cloud function
gcloud functions event-types list
# Access function with authentication
curl -X POST https://<region>-<project>.cloudfunctions.net/<func_name> \
-H "Authorization: bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" \
-d '{}'
विशेषाधिकार वृद्धि
अगली पृष्ठ पर, आप देख सकते हैं कि कैसे क्लाउड फ़ंक्शन अनुमतियों का दुरुपयोग करके विशेषाधिकार बढ़ाए जाएं:
अनधिकृत पहुंच
GCP - Cloud Functions Unauthenticated Enum
पोस्ट एक्सप्लोइटेशन
GCP - Cloud Functions Post Exploitation
स्थिरता
GCP - Cloud Functions Persistence
संदर्भ
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 गिटहब रिपोजिटरी में सबमिट करके।