subfinder
أداة متطورة من ProjectDiscovery لاستقصاء النطاقات الفرعية (subdomains)، تعتمد على تجميع البيانات من عشرات المصادر السلبية (Passive Sources) بكفاءة عالية.
دليل أداة Subfinder الشامل
تُعد أداة subfinder أداة استطلاع سلبية (Passive Reconnaissance) لاكتشاف النطاقات الفرعية، وهي من تطوير فريق ProjectDiscovery. تقوم الأداة بالاستعلام في أكثر من 30 مصدراً عاماً (مثل سجلات الشهادات الرقمية CT logs، ومحركات البحث، وواجهات البرمجة الخاصة بالاستخبارات التقنية) وتستخرج قائمة موحدة ومنقحة من النطاقات الفرعية. تمتاز الأداة بكونها لا ترسل أي حزم بيانات مباشرة إلى الهدف (Zero-touch).
التثبيت (Install)
يتم وضع مفاتيح واجهة البرمجة (API keys) للمصادر المدفوعة في الملف ~/.config/subfinder/provider-config.yaml. بدون هذه المفاتيح، ستستمر الأداة في تقديم نتائج جيدة من حوالي 15 مصدراً مجانياً.
خيارات التشغيل (Parameter reference)
| الخيار | الغرض | متى يُستخدم |
|---|---|---|
-d <domain> | استهداف نطاق واحد | الاستخدام الأساسي |
-dL <file> | استهداف قائمة نطاقات | العمليات ذات النطاق الواسع (Mass scope) |
-all | استخدام كافة المصادر المتاحة (أبطأ) | لضمان أقصى تغطية ممكنة |
-recursive | إعادة البحث عن نطاقات فرعية للنطاقات المكتشفة | للأهداف العميقة ذات المستويات المتعددة |
-silent | طباعة النتائج فقط (بدون شعار الأداة) | عند استخدام الأداة داخل سكربتات الأتمتة |
-o <file> | حفظ النتائج في ملف | للتوثيق والاحتفاظ بالأدلة الرقمية |
-oJ | المخرجات بصيغة JSON | لتغذية أنظمة الأتمتة الأخرى |
-rl <int> | تحديد معدل الطلبات (Req/sec) | لتجنب استهلاك حصص واجهة البرمجة (API Quotas) |
-nW | استثناء النطاقات العشوائية (Wildcards) | لإخفاء النتائج الناتجة عن سجلات DNS العشوائية |
منهجيات العمل الشائعة (Common workflows)
فحص سريع لنطاق واحد
فحص بجودة العمليات الاحترافية
الربط مع أدوات أخرى (Pipelining)
تحليل النتائج (Good output)
تنتج الأداة قائمة نظيفة، نطاق فرعي واحد في كل سطر، مرتبة وبدون تكرار.
api.target.gov
admin.target.gov
mail.target.gov
staging.target.gov
استكشاف الأخطاء وإصلاحها
| العرض | السبب المحتمل | الحل المقترح |
|---|---|---|
| مخرجات فارغة | النطاق لا يملك بصمة عامة أو تم حظرك مؤقتاً | أضف مفاتيح API؛ واستخدم خيار -all. |
| مئات النتائج التي تؤدي لعنوان IP واحد | وجود DNS Wildcard | استخدم خيار -nW ثم تحقق من النتائج عبر أداة dnsx. |
| خطأ في تحميل ملف الإعدادات | ملف provider-config.yaml مفقود أو معطوب | قم بتوليد ملف افتراضي عبر subfinder -ls ثم عدله. |
| الأداة تتوقف عن العمل لفترة طويلة | مصدر واحد بطيء يعيق العملية | خفض قيمة المهلة عبر -timeout. |
منظور المدافع (Defender's perspective)
بما أن subfinder تعمل بالكامل ضد بنية تحتية لطرف ثالث، فإنها لا تولد أي حركة مرور تجاه خوادم المنظمة المستهدفة. لذا، لن تظهر أي سجلات تشير إلى هذا النشاط. على المدافعين مراقبة ما "يراه" البرنامج من الخارج:
- الاشتراك في خدمات مراقبة سجلات الشهادات الرقمية (CT-log) مثل
crt.shللتنبيه عند إصدار شهادات جديدة. - تشغيل الأداة بصفة دورية ضد نطاقات المنظمة؛ الفرق بين النتائج يمثل "الظل المعلوماتي" (Shadow IT).
اعتبارات العمليات الأمنية (OPSEC)
- الأداة سلبية تماماً، لذا من الآمن تشغيلها من عنوان IP الحقيقي الخاص بك.
- مفاتيح API في ملف الإعدادات يجب أن تكون مرتبطة بـ "هوية افتراضية" (Persona) معينة؛ حيث يمكن أن تكشف المفاتيح عن هوية الجهة المشغلة إذا كانت مرتبطة ببيانات دفع حقيقية.
- الأداة لا تكتشف ما هو خلف المصادقة أو داخل شبكة DNS الداخلية؛ هذه المهام تتطلب أدوات مثل
dnsxأوamass.
أدوات مكملة
| المرحلة | الأداة | الغرض |
|---|---|---|
| بعد subfinder | dnsx | حل الأسماء، كشف الـ Wildcards، وجلب سجلات A/CNAME. |
| بعد حل الأسماء | httpx | تحديد النطاقات التي تشغل خدمات ويب (HTTP). |
| فحص الثغرات | nuclei | تشغيل قوالب الثغرات المعروفة على الروابط النشطة. |
| استطلاع أوسع | amass enum -passive | جمع سلبي أوسع نطاقاً ولكنه أبطأ. |
| التخمين النشط | puredns | تخمين النطاقات الفرعية عبر قوائم كلمات (Brute-force). |