
🚀 ماسح ضوئي وأداة DNS آليان 🖱️ (نقل المنطقة، الاستيلاء على نطاق DNS، الاستيلاء على النطاق الفرعي).
بدأت Subrake كمشروع شخصي خاص بي لتعداد النطاقات الفرعية، وهي الآن أداة فحص DNS مفصلة يمكنها مساعدتك في تحديد نقل المنطقة (Zone Transfers) والاستيلاء على منطقة DNS (DNS Zone Takeover) والاستيلاء على النطاق الفرعي (Subdomain Takeovers) دفعة واحدة.
لقد ظلت عمليات نقل المنطقة موجودة لسنوات، وإذا تم تفعيلها لسبب ما على نطاق، فيمكن لطرف آخر تعداد جميع السجلات من المنطقة. يتم استخدامها فعليًا عندما يريد المالك نقل النطاق من مزود إلى آخر.
الاستيلاء على النطاق الفرعي، على عكس ما يبدو، هو الاستيلاء على الخدمة التي يشير إليها النطاق الفرعي. يجب أن تكون الخدمة قديمة أو غير مستخدمة.
الاستيلاء على منطقة DNS مقارنة بالاستيلاء على النطاق الفرعي يمكن أن يكون أكثر خطورة إذا تم استغلاله. إنه الاستيلاء على إحدى مناطق النطاق. وهذا يسمح بأكثر بكثير من مجرد إنشاء الخدمة على الواجهة الخلفية. يمكنك فعليًا إعداد سجلات DNS الخاصة بك والتعامل معها كما يحلو لك.
لمزيد من التفاصيل المتعمقة، يمكنك قراءة مدونتي هنا: دليل نقل المنطقة والاستيلاء على منطقة DNS والاستيلاء على النطاق الفرعي
Subrake هي أداة تقييم DNS (آلية إلى حد كبير) مع واجهة مستخدم وسطر أوامر تمر بمراحل مختلفة لتغطية مشكلات DNS. تخضع الأداة للتغيير والتطوير باستمرار، والجميع مرحب به للمساهمة في المشروع.
تم تصميمها في المقام الأول لصيد الثغرات وصناعة أمن المعلومات، ولكن يمكن استخدامها أيضًا لفرق الدفاع السيبراني واختبارات الاختراق الداخلية. تدعم كلاً من واجهة سطر الأوامر وواجهة المستخدم الرسومية المستندة إلى الويب، وتدعم أوضاع تثبيت متعددة. الميزات الرئيسية هي:
csv.يمكنك إعداد subrake إما عن طريق الوضع التلقائي أو عن طريق استنساخ المستودع يدويًا والتثبيت عبر setuptools. الأول يوفر تحكمًا أكبر وهو مرن مع واجهة مستخدم. ولكن إذا كنت تفضل وضع سطر الأوامر البسيط أو على windows، فاتبع قسم يدوي.
استنساخ المستودع والدخول إليه:
$ git clone https://github.com/hash3liZer/Subrake.git
$ cd ./Subrake
يمكنك إعداد subrake عبر vagrant (مع KVM) حيث سيتم إنشاء جهاز افتراضي وسيتم إعداد كل شيء تلقائيًا. قم بتثبيت المتطلبات أولاً:
$ apt update
$ apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients bridge-utils virt-manager vagrant vagrant-libvirt
ثم داخل المستودع، قم بتشغيل vagrant:
$ vagrant up
سيستغرق هذا بعض الوقت لتجهيز الخادم. بعد الانتهاء، ستتلقى الرابط: http://127.0.0.1:9090
بيانات الاعتماد الافتراضية هي: subrake/password. يمكنك تغييرها أثناء التجهيز أيضًا:
$ SUBRAKE_USERNAME="username" SUBRAKE_PASSWORD="password" vagrant up
بعد الانتهاء، يمكنك إدارة حالة الجهاز الذي تم إنشاؤه حديثًا من خلال هذه الأوامر:
# رؤية حالة الجهاز
$ vagrant status
# تعليق الجهاز
$ vagrant suspend
# استئناف الجهاز
$ vagrant resume
# إيقاف تشغيل الجهاز
$ vagrant halt
# التشغيل مرة أخرى
$ vagrant up
# حذف الجهاز
$ vagrant destroy
مع الإعداد اليدوي، يمكنك الانتقال مباشرة إلى الدليل واستخدام setuptools للتثبيت.
قم بتثبيت المتطلبات وتشغيل setup.py:
$ pip3 install -r requirements.txt
$ python3 setup.py install
تحقق مما إذا تم تثبيت subrake أم لا:
subrake --help
يمكنك أيضًا بناء صورة docker من Dockerfile:
$ docker build -t subrake:latest .
تحقق من حاوية docker:
$ docker run --rm subrake --help
يمكنك نشر البرنامج النصي على خادم فعلي أيضًا. للقيام بذلك، قم بتشغيل خادم ubuntu 20.04 جديد وتشغيل الأمر التالي:
$ chmod +x ./installer.sh
$ ./installer.sh --deploy
الخادم يمكن الوصول إليه عند: 0.0.0.0:9090. يمكنك إعداد خدمة nginx واستخدامها كوكيل عكسي.
مع واجهة المستخدم، يمكنك الانتقال مباشرة إلى صفحة إضافة نطاق وتشغيل فحص. توقع بعض الأسئلة للفحص:
يتم إطلاق الفحص داخل جلسة tmux. يمكنك الضغط على CTRL+E => d للخروج من الشاشة الجارية وتشغيل فحص جديد. أيضًا، لإيقاف الشاشة مؤقتًا والتحرك لأعلى ولأسفل، يمكنك الضغط على CTRL+E => [. إنها اختصارات TMUX مع تغيير مفتاح الربط العام إلى CTRL+E.
يمكنك أيضًا العودة إلى شاشة قيد التشغيل عن طريق إدخال اسمها مرة أخرى:
في سطر الأوامر، يمكنك الوصول مباشرة إلى الأداة عن طريق كتابة subrake. فيما يلي بعض الأمثلة على استخدام subrake:
تشغيل بسيط مع الخيارات الافتراضية:
$ subrake -d google.com
Subrake مع خيوط متعددة:
$ subtake -d google.com -t 50
Subrake مع الوحدات وقائمة كلمات:
$ subrake -d google.com --wordlists SecLists/Discovery/DNS/namelist.txt
Subrake مع نتائج OSINT + قائمة نطاقات فرعية متعددة من SecLists:
ملاحظة: سيتم تصفية النطاقات الفرعية ذات الأسماء المتشابهة تلقائيًا ويتم حسابها كواحدة
$ subrake -d google.com --wordlists SecLists/Discovery/DNS/namelist.txt,SecLists/Discovery/DNS/dns-Jhaddix.txt
Subrake بدون محرك بحث + إخراج من أدوات متعددة مجتمعة + تصفية IP (لاحظ أنه يمكنك دمج أدواتك في subrake):
$ domain="google.com"
$ subfinder -d $domain -nW -o $domain/1.txt && sublist3r -d $domain -o $domain/2.txt && cat $domain/* >> /tmp/output.txt
$ subrake -d $domain -w tmp/output.txt --filter --skip-search
Subrake مع فحص المنافذ:
ملاحظة: سيتم فحص المنفذين 80 و 443 افتراضيًا لكل مضيف تحت لافتة HTTP/HTTPS. لذلك، ليست هناك حاجة لتحديدهما هنا
$ subrake -d google.com --ports 8080,8443,8000,23,445
لا تتردد في فتح طلبات السحب وطلب ميزة. يمكنك المساهمة عن طريق: