AWS - CloudFront Enum

Support HackTricks

CloudFront

CloudFront ni mtandao wa usambazaji wa maudhui wa AWS unaoimarisha usambazaji wa maudhui yako ya static na dynamic kupitia mtandao wake wa kimataifa wa maeneo ya edge. Unapokuwa unatumia maombi ya maudhui unayohifadhi kupitia Amazon CloudFront, ombi linaelekezwa kwenye eneo la edge lililo karibu zaidi ambalo linatoa latensi ya chini ili kutoa utendaji bora. Wakati rekodi za ufikiaji za CloudFront zimewezeshwa unaweza kurekodi ombi kutoka kwa kila mtumiaji anayeomba ufikiaji wa tovuti yako na usambazaji. Kama ilivyo kwa rekodi za ufikiaji za S3, rekodi hizi pia zinahifadhiwa kwenye Amazon S3 kwa ajili ya uhifadhi wa kudumu na endelevu. Hakuna ada kwa ajili ya kuwezesha uandishi wa rekodi, hata hivyo, kwani rekodi zinahifadhiwa kwenye S3 utatozwa kwa ajili ya uhifadhi unaotumiwa na S3.

Faili za rekodi zinachukua data kwa kipindi fulani na kulingana na idadi ya maombi yanayopokelewa na Amazon CloudFront kwa usambazaji huo kutategemea idadi ya faili za rekodi zinazozalishwa. Ni muhimu kujua kwamba faili hizi za rekodi hazitengenezwi au kuandikwa kwenye S3. S3 ni mahali tu ambapo zinawasilishwa mara faili ya rekodi inakuwa imejaa. Amazon CloudFront inashikilia rekodi hizi hadi zitakapokuwa tayari kuwasilishwa kwa S3. Tena, kulingana na ukubwa wa faili hizi za rekodi, usambazaji huu unaweza kuchukua kati ya saa moja na 24.

Kwa kawaida uandishi wa vidakuzi umezimwa lakini unaweza kuuwezesha.

Functions

Unaweza kuunda kazi katika CloudFront. Kazi hizi zitakuwa na kiungo chake katika cloudfront kilichofafanuliwa na zitaendesha NodeJS code iliyotangazwa. Kode hii itakimbia ndani ya sandbox katika mashine inayofanya kazi chini ya mashine inayosimamiwa na AWS (utahitaji kupita sandbox ili kuweza kutoroka kwenye OS ya chini).

Kwa kuwa kazi hazikimbii katika akaunti ya AWS ya watumiaji, hakuna jukumu la IAM lililounganishwa hivyo hakuna privesc ya moja kwa moja inayowezekana kwa kutumia kipengele hiki.

Enumeration

aws cloudfront list-distributions
aws cloudfront get-distribution --id <id> # Just get 1
aws cloudfront get-distribution-config --id <id>

aws cloudfront list-functions
aws cloudfront get-function --name TestFunction function_code.js

aws cloudfront list-distributions | jq ".DistributionList.Items[] | .Id, .Origins.Items[].Id, .Origins.Items[].DomainName, .AliasICPRecordals[].CNAME"

Upatikanaji Usioidhinishwa

AWS - Cloudfront Unauthenticated Enum

Baada ya Kutekeleza

AWS - CloudFront Post Exploitation
Support HackTricks

Last updated