






السمعة:
- إنضم17 يونيو 2023
- المشاركات 515
- الحلول 10
- مستوى التفاعل 1,106
- النقاط 93
Subdomain Enumeration
شرح لعملية اكتشاف النطاقات الفرعية (Subdomain Enumeration) بطريقة بسيطة وعامية:الـ Subdomain Enumeration هو اكتشاف النطاقات الفرعية اللي بتكون جزء من نطاق الـ (Domain) الرئيسي، والسبب اللي بنعمل هيك هو إننا بنحاول نوسع مجال الهجمات اللي ممكن نقوم فيها على هدف معين.
راح نحكي عن ثلاث طرق مختلفة لاكتشاف النطاقات الفرعية :
1. البروت فورس ( DNS Bruteforce ).
2. مصادر المعلومات المفتوحة (OSINT - SSL/TLS Certificates).
3. المضيف الافتراضي (Virtual Host).
مصادر المعلومات المفتوحة (OSINT - SSL/TLS Certificates)
SSL/TLS Certificates
الـ SSL/TLS Certificates وهي شغله بتنعمل للمواقع على الإنترنت عشان تكون آمنة ومحمية. لما حد بيعمل SSL/TLS Certificate لموقع، بيتم تسجيله في سجلات اسمها “Certificate Transparency (CT) logs” عشان يكون متاح للناس تشوف الشهادة هاي وما تتستخدمش بشكل غلط أو خاطئ.SSL/TLS Certificates
المهم، معناه إننا ممكن نستفيد من الشهادات هاي عشان نكتشف السب دومينز اللي بتتبع لموقع معين. في مواقع على الإنترنت زي CRT و Entrust Certificate Search - Entrust, Inc. بيقدموا لنا قاعدة بيانات بتظهرلنا كل الشهادات اللي تم إصدارها لمجال معين، وهاد بيساعدنا نعرف السب دومينز اللي ممكن تكون مرتبطة بالموقع المعين.
مثال على ذلك
tryhackme.com
ثم نبحث عن التاريخ المحددنجد
Search Engines
المحركات البحثية فيها مليارات من الروابط لأكثر من مليار موقع على الإنترنت، وهذا ممكن انه يكون مفيد جدًا للعثور على مواقع فرعية جديدة. باستخدام أساليب بحث متقدمة على مثل جوجل، بإمكانك تضييق نطاق البحث. على سبيل المثال، إذا استخدمت كلمة “:site” مع تصفية البحث، مثل-site:http://www.domain.com/ site:*.domain.com
سيقتصر البحث على نتائج ترتبط فقط بموقع domain.com
وستستبعد أي نتائج تشير إلى http://www.domain.com/
ببساطة، ستظهر لك أسماء الصفحات الفرعية التي تتبع موقع domain.com
فقط.مثال على ذلك
Sublist3r
عشان نسرع في اكتشاف الدومينات الفرعية للموقع، بنقدر نستخدم أدوات زي Sublist3r.مثال على ذلك
البروت فورس ( DNS Bruteforce )
هي طريقة لاكتشاف أسماء فرعية تحت مواقع ويب. يعني زي موقع الفيسبوك مثلا، بنقدر نحاول نعرف أسماء فرعية زي
news.facebook.com
أو photos.facebook.com
الخ…الفكرة إننا بنجرب أسماء فرعية ممكن تكون موجودة بالآلاف أو الملايين. عشان نعمل العملية هاي بسرعة بنستخدم أدوات خاصة بالتلقائية. في مثل هذه الحالة بنستخدم أداة اسمها “dnsrecon” عشان تسهل علينا العملية.
مثال على ذلك
المضيف الافتراضي (Virtual Host)
الـ Virtual Hosts هي طريقة لإستضافة أكثر من موقع ويب على نفس الخادم ( سيرفر ويب واحد ). ببساطه مرات بكون مواقع ويب بتكون مش متاحة على الإنترنت بشكل عام، زي مواقع الاختبار أو الإصدارات التطويرية لتطبيق ويب معين أو حتى البوابات الإدارية. بدال ما يكون سجل DNS لهذه المواقع على الإنترنت العام بأمكانه انه يحتفظ بهذا السجل على خادم DNS خاص أو يمكن تسجيله على أجهزة المطورين في ملف

الـ
etc/hosts/
(لأجهزة Linux)الـ
c:\windows\system32\drivers\etc\hosts
(لمستخدمي Windows)وهذا الملف يقوم بتعيين أسماء النطاقات إلى عناوين IP.
عشان نستفيد من هذا الموضوع، وبما أن خادم الويب بأمكانه انه يستضيف مواقع ويب متعددة من نفس الخادم، لما يطلب موقع ويب معين من عميل الخادم بعرف أي موقع ويب يريده العميل
من خلال رأس الاستضافة ( Host header ). ويمكننا استغلال هذا الرأس بتعديله ومراقبة الاستجابة لنرى ما إذا اكتشفنا موقع ويب جديد.
مثلما نستخدم قائمة كلمات مع DNS Bruteforce يمكننا أيضًا أتوماتيز ( اكتشاف النطاقات الفرعية تتم بشكل آلي باستخدام قائمة كلمات محددة ) هذه العملية باستخدام قائمة كلمات تحتوي على النطاقات الفرعية الشائعة.
مثال على ذلك
يمكن عن طريق هذا الامر
كود:
user@machine$ ffuf -w /usr/share/wordlists/SecLists/Discovery/DNS/namelist.txt -H "Host: FUZZ.acmeitsupport.thm" -u http://MACHINE_IP
الـ -w : لتحديد قائمة الكلمات التي سنستخدمها.
الـ -H لإضافة/تعديل رأس الاستضافة ( Host header ).
وهون سنقوم بتجربة جميع الخيارات الموجودة في القائمة.
لكن عند الفحص تجد انه يوجد الكثير من النطاقات تُرجع صفحة ويب بنفس الحجم وعدد الكلمات وعدد الأسطر
مثل هذه

لكي نستثني هذا الصفحات يمكن باستخدام هذا الأمر

كود:
user@machine$ ffuf -w /usr/share/wordlists/SecLists/Discovery/DNS/namelist.txt -H "Host: FUZZ.acmeitsupport.thm" -u http://MACHINE_IP -fs 2395
الـ -fs يخبر ffuf بتجاهل أي نتائج تكون من الحجم المحدد.
هكذا قمنا بتجاهل كل الصفحات التي ترجع هذا الحجم

- ملاحظه
اذا حاولت على جهازك الشخصي قد يظهر لك اكثر من هذا الخيارين بسبب ان قائمه الكلمات تم تعديلها واضافه كلمات عليها .
التعديل الأخير: