
🔎 ابحث عن الخوادم الأصلية لمواقع الويب الموجودة خلف CloudFlare باستخدام بيانات المسح الشامل للإنترنت من Censys.
ملاحظة مهمة: اعتبارًا من أواخر 2024، لم يعد Censys يوفر وصولًا مجانيًا لواجهة API للحسابات المجانية. هذا يعني أن CloudFlair لم يعد يعمل مع حسابات Censys المجانية.
CloudFlair هي أداة للعثور على خوادم الأصل (Origin Servers) للمواقع المحمية بواسطة CloudFlare (أو CloudFront) التي تكون مكشوفة للعامة ولا تقيد الوصول إلى الشبكة بشكل مناسب لنطاقات IP الخاصة بشبكة توصيل المحتوى (CDN).
تستخدم الأداة بيانات المسح الشامل للإنترنت من Censys للعثور على مضيفات IPv4 مكشوفة تعرض شهادة SSL مرتبطة باسم نطاق الهدف. يلزم وجود مفاتيح API يمكن الحصول عليها من حساب Censys الخاص بك.
لمزيد من التفاصيل حول هذا التكوين الخاطئ الشائع وكيفية عمل CloudFlair، راجع مقالة المدونة المصاحبة على https://blog.christophetd.fr/bypassing-cloudflare-using-internet-wide-scan-data/.
إليك شكل CloudFlair أثناء العمل.
$ python cloudflair.py myvulnerable.site
[*] The target appears to be behind CloudFlare.
[*] Looking for certificates matching "myvulnerable.site" using Censys
[*] 75 certificates matching "myvulnerable.site" found.
[*] Looking for IPv4 hosts presenting these certificates...
[*] 10 IPv4 hosts presenting a certificate issued to "myvulnerable.site" were found.
- 51.194.77.1
- 223.172.21.75
- 18.136.111.24
- 127.200.220.231
- 177.67.208.72
- 137.67.239.174
- 182.102.141.194
- 8.154.231.164
- 37.184.84.44
- 78.25.205.83
[*] Retrieving target homepage at https://myvulnerable.site
[*] Testing candidate origin servers
- 51.194.77.1
- 223.172.21.75
- 18.136.111.24
responded with an unexpected HTTP status code 404
- 127.200.220.231
timed out after 3 seconds
- 177.67.208.72
- 137.67.239.174
- 182.102.141.194
- 8.154.231.164
- 37.184.84.44
- 78.25.205.83
[*] Found 2 likely origin servers of myvulnerable.site!
- 177.67.208.72 (HTML content identical to myvulnerable.site)
- 182.102.141.194 (HTML content identical to myvulnerable.site)
(تم تشويش عناوين IP في هذا المثال واستبدالها بعناوين IP عشوائية)
$ export CENSYS_API_ID=...
$ export CENSYS_API_SECRET=...
$ git clone https://github.com/christophetd/CloudFlair.git
cd CloudFlair
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python cloudflair.py myvulnerable.site
أو لـ CloudFront
python cloudflair.py myvulnerable.site --cloudfront
$ python cloudflair.py --help
usage: cloudflair.py [-h] [-o OUTPUT_FILE] [--censys-api-id CENSYS_API_ID] [--censys-api-secret CENSYS_API_SECRET] [--cloudfront] domain
positional arguments:
domain The domain to scan
options:
-h, --help show this help message and exit
-o OUTPUT_FILE, --output OUTPUT_FILE
A file to output likely origin servers to (default: None)
--censys-api-id CENSYS_API_ID
Censys API ID. Can also be defined using the CENSYS_API_ID environment variable (default: None)
--censys-api-secret CENSYS_API_SECRET
Censys API secret. Can also be defined using the CENSYS_API_SECRET environment variable (default: None)
--cloudfront Check Cloudfront instead of CloudFlare. (default: False)
يتم توفير صورة Docker خفيفة الوزن لـ CloudFlair (christophetd/cloudflair). يمكن بدء الفحص بسهولة باستخدام الأمر التالي.
$ docker run --rm -e CENSYS_API_ID=your-id -e CENSYS_API_SECRET=your-secret christophetd/cloudflair myvulnerable.site
يمكنك أيضًا إنشاء ملف يحتوي على تعريف متغيرات البيئة، واستخدام خيار --env-file الخاص بـ Docker.
$ cat censys.env
CENSYS_API_ID=your-id
CENSYS_API_SECRET=your-secret
$ docker run --rm --env-file=censys.env christophetd/cloudflair myvulnerable.site
تم اختباره على Python 3.6. لا تتردد في فتح مشكلة إذا كانت لديك تقارير عن أخطاء أو أسئلة.