GCP - Sourcerepos Privesc
Source Repositories
Za više informacija o Source Repositories proverite:
GCP - Source Repositories Enumsource.repos.get
source.repos.get
Sa ovlašćenjem je moguće preuzeti repozitorijum lokalno:
source.repos.update
source.repos.update
Osoba sa ovlašćenjem će moći da piše kod unutar repozitorijuma kloniranih pomoću gcloud source repos clone <repo>
. Međutim, napomena je da ovo ovlašćenje ne može biti pridruženo prilagođenim ulogama, već se mora dodeliti putem predefinisane uloge kao što su:
Vlasnik
Uređivač
Administrator repozitorijuma izvornog koda (
roles/source.admin
)Pisac repozitorijuma izvornog koda (
roles/source.writer
)
Za pisanje jednostavno izvršite redovno git push
.
source.repos.setIamPolicy
source.repos.setIamPolicy
Sa ovim ovlašćenjem napadač bi mogao sebi da dodeli prethodna ovlašćenja.
Pristup tajnama
Ako napadač ima pristup tajnama gde su tokeni smešteni, moći će da ih ukrade. Za više informacija o tome kako pristupiti tajni proverite:
GCP - Secretmanager PrivescDodavanje SSH ključeva
Moguće je dodati SSH ključeve u projekat repozitorijuma izvornog koda u veb konzoli. To pravi zahtev za postavljanje na /v1/sshKeys:add
i može se konfigurisati na https://source.cloud.google.com/user/ssh_keys
Kada postavite svoj SSH ključ, možete pristupiti repozitorijumu sa:
Zatim koristite git
komande kao i obično.
Ručni pristupni podaci
Moguće je kreirati ručne pristupne podatke za pristup Izvornim repozitorijumima:
Klikom na prvi link bićete preusmereni na https://source.developers.google.com/auth/start?scopes=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform&state&authuser=3
Što će pokrenuti Oauth prozor za autorizaciju kako bi se omogućio pristup Google Cloud Development. Potrebne su poverljive informacije korisnika ili otvorena sesija u pregledaču za ovo.
Bićete preusmereni na stranicu sa bash skriptom za izvršenje i konfigurisanje git kolačića u $HOME/.gitcookies
Izvršavanjem skripte možete koristiti git clone, push... i radiće.
source.repos.updateProjectConfig
source.repos.updateProjectConfig
Sa ovlašćenjem je moguće onemogućiti podrazumevanu zaštitu Izvornih repozitorijuma kako ne bi otpremali kod koji sadrži privatne ključeve:
Možete konfigurisati drugu pub/sub temu ili je čak potpuno onemogućiti:
Last updated