AWS - CloudFront Enum

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

CloudFront

CloudFront est le rĂ©seau de distribution de contenu d’AWS qui accĂ©lĂšre la distribution de votre contenu statique et dynamique Ă  travers son rĂ©seau mondial de points de prĂ©sence. Lorsque vous utilisez un contenu de demande que vous hĂ©bergez via Amazon CloudFront, la demande est acheminĂ©e vers le point de prĂ©sence le plus proche, ce qui lui fournit la latence la plus basse pour offrir la meilleure performance. Lorsque les journaux d’accĂšs CloudFront sont activĂ©s, vous pouvez enregistrer la demande de chaque utilisateur demandant l’accĂšs Ă  votre site web et Ă  votre distribution. Comme pour les journaux d’accĂšs S3, ces journaux sont Ă©galement stockĂ©s sur Amazon S3 pour un stockage durable et persistant. Il n’y a pas de frais pour activer la journalisation elle-mĂȘme, cependant, comme les journaux sont stockĂ©s dans S3, vous serez facturĂ© pour le stockage utilisĂ© par S3.

Les fichiers journaux capturent des donnĂ©es sur une pĂ©riode de temps et en fonction du nombre de demandes reçues par Amazon CloudFront pour cette distribution, cela dĂ©pendra du nombre de fichiers journaux gĂ©nĂ©rĂ©s. Il est important de savoir que ces fichiers journaux ne sont pas créés ou Ă©crits sur S3. S3 est simplement l’endroit oĂč ils sont livrĂ©s une fois que le fichier journal est plein. Amazon CloudFront conserve ces journaux jusqu’à ce qu’ils soient prĂȘts Ă  ĂȘtre livrĂ©s Ă  S3. Encore une fois, en fonction de la taille de ces fichiers journaux, cette livraison peut prendre entre une et 24 heures.

Par dĂ©faut, la journalisation des cookies est dĂ©sactivĂ©e mais vous pouvez l’activer.

Functions

Vous pouvez crĂ©er des fonctions dans CloudFront. Ces fonctions auront leur point de terminaison dans cloudfront dĂ©fini et exĂ©cuteront un code NodeJS dĂ©clarĂ©. Ce code s’exĂ©cutera Ă  l’intĂ©rieur d’un sandbox sur une machine fonctionnant sous une machine gĂ©rĂ©e par AWS (vous auriez besoin d’un contournement de sandbox pour rĂ©ussir Ă  Ă©chapper au systĂšme d’exploitation sous-jacent).

Comme les fonctions ne sont pas exĂ©cutĂ©es dans le compte AWS des utilisateurs, aucun rĂŽle IAM n’est attachĂ©, donc aucune Ă©lĂ©vation de privilĂšges directe n’est possible en abusant de cette fonctionnalitĂ©.

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"

AccÚs non authentifié

AWS - Cloudfront Unauthenticated Enum

Post exploitation

AWS - CloudFront Post Exploitation

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks