AWS - CloudFront Enum

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

CloudFront

CloudFront est le réseau de diffusion 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 une demande de contenu que vous hébergez via Amazon CloudFront, la demande est acheminée vers le point de présence le plus proche, ce qui lui offre la latence la plus faible pour offrir les meilleures performances. 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 à la 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 en soi, cependant, comme les journaux sont stockés dans S3, vous serez facturé pour l'espace de 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, le nombre de fichiers journaux générés variera. 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.

Fonctions

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 bac à sable sur une machine fonctionnant sous une machine gérée par AWS (vous auriez besoin d'une évasion de bac à sable pour parvenir à é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 aucun élévation de privilèges direct n'est possible en abusant de cette fonctionnalité.

Énumération

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é

pageAWS - Cloudfront Unauthenticated Enum

Post Exploitation

pageAWS - CloudFront Post Exploitation
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks:

Dernière mise à jour