GCP - Cloud Functions Enum

Jifunze AWS hacking kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

Kazi za Cloud

Google Cloud Functions zimedesigniwa kuhosti nambari yako, ambayo inaendeshwa kujibu matukio, bila kuhitaji usimamizi wa mfumo wa uendeshaji wa mwenyeji. Aidha, kazi hizi zinasaidia uhifadhi wa mazingira, ambayo nambari inaweza kutumia.

Uhifadhi

Nambari za Kazi za Cloud zimehifadhiwa kwenye Uhifadhi wa GCP. Kwa hivyo, mtu yeyote mwenye upatikanaji wa kusoma kwenye vikombe katika GCP ataweza kusoma nambari za Kazi za Cloud. Nambari zimehifadhiwa kwenye kikombe kama:

gcf-sources-<number>-<region>/<function-name>-<uuid>/version-<n>/function-source.zip kwa mfano: gcf-sources-645468741258-us-central1/function-1-003dcbdf-32e1-430f-a5ff-785a6e238c76/version-4/function-source.zip

Mtumiaji yeyote mwenye ruhusa za kuandika kwenye kikombe kinachohifadhi Kazi ya Cloud anaweza kubadilisha nambari inayotekelezwa.

SA

Ikiwa haijatajwa, kwa chaguo-msingi Akaunti ya Huduma ya Default ya App Engine yenye ruhusa za Mhariri juu ya mradi itaambatishwa kwa Kazi ya Cloud.

Vichocheo, URL & Uthibitishaji

Wakati Kazi ya Cloud inapoundwa kichocheo kinahitaji kutajwa. Moja ya kawaida ni HTTPS, hii ita unda URL ambapo kazi inaweza kuchochewa kupitia kivinjari cha wavuti. Vichocheo vingine ni pub/sub, Uhifadhi, Hifadhi ya Faili...

Muundo wa URL ni https://<region>-<project-gcp-name>.cloudfunctions.net/<func_name>

Wakati kichocheo cha HTTPS kinapotumiwa, pia inaonyesha ikiwa mpigaji anahitaji idhini ya IAM kuita Kazi au iki kila mtu anaweza tu kuipiga:

Ndani ya Kazi ya Cloud

Nambari ina pakuliwa ndani ya folda /workspace na majina sawa ya faili kama yale yanayopatikana kwenye Kazi ya Cloud na inatekelezwa na mtumiaji www-data. Diski haipakuliwi kama soma-tu.

Uchambuzi

# 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 '{}'

Upandishaji wa Mamlaka

Kwenye ukurasa ufuatao, unaweza kuangalia jinsi ya kutumia ruhusa za kazi za wingu kwa ajili ya upandishaji wa mamlaka:

pageGCP - Cloudfunctions Privesc

Upatikanaji usiothibitishwa

pageGCP - Cloud Functions Unauthenticated Enum

Baada ya Uchimbaji

pageGCP - Cloud Functions Post Exploitation

Uthabiti

pageGCP - Cloud Functions Persistence

Marejeo

Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated