GCP - Cloud Functions Enum

Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Cloud Functions

Google Cloud Functions is ontwerp om jou kode te huisves, wat uitgevoer word in reaksie op gebeure, sonder die bestuur van 'n gasheer-bedryfstelsel. Daarbenewens ondersteun hierdie funksies die berging van omgewingsveranderlikes wat die kode kan gebruik.

Berging

Die Cloud Functions kode word gestoor in GCP Berging. Daarom sal enige persoon met leestoegang oor emmers in GCP in staat wees om die Cloud Functions-kode te lees. Die kode word gestoor in 'n emmer soos een van die volgende:

  • gcf-sources-<number>-<region>/<function-name>-<uuid>/version-<n>/function-source.zip

  • gcf-v2-sources-<number>-<region>/<function-name>function-source.zip

Byvoorbeeld: gcf-sources-645468741258-us-central1/function-1-003dcbdf-32e1-430f-a5ff-785a6e238c76/version-4/function-source.zip

Enige gebruiker met leesregte oor die emmer wat die Cloud-funksie stoor, kan die uitgevoerde kode lees.

Artefak-Registrasie

Indien die wolkfunksie so gekonfigureer is dat die uitgevoerde Docker-houer binne 'n Artefak-Registrasie-repo binne die projek gestoor word, sal enigeen met leestoegang oor die repo in staat wees om die beeld af te laai en die bronkode te kontroleer. Vir meer inligting kyk na:

GCP - Artifact Registry Enum

SA

Indien nie gespesifiseer nie, sal standaard die App Engine Standaard Diensrekening met Redakteur-permissies oor die projek aan die Cloud-funksie geheg word.

Triggers, URL & Verifikasie

Wanneer 'n Cloud-funksie geskep word, moet die trigger gespesifiseer word. Een algemene een is HTTPS, dit sal 'n URL skep waar die funksie geaktiveer kan word via webblaaier. Ander triggers is pub/sub, Berging, Lêerstoor...

Die URL-formaat is https://<region>-<project-gcp-name>.cloudfunctions.net/<func_name>

Wanneer die HTTPS-trigger gebruik word, word ook aangedui of die oproeper IAM-gemagtiging moet hê om die Funksie te roep of as almal dit net kan oproep:

Binne die Cloud-funksie

Die kode word afgelaai binne die vouer /workspace met dieselfde lêernaam as die lêers in die Cloud-funksie en word uitgevoer met die gebruiker www-data. Die skyf word nie as slegs-lees gemonteer nie.

Enumerasie

# List functions
gcloud functions list
gcloud functions describe <func_name> # Check triggers to see how is this function invoked
gcloud functions get-iam-policy <func_name>

# Get logs of previous runs. By default, limits to 10 lines
gcloud functions logs read <func_name> --limit [NUMBER]

# Call a function
curl https://<region>-<project>.cloudfunctions.net/<func_name>
gcloud functions call <func_name> --data='{"message": "Hello World!"}'

# If you know the name of projects you could try to BF cloud functions names

# Get events that could be used to trigger a cloud function
gcloud functions event-types list

# Access function with authentication
curl -X POST https://<region>-<project>.cloudfunctions.net/<func_name> \
-H "Authorization: bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" \
-d '{}'

Voorregskaping

Op die volgende bladsy kan jy sien hoe om wolksfunksie-toestemmings te misbruik om voorregte te verhoog:

GCP - Cloudfunctions Privesc

Ongeagte Toegang

GCP - Cloud Functions Unauthenticated Enum

Na-uitbuiting

GCP - Cloud Functions Post Exploitation

Volharding

GCP - Cloud Functions Persistence

Verwysings

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated