GCP - Cloud Build Unauthenticated Enum
Last updated
Last updated
Za više informacija o Cloud Build-u proverite:
GCP - Cloud Build EnumAko kompromitujete pristup pisanju nad skladištem koje sadrži datoteku nazvanu cloudbuild.yml
, možete unazaditi ovu datoteku, koja specificira komande koje će biti izvršene unutar Cloud Build-a i eksfiltrirati tajne, kompromitovati ono što je urađeno i takođe kompromitovati Cloud Build servisni nalog.
Imajte na umu da GCP ima opciju da dozvoli administratorima kontrolu izvršavanja sistema za izgradnju putem spoljnih PR-ova putem "Comment Control". Comment Control je funkcija gde saradnici/vlasnici projekta moraće da komentarišu "/gcbrun" da bi pokrenuli izgradnju protiv PR-a i korišćenjem ove funkcije inherentno sprečava bilo koga na internetu da pokrene vaše sisteme za izgradnju.
Za neke povezane informacije možete proveriti stranicu o tome kako napasti Github akcije (slično ovome):
Abusing Github ActionsKada je okidač PR jer svako može izvršiti PR-ove na javnim skladištima bilo bi veoma opasno samo dozvoliti izvršenje okidača sa bilo kojim PR-om. Zbog toga, podrazumevano, izvršenje će biti automatsko samo za vlasnike i saradnike, i kako bi se izvršio okidač sa PR-ovima drugih korisnika, vlasnik ili saradnik mora komentarisati /gcbrun
.
Stoga, ako je ovo postavljeno na Not required
, napadač bi mogao izvršiti PR na grani koji će pokrenuti izvršenje dodavanjem zlonamernog izvršenja koda u cloudbuild.yml
datoteku i kompromitovati izvršenje cloudbuild-a (imajte na umu da će cloudbuild preuzeti kod IZ PR-a, tako da će izvršiti zlonamerni cloudbuild.yml
).
Osim toga, lako je videti da li neko izvršenje cloudbuild-a treba da se izvrši kada pošaljete PR jer se pojavljuje na Github-u:
Takođe, čak i ako cloudbuild nije izvršen, napadač će moći da vidi ime projekta GCP projekta koji pripada kompaniji.