AWS - CloudFront Enum

Reading time: 4 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें

CloudFront

CloudFront AWS का सामग्री वितरण नेटवर्क है जो आपके स्थिर और गतिशील सामग्री के वितरण को तेज करता है इसके विश्वव्यापी एज स्थानों के नेटवर्क के माध्यम से। जब आप Amazon CloudFront के माध्यम से होस्ट की गई सामग्री के लिए एक अनुरोध करते हैं, तो अनुरोध निकटतम एज स्थान पर रूट किया जाता है जो इसे सबसे कम विलंबता प्रदान करता है ताकि सर्वोत्तम प्रदर्शन दिया जा सके। जब CloudFront एक्सेस लॉग सक्षम होते हैं, तो आप प्रत्येक उपयोगकर्ता के अनुरोध को रिकॉर्ड कर सकते हैं जो आपकी वेबसाइट और वितरण तक पहुंचने का अनुरोध कर रहा है। S3 एक्सेस लॉग की तरह, ये लॉग भी Amazon S3 पर टिकाऊ और स्थायी भंडारण के लिए संग्रहीत होते हैं। लॉगिंग को सक्षम करने के लिए कोई शुल्क नहीं है, हालाँकि, चूंकि लॉग S3 में संग्रहीत होते हैं, इसलिए आपको S3 द्वारा उपयोग किए गए भंडारण के लिए शुल्क लिया जाएगा।

लॉग फ़ाइलें एक निश्चित समय के दौरान डेटा कैप्चर करती हैं और Amazon CloudFront द्वारा उस वितरण के लिए प्राप्त अनुरोधों की मात्रा पर निर्भर करती हैं कि कितनी लॉग फ़ाइलें उत्पन्न होती हैं। यह जानना महत्वपूर्ण है कि ये लॉग फ़ाइलें S3 पर नहीं बनाई या लिखी जाती हैं। S3 बस वह स्थान है जहाँ उन्हें लॉग फ़ाइल भरने के बाद वितरित किया जाता है। Amazon CloudFront इन लॉग को तब तक बनाए रखता है जब तक कि उन्हें S3 में वितरित करने के लिए तैयार नहीं किया जाता। फिर, इन लॉग फ़ाइलों के आकार के आधार पर, यह वितरण एक से 24 घंटे के बीच ले सकता है।

डिफ़ॉल्ट रूप से कुकी लॉगिंग अक्षम है लेकिन आप इसे सक्षम कर सकते हैं।

Functions

आप CloudFront में फ़ंक्शन बना सकते हैं। इन फ़ंक्शनों का एंडपॉइंट क्लाउडफ्रंट में परिभाषित होगा और यह एक घोषित NodeJS कोड चलाएगा। यह कोड एक मशीन के अंदर सैंडबॉक्स में चलेगा जो AWS प्रबंधित मशीन के तहत चल रही है (आपको अंतर्निहित OS से बचने के लिए एक सैंडबॉक्स बायपास की आवश्यकता होगी)।

चूंकि फ़ंक्शन उपयोगकर्ताओं के AWS खाते में नहीं चलाए जाते हैं, कोई IAM भूमिका संलग्न नहीं होती है इसलिए इस सुविधा का दुरुपयोग करके कोई प्रत्यक्ष प्रिवेस्क संभव नहीं है।

Enumeration

bash
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 हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE) Azure हैकिंग सीखें और अभ्यास करें: HackTricks Training Azure Red Team Expert (AzRTE)

HackTricks का समर्थन करें