اعرف اللي قصادك. احمي أرضك.

subfinder

أداة متطورة من ProjectDiscovery لاستقصاء النطاقات الفرعية (subdomains)، تعتمد على تجميع البيانات من عشرات المصادر السلبية (Passive Sources) بكفاءة عالية.

هجوممفتوحة المصدرLinuxmacOSWindows
github.com/projectdiscovery/subfinder

دليل أداة Subfinder الشامل

تُعد أداة subfinder أداة استطلاع سلبية (Passive Reconnaissance) لاكتشاف النطاقات الفرعية، وهي من تطوير فريق ProjectDiscovery. تقوم الأداة بالاستعلام في أكثر من 30 مصدراً عاماً (مثل سجلات الشهادات الرقمية CT logs، ومحركات البحث، وواجهات البرمجة الخاصة بالاستخبارات التقنية) وتستخرج قائمة موحدة ومنقحة من النطاقات الفرعية. تمتاز الأداة بكونها لا ترسل أي حزم بيانات مباشرة إلى الهدف (Zero-touch).

التثبيت (Install)

$ go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
# أو عبر مديري الحزم:
$ brew install subfinder
$ apt install subfinder

يتم وضع مفاتيح واجهة البرمجة (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)

فحص سريع لنطاق واحد

$ subfinder -d target.gov -silent | tee subs.txt
# اكتشاف مئات النطاقات في ثوانٍ معدودة بدون الحاجة لمفاتيح API.

فحص بجودة العمليات الاحترافية

$ subfinder -d target.gov -all -recursive -o subs.txt
# يُنصح باستخدامه مرة واحدة لكل نطاق لضمان شمولية البحث (قد يستغرق 1-5 دقائق).

الربط مع أدوات أخرى (Pipelining)

$ subfinder -d target.gov -silent \
$ | httpx -silent -title -tech-detect -status-code \
$ | tee live.txt

تحليل النتائج (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.

أدوات مكملة

المرحلةالأداةالغرض
بعد subfinderdnsxحل الأسماء، كشف الـ Wildcards، وجلب سجلات A/CNAME.
بعد حل الأسماءhttpxتحديد النطاقات التي تشغل خدمات ويب (HTTP).
فحص الثغراتnucleiتشغيل قوالب الثغرات المعروفة على الروابط النشطة.
استطلاع أوسعamass enum -passiveجمع سلبي أوسع نطاقاً ولكنه أبطأ.
التخمين النشطpurednsتخمين النطاقات الفرعية عبر قوائم كلمات (Brute-force).