GCP - Cloud Functions Enum
Cloud Functions
Google Cloud Functions su dizajnirane da hostuju vaš kod, koji se izvršava kao odgovor na događaje, bez potrebe za upravljanjem operativnim sistemom domaćina. Osim toga, ove funkcije podržavaju čuvanje promenljivih okruženja, koje kod može koristiti.
Skladištenje
Kod Cloud Functions je smešten u GCP Storage-u. Stoga, svako sa pristupom za čitanje nad bucket-ima u GCP-u će moći da čita kod Cloud Functions. Kod je smešten u bucket-u kao:
gcf-sources-<broj>-<region>/<ime-funkcije>-<uuid>/verzija-<n>/izvorni-kod-funkcije.zip
na primer:
gcf-sources-645468741258-us-central1/funkcija-1-003dcbdf-32e1-430f-a5ff-785a6e238c76/verzija-4/izvorni-kod-funkcije.zip
Svaki korisnik sa privilegijama za pisanje nad bucket-om u kome je smeštena Cloud funkcija bi mogao da prepiše izvršeni kod.
SA
Ako nije specificirano, podrazumevano će biti povezan App Engine Default Service Account sa Editor dozvolama nad projektom sa Cloud funkcijom.
Okidači, URL & Autentikacija
Kada se kreira Cloud funkcija, potrebno je specificirati okidač. Jedan uobičajeni je HTTPS, koji će kreirati URL gde funkcija može biti okidač putem web pregledača. Drugi okidači su pub/sub, Storage, Filestore...
Format URL-a je https://<region>-<ime-projekta-gcp>.cloudfunctions.net/<ime_funkcije>
Kada se koristi HTTPS okidač, takođe se naznačava da li pozivaoc treba da ima IAM autorizaciju da pozove Funkciju ili da to može uraditi svako:
Unutar Cloud funkcije
Kod je preuzet unutar foldera /workspace
sa istim imenima fajlova kao što imaju fajlovi u Cloud funkciji i izvršava se sa korisnikom www-data
.
Disk nije montiran kao samo za čitanje.
Enumeracija
Eskalacija privilegija
Na sledećoj stranici možete proveriti kako zloupotrebiti dozvole cloud funkcija radi eskalacije privilegija:
pageGCP - Cloudfunctions PrivescNeautentifikovan pristup
pageGCP - Cloud Functions Unauthenticated EnumPost eksploatacija
pageGCP - Cloud Functions Post ExploitationUpornost
pageGCP - Cloud Functions PersistenceReference
Last updated