AWS - CloudFront Enum

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare 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 globale di posizioni di bordo. Quando si utilizza un contenuto richiesto che viene ospitato tramite Amazon CloudFront, la richiesta viene instradata alla posizione di bordo più vicina che fornisce la latenza più bassa per offrire le migliori prestazioni. Quando i log di accesso a CloudFront sono abilitati, è possibile registrare la richiesta da parte di ogni utente che richiede l'accesso al tuo sito web e alla distribuzione. Come per i log di accesso a S3, questi log sono anche archiviati su Amazon S3 per una memorizzazione durevole e persistente. Non ci sono costi per l'abilitazione del logging stesso, tuttavia, poiché i log sono archiviati in S3, verranno addebitati i costi per lo spazio di archiviazione utilizzato da S3.

I file di log catturano i dati nel corso del 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 il luogo in cui 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 da una a 24 ore.

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

Funzioni

È possibile 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 in una macchina in esecuzione su una macchina gestita da AWS (è necessario un bypass del sandbox per riuscire a sfuggire al sistema operativo sottostante).

Poiché le funzioni non vengono eseguite nell'account AWS degli utenti, non viene allegato alcun ruolo IAM, quindi non è possibile eseguire direttamente una privesc sfruttando questa funzionalità.

Enumerazione

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

pageAWS - Cloudfront Unauthenticated Enum

Post Esploitation

pageAWS - CloudFront Post Exploitation
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated