
Whois للسحابة: أداة استطلاع لإسناد مزودي الخدمات السحابية. تدعم AWS, Azure, Google, Cloudflare, و Digital Ocean.
ابحث عن عنوان IP لمعرفة مزود الخدمة السحابية وتفاصيل أخرى بناءً على بيانات JSON أو CSV أو نصية منشورة من المزود
Cloud edge هي أداة استطلاع تركز على استكشاف مزودي الخدمات السحابية. يمكن استخدامها للإسناد السحابي والطب الشرعي، واختبار الاختراق، وصيد الثغرات، والفرق الحمراء، أو البحث والتطوير العام لمزودي الخدمات السحابية. تقوم الأداة تلقائيًا بتحميل ملفات نطاقات عناوين IP المنشورة من مزودي الخدمات السحابية (AWS، Azure، GCP، Cloudflare، Digital Ocean) وتقوم بعملية بحث عن البادئة بناءً على عنوان IP المدخل. يمكن استخدامها للتكامل مع أدوات استطلاع أخرى. في اختبار اختراق الشبكة الصندوق الأسود، تكتشف Edge بسرعة أي مزود خدمات سحابية يستضيف العميل، أو مجرد التحقق المزدوج من النطاق لقواعد الاشتباك. ينشر كل من هؤلاء المزودين قائمة بجميع بادئات IP و/أو كتلة الشبكة الخاصة بهم. بالنسبة لـ Azure و AWS، يضيف ذلك اسم المنطقة/مركز البيانات واسم الخدمة. هذا إثراء ممتاز لاستخبارات التهديدات، مما يسمح لك بربط عناوين IP بمراكز البيانات الفعلية والخدمات السحابية. يمكن أن تكون Cloud Edge مفيدة في سير العمل الاستطلاعي لمعرفة "ما تتعامل معه" بسرعة - فهي تقوم بتحليل سريع والبحث بناءً على بادئة IP.

فيما يلي بعض الملاحظات حول كيفية عمل الأداة للمدخلات والمخرجات.
قم بتشغيل Cloud Edge وسيتم تنزيل جميع ملفات مزودي الخدمات السحابية المدعومة تلقائيًا. إذا كانت الملفات غير موجودة في دليل العمل، فسيتم تنزيلها:
% ./edge
[INF] بدء إصدار Cloud Edge 0.2.4
[INF] تم تنزيل وإنشاء ملف cloud.json
[INF] تم تنزيل وإنشاء ملف aws.json
[INF] تم تنزيل وإنشاء ملف cloudflare-ipv4.txt
[INF] تم تنزيل وإنشاء ملف cloudflare-ipv6.txt
[INF] تم تنزيل وإنشاء ملف digitalocean.csv
[INF] تم تنزيل وإنشاء ملف azure.json
إذا كنت غير متصل بالإنترنت ولا يمكن تنزيلها، فتحقق من دليل csp-files في هذا المستودع. انسخها إلى دليل العمل.
عند تشغيل الأداة لأول مرة، تحاول تلقائيًا تنزيل وتحميل ملفات نطاقات عناوين IP الستة لمزودي الخدمات السحابية بتنسيقات JSON و Text و CSV إلى دليل العمل. إليك كيفية عملها:
بشكل افتراضي، تحاول تنزيل الملفات الستة من عناوين URL أدناه ما لم تكن الملفات موجودة بالفعل في دليل العمل.
تتحقق Cloud Edge من وجود كل ملف قبل التنزيل. لذا إذا كان الملف موجودًا بالفعل، فلن يتم تنزيله مرة أخرى ما لم تقم بحذفه.
يتم تضمين هذه الملفات الستة في هذا المستودع على GitHub في دليل csp-files. نظرًا لأن مزودي الخدمات السحابية يقومون بتحديث قوائمهم بشكل متكرر، تأكد من حصولك على أحدث الملفات عن طريق إزالة الملفات الموجودة في دليل العمل الخاص بك: aws.json, azure.json, cloud.json, cloudflare-ipv4.txt, cloudflare-ipv6.txt, digitalocean.csv.
إذا تم العثور عليها في دليل العمل، يتم تحميل جميع بادئات IP في الذاكرة. تحاول ملفات نطاقات IP الخاصة بمزودي الخدمات السحابية دائمًا التحميل من دليل العمل. يتم تمكين البحث الفعلي باستخدام العلامة -prefix.
عند تمكين وضع -dns، يتم تخزين استعلامات DNS لكل من سجلات A و CNAME مؤقتًا دون عرض حتى تنتهي جميع استعلامات DNS. بعد انتهاء الاستعلامات، يتم عرض المخرجات.
بشكل افتراضي، تعرض المخرجات رسائل إعلامية تبدأ بـ [INF]. يمكن تعطيل ذلك باستخدام العلامة -silent. ستبدو المخرجات كما يلي:
./edge -single 140.179.144.130
[INF] بحث بادئة IP واحدة لـ 140.179.144.130
[INF] تمت مطابقة IP [140.179.144.130] مع مزود الخدمة السحابية عبر البادئة [AWS:140.179.144.128/25]
[INF] تمت مطابقة IP [140.179.144.130] مع الخدمة السحابية [API_GATEWAY] والمنطقة [cn-north-1]
140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY
ستخبرك الرسائل الإعلامية إذا تم العثور على سجل من خلال سجل DNS 'A' أو سجل DNS 'CNAME' أو الشهادة (crt.sh) أو إذا تم العثور على تطابق بادئة. ستخبرك تطابقات البادئة بمزود الخدمة السحابية المكتشف مع البادئة المطابقة، بالإضافة إلى الخدمة السحابية والمنطقة إذا أمكن. لم يتم اكتشاف مناطق Azure حاليًا ولكن يتم اكتشاف مناطق AWS.
مع وضع -dns أو crt، يتم إرسال المخرجات افتراضيًا إلى وحدة التحكم كنتائج مفصولة بفواصل. وهذا يسهل استخدام أدوات أخرى لتحليل هذه النتائج.
FQDN,IP,SOURCE,CNAME,DESCRIPTION
-prefix.مع وضع -prefix وإما -ip أو -nmap، يتم إرسال المخرجات افتراضيًا إلى وحدة التحكم كنتائج مفصولة بفواصل:
IP,DESCRIPTION
IP هو عنوان IP و DESCRIPTION هو نتائج بحث نطاقات عناوين IP في ملفات JSON الخاصة بنطاقات IP الخاصة بمزود الخدمة السحابية، إذا أمكن.
مع وضع -ptr وإما -ip أو -nmap، يتم إرسال المخرجات افتراضيًا إلى وحدة التحكم كنتائج مفصولة بفواصل:
IP,PTR
IP هو عنوان IP و PTR هو نتائج بحث DNS PTR إذا تم العثور عليه.
العلامة -ip تشير إلى التكرار عبر قائمة عناوين IP ويمكن استخدامها في وضعي prefix أو ptr. عند تشغيل الأداة باستخدام -ip <hosts.txt>، تتوقع كل عنوان IP في سطر منفصل، وستقوم بالتكرار عبر القائمة لإجراء عمليات البحث. إليك مثال على محتويات الملف:
user@host:~/demo$ cat ip.txt
3.133.110.237
18.117.232.92
18.221.247.211
3.137.199.52
العلامة -nmap تشير إلى تحليل ملف nmap XML. ستبحث عن أي مضيف في ملف فحص nmap تم وضع علامة عليه باسم "Up". على سبيل المثال، -nmap scan1.xml ستوجه الأداة لتحليل ملف scan1.xml والبحث عن أي مضيفين تم وضع علامة "Up" عليهم بواسطة nmap. ثم تقوم بتشغيلها مع إما -ptr أو -prefix للبحث عن عنوان IP.
تقوم الأداة بتعداد النطاقات الفرعية التقليدي عن طريق التكرار عبر قائمة كلمات تحتوي على أسماء مضيفين، اسم مضيف واحد في كل سطر. يتم استخدام هذا في وضع -dns مع -wordlist <hosts.txt>. مثال على ما يبدو عليه ملف hosts.txt:
user@host:~/demo$ more subdomains-5k.txt
www
blog
news
blogs
en
online
$ edge -help
استخدام edge:
-crt
وضع البحث في سجل الشفافية
-csv string
إخراج النتائج إلى ملف CSV
-dns
وضع البحث عن سجلات A و CNAME
-domain string
النطاق الذي سيتم التخمين ضده.
-ip string
الملف النصي لاستخدامه مع عناوين IP
-nmap string
ملف فحص nmap xml لاستخدامه.
-output
تمكين الإخراج إلى CSV
-prefix
وضع بحث بادئة IP لمزود الخدمة السحابية
-ptr
وضع بحث PTR
-resolver string
خادم DNS لاستخدامه. (الافتراضي "8.8.8.8:53")
-silent
تمكين الوضع الصامت لقمع [INF]
-single string
عنوان IP واحد للبحث عن البادئة
-verbose
تمكين الإخراج المفصل
-wordlist string
قائمة الكلمات لاستخدامها في التخمين.
-workers int
عدد العمال لاستخدامهم. (الافتراضي 10)
مثال #1: بحث عن عنوان IP واحد
edge -single <ip_address>
الوصف: قم بإجراء بحث بادئة لعنوان IP واحد مقدم مع <ip_addr> في ملفات JSON الخاصة بمزود الخدمة السحابية.
نموذج الإخراج:
edge -single 140.179.144.130
[INF] بحث بادئة IP واحدة لـ 140.179.144.130
[INF] تمت مطابقة IP [140.179.144.130] مع مزود الخدمة السحابية عبر البادئة [AWS:140.179.144.128/25]
[INF] تمت مطابقة IP [140.179.144.130] مع الخدمة السحابية [API_GATEWAY] والمنطقة [cn-north-1]
140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY
مثال #2: بحث عن عنوان IP واحد مع كتم رسائل المعلومات
$ edge -single <ip_address> -silent
الوصف: نفس المثال أعلاه، ولكن مع تمكين الوضع الصامت. يؤدي ذلك إلى كتم رسائل [INF] مع معلومات إضافية.
نموذج الإخراج:
edge -single 140.179.144.130
140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY
مثال #3: استخدام ملفات JSON المحلية للمزود بدلاً من تنزيلها.
edge -single <ip_address> -silent -nd
الوصف: لا تحاول تنزيل ملفات JSON الخاصة بالمزود، ولكن استخدم الملفات المحلية في دليل العمل.
مثال #4: تعداد النطاقات الفرعية بقائمة الكلمات مع شفافية الشهادة وبحث البادئة.
edge -domain <domain> -dns -crt -prefix -wordlist <wordlist.txt>
الوصف: قم بإجراء تعداد نطاقات فرعية بقائمة كلمات لجميع سجلات A و CNAME بناءً على wordlist.txt للنطاق مع بحث شفافية الشهادة. لكل مضيف تم تعداده مع شفافية الشهادة، قم أيضًا بإجراء بحث DNS. قم بإجراء بحث بادئة IP لعنوان IP عبر قائمة بادئات IP المنشورة من جميع مزودي الخدمات السحابية الثلاثة.
نموذج الإخراج:
edge -domain tesla.com -dns -crt -prefix -wordlist subdomains-5k.txt
[INF] تم العثور على مضيف عبر crt.sh [nas-origin.tesla.com]
nas-origin.tesla.com,,Certificate,,
[INF] تم العثور على مضيف عبر crt.sh [eua-origin.tesla.com]
eua-origin.tesla.com,,Certificate,,
[INF] تم العثور على مضيف عبر CNAME [fleetview.prd.na.fn.tesla.com.:fleetview.prd.usw2.fn.tesla.com]
fleetview.prd.na.fn.tesla.com.,,CNAME,fleetview.prd.usw2.fn.tesla.com,
[INF] تم العثور على مضيف عبر CNAME [fleetview.prd.usw2.fn.tesla.com.:a69ff530d53f14d8e8059a3aee44e9ab-1848028946.us-west-2.elb.amazonaws.com]
fleetview.prd.usw2.fn.tesla.com.,,CNAME,a69ff530d53f14d8e8059a3aee44e9ab-1848028946.us-west-2.elb.amazonaws.com,
[INF] تم العثور على مضيف عبر A [a69ff530d53f14d8e8059a3aee44e9ab-1848028946.us-west-2.elb.amazonaws.com:52.39.128.70]
[INF] تمت مطابقة مزود الخدمة السحابية عبر البادئة [AWS:52.36.0.0/14]
[INF] تمت مطابقة IP [52.39.128.70] مع الخدمة السحابية [EC2] والمنطقة [us-west-2]
مثال #5: تعداد النطاقات الفرعية بقائمة كلمات بدون شفافية الشهادة أو بحث بادئة IP.
edge -domain <domain> -dns -wordlist <wordlist.txt>
الوصف: قم فقط بإجراء فحص بقائمة كلمات لجميع سجلات A و CNAME بناءً على wordlist.
نموذج الإخراج:
edge -domain tesla.com -dns -wordlist subdomains-5k.txt
[INF] تم العثور على مضيف عبر CNAME [fleetview.prd.na.fn.tesla.com.:fleetview.prd.usw2.fn.tesla.com]
fleetview.prd.na.fn.tesla.com.,,CNAME,fleetview.prd.usw2.fn.tesla.com,
[INF] تم العثور على مضيف عبر A [e9056.b.akamaiedge.net:23.2.254.58]
e9056.b.akamaiedge.net,23.2.254.58,A,teslamotors.vanity3.ca1.qualtrics.com,
مثال #6: تعداد النطاقات الفرعية بقائمة كلمات بدون شفافية الشهادة ولكن مع البحث عن بادئة IP لأي عناوين IP تم العثور عليها.
edge -domain <domain> -dns -wordlist <wordlist.txt> -prefix
الوصف: قم فقط بإجراء فحص بقائمة كلمات لجميع سجلات A و CNAME بناءً على wordlist. لكل عنوان IP تم تعداده، قم بإجراء بحث بادئة.
مثال #7: بحث سجل شفافية الشهادة.
edge -domain <domain> -crt
الوصف: قم بإجراء بحث في سجل شفافية الشهادة باستخدام https://crt.sh
نموذج الإخراج:
edge -domain tesla.com -crt
[INF] تشغيل بحث شفافية الشهادة crt.sh
[INF] تم العثور على مضيف عبر crt.sh [solarbonds.tesla.com]
solarbonds.tesla.com,,Certificate,,
[INF] تم العثور على مضيف عبر crt.sh [energydesk.tesla.com]
energydesk.tesla.com,,Certificate,,
مثال #8: شفافية الشهادة مع بحث DNS
edge -domain <domain> -dns -crt
الوصف: قم بإجراء بحث شفافية الشهادة. لكل مضيف تم اكتشافه عبر شفافية الشهادة، قم بإجراء بحث DNS كامل لسجل A أو CNAME.
مثال #9: بحث بادئة IP مع قائمة عناوين IP
edge -prefix -ip <ip-hosts.txt>
الوصف: قم بإجراء بحث عن عنوان IP لبادئة IP الخاصة بمزود الخدمة السحابية. يأخذ قائمة عناوين IP في ip-hosts.txt ويبحث من خلالها. عنوان IP واحد في كل سطر.
نموذج الإخراج:
edge -prefix -ip ip-hosts.txt
[INF] تمت مطابقة IP [140.179.144.130] مع مزود الخدمة السحابية عبر البادئة [AWS:140.179.144.128/25]
[INF] تمت مطابقة IP [140.179.144.130] مع الخدمة السحابية [API_GATEWAY] والمنطقة [cn-north-1]
140.179.144.130,Provider:AWS;Prefix:140.179.144.128/25;Region:cn-north-1;Service:API_GATEWAY
[INF] تمت مطابقة IP [18.189.124.22] مع مزود الخدمة السحابية عبر البادئة [AWS:18.189.0.0/16]
[INF] تمت مطابقة IP [18.189.124.22] مع الخدمة السحابية [EC2] والمنطقة [us-east-2]
18.189.124.22,Provider:AWS;Prefix:18.189.0.0/16;Region:us-east-2;Service:EC2
[INF] تمت مطابقة IP [20.60.128.132] مع مزود الخدمة السحابية عبر البادئة [Azure:20.60.0.0/16]
[INF] تمت مطابقة IP [20.60.128.132] مع الخدمة السحابية [AzureStorage]
20.60.128.132,Provider:Azure;Prefix:20.60.0.0/16;Name:Storage;ID:Storage;Platform:Azure;SystemService:AzureStorage
مثال #10: بحث DNS PTR مع قائمة عناوين IP
edge -ptr -ip <ip-hosts.txt>
الوصف: يقوم بإجراء بحث DNS PTR بناءً على عنوان IP في كل سطر من ip-hosts.txt.
نموذج الإخراج:
edge -ptr -ip ip-hosts.txt
140.179.144.130,ec2-140-179-144-130.cn-north-1.compute.amazonaws.com.cn.
مثال #11: تحليل ملف nmap وإجراء بحث بادئة لعناوين IP التي تم العثور عليها
edge -prefix -nmap <results.xml>
الوصف: يحلل ملف فحص nmap XML، ويحدد جميع المضيفين "Up". لكل مضيف "Up" في نتائج فحص nmap XML، قم بإجراء بحث بادئة IP لمزود الخدمة السحابية.
مثال #12: تحليل ملف nmap وإجراء بحث DNS PTR لكل عنوان IP تم العثور عليه
edge -ptr -nmap <results.xml>
الوصف: يحلل ملف فحص nmap XML، ويقوم بإجراء بحث PTR لكل مضيف "Up".
مثال #13: إضافة التزامن مع 100 عامل لتعزيز الأداء
edge -domain <domain> -dns -wordlist <wordlist.txt> -workers 100
الوصف: يستخدم فحص DNS متزامن مع 100 عامل. هذا يزيد من سرعة الفحص. العمال الافتراضيون: 10.
مثال #14: تحديد محلل DNS
edge -domain <domain> -dns -wordlist <wordlist.txt> -resolver 8.8.4.4:53
الوصف: حدد محلل DNS بـ 8.8.4.4 على المنفذ 53. الافتراضي هو 8.8.8.8.
يمكنك الحصول على الملفات الثنائية المجمعة مسبقًا أو بنائها. تأكد أيضًا من الحصول على ملفات JSON الخاصة ببادئات IP الخاصة بمزود الخدمة السحابية.
تم اختباره وبناؤه باستخدام go 1.25
$ git clone https://github.com/iknowjason/edge.git
$ cd edge
~/edge$ go build edge.go
~/edge$ ./edge (تحقق منه)
@mosesrenegade للإلهام في الأداة
@0xdabbad00 للأدوات العامة لـ AWS والإلهام
تم استلهام هذه الأداة من العديد من الأدوات والمؤلفين الآخرين، بما في ذلك dnsrecon و gobuster. أعلم. ليس هناك الكثير من الجديد هنا - مجرد أداة تعداد نطاقات فرعية أخرى. أردت فقط تعلم Golang :-)
كتاب "Black Hat Go"
| المزود | الملف المحلي | عنوان URL البعيد |
|---|
| AWS | aws.json | https://ip-ranges.amazonaws.com/ip-ranges.json |
| Azure | azure.json | https://azservicetags.azurewebsites.net/ |
| GCP | cloud.json | https://www.gstatic.com/ipranges/cloud.json |
| Cloudflare | cloudflare-ipv4.txt | https://www.cloudflare.com/ips-v4/# |
| Cloudflare | cloudflare-ipv6.txt | https://www.cloudflare.com/ips-v6/# |
| Digital Ocean | digitalocean.csv | https://digitalocean.com/geo/google.csv |