GCP - Cloud Build Enum
Jifunze na kufanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na kufanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Taarifa za Msingi
Google Cloud Build ni jukwaa linalosimamiwa la CI/CD ambalo linarahisisha mchakato wa kujenga programu na kutoa matoleo, likijumuisha na repo za msimbo wa chanzo na kusaidia lugha mbalimbali za programu. Inaruhusu watengenezaji kujenga, kupima, na kupeleka msimbo kiotomatiki huku ikitoa kubadilika kwa kubinafsisha hatua za ujenzi na mtiririko wa kazi.
Kila Cloud Build Trigger inahusiana na Cloud Repository au imeunganishwa moja kwa moja na repo ya nje (Github, Bitbucket na Gitlab).
Sikuweza kuona njia yoyote ya kuiba tokeni ya Github/Bitbucket kutoka hapa au kutoka Cloud Repositories kwa sababu wakati repo inapopakuliwa inafikiwa kupitia URL ya https://source.cloud.google.com/ na Github haifikiwi na mteja.
Matukio
Cloud Build inaweza kuchochewa ikiwa:
Push to a branch: Eleza tawi
Push a new tag: Eleza tag
Pull request: Eleza tawi linalopokea PR
Manual Invocation
Pub/Sub message: Eleza mada
Webhook event: Itafichua URL ya HTTPS na ombi lazima lithibitishwe na siri
Utekelezaji
Kuna chaguzi 3:
yaml/json inayobainisha amri za kutekeleza. Kwa kawaida:
/cloudbuild.yaml
Moja tu inayoweza kubainishwa "inline" kwenye dashibodi ya wavuti na kwenye cli
Chaguo la kawaida zaidi
Muhimu kwa ufikiaji usioidhinishwa
Dockerfile ya kujenga
Buildpack ya kujenga
SA Ruhusa
Akaunti ya Huduma ina wigo wa cloud-platform
, kwa hivyo inaweza kutumia marupurupu yote. Ikiwa hakuna SA iliyobainishwa (kama wakati wa kufanya submit) SA chaguo-msingi <proj-number>@cloudbuild.gserviceaccount.com
itatumika.
Kwa chaguo-msingi hakuna ruhusa zinazotolewa lakini ni rahisi sana kuzipa baadhi:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3270244124-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FNMQzPwpgCFpke97H2tTI%252Fuploads%252Fgit-blob-372d616695fd3d3ecbc7914064b0306ed13e5ec8%252Fimage%2520%2816%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=c821167a&sv=1)
Idhini
Inawezekana kusanidi Cloud Build ili kuhitaji idhini kwa utekelezaji wa ujenzi (imezimwa kwa chaguo-msingi).
Idhini za PR
Wakati trigger ni PR kwa sababu mtu yeyote anaweza kufanya PRs kwa repo za umma itakuwa hatari sana kuruhusu utekelezaji wa trigger na PR yoyote. Kwa hivyo, kwa chaguo-msingi, utekelezaji utakuwa otomatiki kwa wamiliki na washirika, na ili kutekeleza trigger na PR za watumiaji wengine mmiliki au mshirika lazima aweke maoni /gcbrun
.
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3270244124-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FNMQzPwpgCFpke97H2tTI%252Fuploads%252Fgit-blob-987f5fc07a4475470bfada048c7704494a58fbc0%252Fimage%2520%28339%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6e0ed15d&sv=1)
Muunganisho & Repositories
Muunganisho unaweza kuundwa juu ya:
GitHub: Itaonyesha ombi la OAuth linaloomba ruhusa za kupata tokeni ya Github ambayo itahifadhiwa ndani ya Secret Manager.
GitHub Enterprise: Itaomba kusakinisha GithubApp. Tokeni ya uthibitishaji kutoka kwa mwenyeji wako wa GitHub Enterprise itaundwa na kuhifadhiwa katika mradi huu kama siri ya Secret Manager.
GitLab / Enterprise: Unahitaji kutoa tokeni ya ufikiaji wa API na tokeni ya ufikiaji wa Read API ambayo itahifadhiwa katika Secret Manager.
Mara muunganisho unapoundwa, unaweza kuutumia kuunganisha repo ambazo akaunti ya Github ina ufikiaji.
Chaguo hili linapatikana kupitia kitufe:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3270244124-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FNMQzPwpgCFpke97H2tTI%252Fuploads%252Fgit-blob-0b02740595b9287712e40bc67845490bd21fd468%252Fimage%2520%2817%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=e251c896&sv=1)
Kumbuka kuwa repo zilizounganishwa na njia hii zinapatikana tu katika Triggers zinazotumia kizazi cha 2.
Unganisha Repository
Hii si sawa na muunganisho
. Hii inaruhusu njia tofauti za kupata ufikiaji wa repo ya Github au Bitbucket lakini haitengenezi kitu cha muunganisho, lakini inatengeneza kitu cha repo (cha kizazi cha 1).
Chaguo hili linapatikana kupitia kitufe:
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F3270244124-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FNMQzPwpgCFpke97H2tTI%252Fuploads%252Fgit-blob-8da0530febf18a00fe3e9aa56b681bdf37567098%252Fimage%2520%2818%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=eccb9ab0&sv=1)
Hifadhi
Wakati mwingine Cloud Build itaunda hifadhi mpya ya kuhifadhi faili za trigger. Hii hutokea kwa mfano katika mfano ambao GCP inatoa na:
A Storage bucket inayoitwa security-devbox_cloudbuild imeundwa kuhifadhi .tgz
yenye faili zitakazotumika.
Pata shell
Enumeration
Unaweza kupata maelezo nyeti katika mipangilio ya ujenzi na kumbukumbu.
Privilege Escalation
GCP - Cloudbuild PrivescUnauthenticated Access
GCP - Cloud Build Unauthenticated EnumPost Exploitation
GCP - Cloud Build Post ExploitationJifunze & fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze & fanya mazoezi ya GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated