
गलत कॉन्फ़िगर किए गए CloudFront डोमेन की पहचान करने का एक उपकरण
CloudFrunt एक उपकरण है जो गलत कॉन्फ़िगर किए गए CloudFront डोमेन की पहचान करने के लिए है।
CloudFront Amazon Web Services (AWS) द्वारा प्रदान की गई एक कंटेंट डिलीवरी नेटवर्क (CDN) है। CloudFront उपयोगकर्ता "डिस्ट्रीब्यूशन" बनाते हैं जो विशिष्ट स्रोतों (जैसे S3 बकेट) से सामग्री प्रदान करते हैं।
प्रत्येक CloudFront डिस्ट्रीब्यूशन का एक अद्वितीय एंडपॉइंट होता है जिस पर उपयोगकर्ता अपने DNS रिकॉर्ड को इंगित कर सकते हैं (उदा. d111111abcdef8.cloudfront.net)। किसी विशेष डिस्ट्रीब्यूशन का उपयोग करने वाले सभी डोमेन को उस डिस्ट्रीब्यूशन के विकल्पों में "Alternate Domain Names (CNAMEs)" फ़ील्ड में सूचीबद्ध किया जाना चाहिए।
जब कोई CloudFront एंडपॉइंट एक अनुरोध प्राप्त करता है, तो वह स्वचालित रूप से संबंधित डिस्ट्रीब्यूशन से सामग्री प्रदान नहीं करता है। इसके बजाय, CloudFront अनुरोध के HOST हेडर का उपयोग यह निर्धारित करने के लिए करता है कि किस डिस्ट्रीब्यूशन का उपयोग करना है। इसका मतलब दो बातें हैं:
यदि HOST हेडर इच्छित डिस्ट्रीब्यूशन के "Alternate Domain Names (CNAMEs)" फ़ील्ड में किसी प्रविष्टि से मेल नहीं खाता है, तो अनुरोध विफल हो जाएगा।
कोई भी अन्य डिस्ट्रीब्यूशन जिसमें HOST हेडर में विशिष्ट डोमेन है, वह अनुरोध प्राप्त करेगा और सामान्य रूप से उसका जवाब देगा।
यही वह चीज़ है जो डोमेन को हाईजैक होने की अनुमति देती है। ऐसे कई मामले हैं जहां कोई CloudFront उपयोगकर्ता उन सभी आवश्यक डोमेन को सूचीबद्ध करने में विफल रहता है जो HOST हेडर में प्राप्त हो सकते हैं। उदाहरण के लिए:
इसका मतलब है कि CloudFront द्वारा एक एकल डिस्ट्रीब्यूशन से बांधा गया अद्वितीय एंडपॉइंट प्रभावी रूप से अर्थहीन है। किसी विशिष्ट CloudFront उपडोमेन का अनुरोध उस डिस्ट्रीब्यूशन तक सीमित नहीं है जिसके साथ वह जुड़ा हुआ है।
यह सॉफ्टवेयर लेखक द्वारा "जैसा है" प्रदान किया गया है और कोई भी व्यक्त या निहित वारंटी, जिसमें, लेकिन सीमित नहीं, व्यापारिकता और किसी विशेष उद्देश्य के लिए उपयुक्तता की निहित वारंटी शामिल है, अस्वीकृत की जाती है। किसी भी स्थिति में लेखक किसी भी प्रत्यक्ष, अप्रत्यक्ष, आकस्मिक, विशेष, अनुकरणीय, या परिणामी क्षति (जिसमें, लेकिन सीमित नहीं, वैकल्पिक वस्तुओं या सेवाओं की प्राप्ति; उपयोग, डेटा, या लाभ की हानि; या व्यवसाय में रुकावट) के लिए उत्तरदायी नहीं होगा, चाहे वह किसी भी सिद्धांत के तहत उत्पन्न हो, चाहे वह अनुबंध, कठोर दायित्व, या अपकार (लापरवाही सहित) में हो, भले ही ऐसी क्षति की संभावना के बारे में सलाह दी गई हो।
$ git clone --recursive https://github.com/MindPointGroup/cloudfrunt
$ pip install -r requirements.txt
CloudFrunt को dnsrecon स्क्रिप्ट को dnsrecon नामक उपनिर्देशिका में क्लोन किए जाने की अपेक्षा है।
cloudfrunt.py [-h] [-l TARGET_FILE] [-d DOMAINS] [-o ORIGIN] [-i ORIGIN_ID] [-s] [-N]
-h, --help यह संदेश दिखाएँ और बाहर निकलें
-s, --save परिणामों को results.txt में सहेजें
-N, --no-dns दायरा बढ़ाने के लिए dnsrecon का उपयोग न करें
-l, --target-file TARGET_FILE डोमेन की सूची वाली फ़ाइल (प्रति पंक्ति एक)
-d, --domains DOMAINS स्कैन करने के लिए अल्पविराम से अलग किए गए डोमेन की सूची
-o, --origin ORIGIN इस मूल के साथ नए वितरणों में कमजोर डोमेन जोड़ें
-i, --origin-id ORIGIN_ID नए वितरणों के साथ उपयोग करने के लिए मूल आईडी
$ python cloudfrunt.py -o cloudfrunt.com.s3-website-us-east-1.amazonaws.com -i S3-cloudfrunt -l list.txt
CloudFrunt v1.0.4
[+] Enumerating DNS entries for google.com
[-] No issues found for google.com
[+] Enumerating DNS entries for disloops.com
[+] Found CloudFront domain --> cdn.disloops.com
[+] Found CloudFront domain --> test.disloops.com
[-] Potentially misconfigured CloudFront domains:
[#] --> test.disloops.com
[+] Created new CloudFront distribution EXBC12DE3F45G
[+] Added test.disloops.com to CloudFront distribution EXBC12DE3F45G