
أداة لتحديد نطاقات CloudFront التي تم تكوينها بشكل خاطئ
CloudFrunt هي أداة لتحديد نطاقات CloudFront غير المهيأة بشكل صحيح.
CloudFront هي شبكة توصيل المحتوى (CDN) مقدمة من خدمات أمازون ويب (AWS). يقوم مستخدمو CloudFront بإنشاء "توزيعات" تقدم محتوى من مصادر محددة (مثل S3 bucket على سبيل المثال).
كل توزيع CloudFront له نقطة نهاية فريدة ليستخدمها المستخدمون لتوجيه سجلات DNS الخاصة بهم (مثال: d111111abcdef8.cloudfront.net). يجب إدراج جميع النطاقات التي تستخدم توزيعًا معينًا في حقل "أسماء النطاقات البديلة (CNAMEs)" في خيارات ذلك التوزيع.
عندما تستقبل نقطة نهاية CloudFront طلبًا، فإنها لا تقدم المحتوى تلقائيًا من التوزيع المقابل. بدلاً من ذلك، يستخدم CloudFront رأس 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 حفظ النتائج في نتائج.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