AWS - CloudFront Enum

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

CloudFront

Το CloudFront είναι το δίκτυο παράδοσης περιεχομένου της AWS που επιταχύνει τη διανομή του στατικού και δυναμικού περιεχομένου σας μέσω του παγκόσμιου δικτύου των edge locations. Όταν χρησιμοποιείτε ένα αίτημα περιεχομένου που φιλοξενείτε μέσω του Amazon CloudFront, το αίτημα δρομολογείται στην πλησιέστερη edge location που παρέχει τη χαμηλότερη καθυστέρηση για να προσφέρει την καλύτερη απόδοση. Όταν ενεργοποιηθούν τα αρχεία καταγραφής πρόσβασης του CloudFront, μπορείτε να καταγράφετε το αίτημα από κάθε χρήστη που ζητά πρόσβαση στον ιστότοπό σας και τη διανομή. Όπως και με τα αρχεία καταγραφής πρόσβασης S3, αυτά τα αρχεία καταγραφής αποθηκεύονται επίσης στο Amazon S3 για ανθεκτική και μόνιμη αποθήκευση. Δεν υπάρχουν χρεώσεις για την ενεργοποίηση της καταγραφής, ωστόσο, καθώς τα αρχεία καταγραφής αποθηκεύονται στο S3, θα χρεωθείτε για την αποθήκευση που χρησιμοποιείται από το S3.

Τα αρχεία καταγραφής καταγράφουν δεδομένα για μια περίοδο και ανάλογα με τον αριθμό των αιτημάτων που λαμβάνει το Amazon CloudFront για αυτή τη διανομή, θα εξαρτηθεί ο αριθμός των αρχείων καταγραφής που παράγονται. Είναι σημαντικό να γνωρίζετε ότι αυτά τα αρχεία καταγραφής δεν δημιουργούνται ή γράφονται στο S3. Το S3 είναι απλώς ο τόπος όπου παραδίδονται μόλις το αρχείο καταγραφής είναι γεμάτο. Το Amazon CloudFront διατηρεί αυτά τα αρχεία καταγραφής μέχρι να είναι έτοιμα να παραδοθούν στο S3. Και πάλι, ανάλογα με το μέγεθος αυτών των αρχείων καταγραφής, αυτή η παράδοση μπορεί να διαρκέσει από μία έως 24 ώρες.

Από προεπιλογή, η καταγραφή cookie είναι απενεργοποιημένη αλλά μπορείτε να την ενεργοποιήσετε.

Functions

Μπορείτε να δημιουργήσετε λειτουργίες στο CloudFront. Αυτές οι λειτουργίες θα έχουν το endpoint στο cloudfront καθορισμένο και θα εκτελούν έναν δηλωμένο κώδικα NodeJS. Αυτός ο κώδικας θα εκτελείται μέσα σε ένα sandbox σε μια μηχανή που λειτουργεί υπό μια διαχειριζόμενη μηχανή AWS (θα χρειαστείτε μια παράκαμψη sandbox για να καταφέρετε να ξεφύγετε στο υποκείμενο λειτουργικό σύστημα).

Δεδομένου ότι οι λειτουργίες δεν εκτελούνται στον λογαριασμό AWS των χρηστών, δεν έχει συσχετιστεί κανένας ρόλος IAM, επομένως δεν είναι δυνατή η άμεση εκμετάλλευση αυτής της δυνατότητας.

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"

Μη Αυθεντικοποιημένη Πρόσβαση

AWS - Cloudfront Unauthenticated Enum

Μετά την Εκμετάλλευση

AWS - CloudFront Post Exploitation

Tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Μάθετε & εξασκηθείτε στο Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks