GCP - Cloudbuild Privesc

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

cloudbuild

Vir meer inligting oor Cloud Build, kyk:

GCP - Cloud Build Enum

cloudbuild.builds.create

Met hierdie toestemming kan jy 'n wolkbou indien. Die cloudbuild-masjien sal standaard 'n token van die cloudbuild-diensrekening in sy lêerstelsel hê: <PROJECT_NUMBER>@cloudbuild.gserviceaccount.com. Jy kan egter enige diensrekening binne die projek aandui in die cloudbuild-konfigurasie. Daarom kan jy net die masjien laat eksfiltreer na jou bediener die token of 'n omgekeerde dop binne-in kry en jouself die token kry (die lêer wat die token bevat, kan verander).

Jy kan die oorspronklike uitbuitingskrip hier op GitHub vind (maar die plek waar dit die token vandaan neem, het nie vir my gewerk nie). Kyk dus na 'n krip om die skepping, uitbuiting en skoonmaak van 'n kwesbare omgewing outomaties te maak hier en 'n Python-krip om 'n omgekeerde dop binne die cloudbuild-masjien te kry en steel dit hier (in die kode kan jy sien hoe om ander diensrekeninge te spesifiseer).

Vir 'n meer diepgaande verduideliking, besoek https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/

cloudbuild.builds.update

Moontlik met hierdie toestemming sal jy in staat wees om 'n wolkbou te opdateer en net die diensrekening-token te steel soos dit gedoen is met die vorige toestemming (maar ongelukkig kon ek op die tyd van hierdie skrywe nie 'n manier vind om daardie API te roep nie).

TODO

cloudbuild.repositories.accessReadToken

Met hierdie toestemming kan die gebruiker die leestoegangstoken kry wat gebruik word om toegang tot die argief te verkry:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{}' \
"https://cloudbuild.googleapis.com/v2/projects/<PROJECT_ID>/locations/<LOCATION>/connections/<CONN_ID>/repositories/<repo-id>:accessReadToken"

cloudbuild.repositories.accessReadWriteToken

Met hierdie toestemming kan die gebruiker die lees- en skryftoegangstoken kry wat gebruik word om toegang tot die argief te verkry:

curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
-d '{}' \
"https://cloudbuild.googleapis.com/v2/projects/<PROJECT_ID>/locations/<LOCATION>/connections/<CONN_ID>/repositories/<repo-id>:accessReadWriteToken"
Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated