GCP - Cloudbuild Privesc
cloudbuild
Za više informacija o Cloud Build-u pogledajte:
GCP - Cloud Build Enumcloudbuild.builds.create
cloudbuild.builds.create
Sa ovlašćenjem možete poslati cloud build. Cloudbuild mašina će po podrazumevanim postavkama imati token cloudbuild Service Account-a: <PROJECT_NUMBER>@cloudbuild.gserviceaccount.com
. Međutim, možete navesti bilo koji service account unutar projekta u konfiguraciji cloudbuild-a.
Stoga, možete jednostavno naterati mašinu da ekstrahuje token do vašeg servera ili dobiti obrnutu ljusku unutar nje i dobiti sami token (datoteka koja sadrži token može se promeniti).
Originalni skript za eksploataciju možete pronaći ovde na GitHub-u (ali lokacija sa koje uzima token nije radila za mene). Stoga, proverite skriptu za automatizaciju kreiranja, eksploatacije i čišćenja ranjivog okruženja ovde i python skriptu za dobijanje obrnute ljuske unutar cloudbuild mašine i ukradite je ovde (u kodu možete pronaći kako specificirati druge service account-ove).
Za detaljnije objašnjenje, posetite https://rhinosecuritylabs.com/gcp/iam-privilege-escalation-gcp-cloudbuild/
cloudbuild.builds.update
cloudbuild.builds.update
Potencijalno sa ovim ovlašćenjem moći ćete ažurirati cloud build i samo ukrasti token service account-a kao što je urađeno sa prethodnim ovlašćenjem (ali nažalost u trenutku pisanja ovoga nisam mogao pronaći način da pozovem tu API).
TODO
cloudbuild.repositories.accessReadToken
cloudbuild.repositories.accessReadToken
Sa ovim ovlašćenjem korisnik može dobiti token za čitanje pristupa koji se koristi za pristup repozitorijumu:
cloudbuild.repositories.accessReadWriteToken
cloudbuild.repositories.accessReadWriteToken
Sa ovom dozvolom korisnik može dobiti token za čitanje i pisanje koji se koristi za pristupanje repozitorijumu:
cloudbuild.connections.fetchLinkableRepositories
cloudbuild.connections.fetchLinkableRepositories
Sa ovom dozvolom možete dobiti repozitorijume kojima veza ima pristup:
Last updated