AWS - CloudFront Enum

Support HackTricks

CloudFront

CloudFront è la rete di distribuzione dei contenuti di AWS che accelera la distribuzione dei tuoi contenuti statici e dinamici attraverso la sua rete mondiale di posizioni edge. Quando utilizzi una richiesta di contenuto che stai ospitando tramite Amazon CloudFront, la richiesta viene instradata alla posizione edge più vicina che fornisce la latenza più bassa per offrire le migliori prestazioni. Quando i log di accesso di CloudFront sono abilitati, puoi registrare la richiesta di ciascun utente che richiede accesso al tuo sito web e alla distribuzione. Come per i log di accesso S3, anche questi log sono archiviati su Amazon S3 per uno storage durevole e persistente. Non ci sono costi per abilitare il logging stesso, tuttavia, poiché i log sono archiviati in S3, ti verrà addebitato lo spazio di archiviazione utilizzato da S3.

I file di log catturano dati nel tempo e a seconda della quantità di richieste ricevute da Amazon CloudFront per quella distribuzione dipenderà dalla quantità di file di log generati. È importante sapere che questi file di log non vengono creati o scritti su S3. S3 è semplicemente dove vengono consegnati una volta che il file di log è pieno. Amazon CloudFront conserva questi log fino a quando non sono pronti per essere consegnati a S3. Ancora una volta, a seconda delle dimensioni di questi file di log, questa consegna può richiedere tra una e 24 ore.

Per impostazione predefinita, il logging dei cookie è disabilitato ma puoi abilitarlo.

Functions

Puoi creare funzioni in CloudFront. Queste funzioni avranno il loro endpoint in cloudfront definito e eseguiranno un codice NodeJS dichiarato. Questo codice verrà eseguito all'interno di un sandbox su una macchina gestita da AWS (avresti bisogno di un bypass del sandbox per riuscire a sfuggire al sistema operativo sottostante).

Poiché le funzioni non vengono eseguite nell'account AWS degli utenti, non è allegato alcun ruolo IAM, quindi non è possibile un accesso privilegiato diretto abusando di questa funzionalità.

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"

Accesso non autenticato

Post Sfruttamento

Supporta HackTricks

Last updated