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 Skladištu. 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 jedan od sledećih formata:
gcf-sources-<broj>-<region>/<ime-funkcije>-<uuid>/verzija-<n>/izvorni-kod-funkcije.zip
gcf-v2-sources-<broj>-<region>/<ime-funkcije>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 čitanje nad bucket-om koji čuva Cloud Function bi mogao da čita izvršeni kod.
Registar Artefakata
Ako je cloud funkcija konfigurisana tako da je izvršeni Docker kontejner smešten unutar Registra Artefakata repozitorijuma unutar projekta, svako sa pristupom za čitanje nad repozitorijumom će moći da preuzme sliku i proveri izvorni kod. Za više informacija pogledajte:
GCP - Artifact Registry EnumSA
Ako nije specificirano, podrazumevano će biti povezan App Engine Podrazumevani Servisni Nalog sa Editor privilegijama nad projektom sa Cloud Function.
Okidači, URL & Autentikacija
Kada se kreira Cloud Function, 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, Skladište, Filestore...
Format URL-a je https://<region>-<ime-projekta-gcp>.cloudfunctions.net/<ime_funkcije>
Kada se koristi HTTPS okidač, takođe je naznačeno da li pozivaoc treba da ima IAM autorizaciju da pozove Funkciju ili ako to može uraditi svako:
Unutar Cloud Funkcije
Kod je preuzet unutar foldera /workspace
sa istim imenima fajlova kao što ih imaju fajlovi u Cloud Function 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:
GCP - Cloudfunctions PrivescNeautentifikovan pristup
GCP - Cloud Functions Unauthenticated EnumPost eksploatacija
GCP - Cloud Functions Post ExploitationUpornost
GCP - Cloud Functions PersistenceReference
Last updated