
ماسح سريع لاستيلاء على النطاقات الفرعية مع 50+ توقيعًا، يدعم التكامل مع موفري الخدمات السحابية (AWS، Azure، Cloudflare) ووضع خط أنابيب CI/CD لاختبار أمني آلي.
DNS Reaper هي أداة أخرى لاستحواذ النطاقات الفرعية، لكن مع التركيز على الدقة والسرعة وعدد التوقيعات في ترسانتنا!
يمكننا مسح حوالي 50 نطاقًا فرعيًا في الثانية، واختبار كل واحد منها بأكثر من 50 توقيع استحواذ. هذا يعني أن معظم المؤسسات يمكنها مسح كامل ممتلكات DNS الخاصة بها في أقل من 10 ثوانٍ.
لتسهيل البدء، بنينا نسخة ويب صغيرة تقوم بمسح ملف منطقة DNS، أو قائمة مفصولة بفواصل، أو حتى 100 نطاق فرعي نجده من ProjectDiscovery.
جربها هنا: dnsreaper web
بالطبع أداة CLI أكثر روعة وأسرع.

يمكنك تشغيله بتوفير قائمة بالنطاقات في ملف، أو نطاق واحد في سطر الأوامر. سيقوم DNS Reaper بعد ذلك بمسح النطاقات بكل توقيعاته، منتجًا ملف CSV.
يمكنك تشغيله بتركه يجلب سجلات DNS الخاصة بك نيابة عنك! نعم هذا صحيح، يمكنك تشغيله ببيانات الاعتماد واختبار كل تكوينات نطاقك بسرعة وسهولة. سيتصل DNS Reaper بموفر DNS ويجلب جميع سجلاتك، ثم يختبرها.
ندعم حاليًا AWS Route53 و Cloudflare و Azure. وثائق إضافة موفر خاص بك متاحة هنا
Punk Security هي شركة DevSecOps، وDNS Reaper له جذوره في أفضل ممارسات الأمان الحديثة.
يمكنك تشغيل DNS Reaper في خط أنابيب، وتغذيته بقائمة النطاقات التي تنوي تجهيزها، وسيخرج برمز خروج غير صفري إذا اكتشف أن الاستحواذ ممكن. يمكنك منع عمليات الاستحواذ حتى قبل أن تصبح ممكنة!
لتشغيل DNS Reaper، يمكنك استخدام صورة Docker أو تشغيله باستخدام Python 3.11.
يتم إرجاع النتائج في المخرجات، ويتم توفير تفاصيل أكثر في ملف "results.csv" محلي. كما ندعم خرج JSON كخيار.
docker run punksecurity/dnsreaper --help
[!IMPORTANT] الحد الأدنى لإصدار Python الذي يدعمه dnsReaper هو 3.9، لكن 3.11 موصى به. نحاول الحفاظ على دعم الإصدارات المستقرة من Python التي لم تصل إلى نهاية عمرها الافتراضي. لن نقدم دعمًا أو نقبل طلبات سحب للمشكلات التي تؤثر على إصدارات Python المنتهية الصلاحية. راجع حالة إصدارات Python لمزيد من المعلومات.
عند التشغيل محليًا، نوصي باستخدام بيئة افتراضية (venv) لتجنب تعارضات التبعيات. التعليمات متاحة هنا.
pip install -r requirements.txt
python main.py --help
مسح حساب AWS:
docker run punksecurity/dnsreaper aws --aws-access-key-id <key> --aws-access-key-secret <secret>
لمزيد من المعلومات، راجع وثائق موفر aws
مسح جميع النطاقات من ملف:
docker run -it --rm -v $(pwd):/etc/dnsreaper punksecurity/dnsreaper file --filename /etc/dnsreaper/<filename>
مسح نطاق واحد
docker run -it --rm punksecurity/dnsreaper single --domain <domain>
مسح نطاق واحد وإخراج النتيجة إلى stdout:
يجب عليك إما توجيه مخرجات stderr أو حفظ مخرجات stdout باستخدام >
docker run -it --rm punksecurity/dnsreaper single --domain <domain> --out stdout --out-format=json > output
____ __ _____ _ __
/ __ \__ ______ / /__/ ___/___ _______ _______(_) /___ __
/ /_/ / / / / __ \/ //_/\__ \/ _ \/ ___/ / / / ___/ / __/ / / /
/ ____/ /_/ / / / / ,< ___/ / __/ /__/ /_/ / / / / /_/ /_/ /
/_/ \__,_/_/ /_/_/|_|/____/\___/\___/\__,_/_/ /_/\__/\__, /
PRESENTS /____/
DNS Reaper ☠️
قم بمسح جميع سجلات DNS الخاصة بك بحثًا عن استحواذات النطاقات الفرعية!
الاستخدام:
main.py provider [options]
المخرجات:
عرض النتائج على الشاشة و (بشكل افتراضي) في ملف results.csv
المساعدة:
main.py --help
الموفّرون:
> aws - مسح نطاقات متعددة عن طريق جلبها من AWS Route53
> azure - مسح نطاقات متعددة عن طريق جلبها من خدمات Azure DNS
> bind - قراءة النطاقات من ملف منطقة BIND DNS، أو مسار لعدة ملفات
> cloudflare - مسح نطاقات متعددة عن طريق جلبها من Cloudflare
> digitalocean - مسح نطاقات متعددة عن طريق جلبها من Digital Ocean
> file - قراءة النطاقات من ملف (أو مجلد ملفات)، نطاق واحد لكل سطر
> godaddy - مسح نطاقات متعددة عن طريق جلبها من GoDaddy
> googlecloud - مسح نطاقات متعددة عن طريق جلبها من Google Cloud. يتطلب متغير البيئة GOOGLE_APPLICATION_CREDENTIALS.
> projectdiscovery - مسح نطاقات متعددة عن طريق جلبها من ProjectDiscovery
> securitytrails - مسح نطاقات متعددة عن طريق جلبها من Security Trails
> single - مسح نطاق واحد بتوفير النطاق في سطر الأوامر
> zonetransfer - مسح نطاقات متعددة عن طريق جلب السجلات عبر نقل منطقة DNS
الوسيطات الموضعية:
{aws,azure,bind,cloudflare,digitalocean,file,godaddy,googlecloud,projectdiscovery,securitytrails,single,zonetransfer}
الخيارات:
-h, --help إظهار رسالة المساعدة هذه والخروج
--out OUT ملف الإخراج (الافتراضي: results) - استخدم 'stdout' للإخراج المباشر
--out-format {csv,json}
--resolver RESOLVER تقديم محلل DNS مخصص
--parallelism PARALLELISM
عدد النطاقات لاختبارها بالتوازي - أكثر من اللازم قد يؤدي إلى نتائج DNS غريبة (الافتراضي: 30)
--disable-probable لا تتحقق من الحالات المحتملة
--enable-unlikely تحقق من المزيد من الحالات، لكن مع معدل إيجابي كاذب مرتفع
--signature SIGNATURE
المسح باستخدام هذا التوقيع فقط (يمكن قبول عدة)
--exclude-signature EXCLUDE_SIGNATURE
لا تمسح بهذا التوقيع (يمكن قبول عدة)
--pipeline الخروج برمز غير صفري عند الاكتشاف (يستخدم لفشل خط الأنابيب)
-v, --verbose -v للمخرجات المفصلة، -vv لمخرجات مفصلة جدًا
--nocolour إيقاف النص الملون
aws:
مسح نطاقات متعددة عن طريق جلبها من AWS Route53
--aws-access-key-id AWS_ACCESS_KEY_ID
اختياري
--aws-access-key-secret AWS_ACCESS_KEY_SECRET
اختياري
--aws-session-token AWS_SESSION_TOKEN
اختياري
azure:
مسح نطاقات متعددة عن طريق جلبها من خدمات Azure DNS
--az-subscription-id AZ_SUBSCRIPTION_ID
مطلوب
--az-tenant-id AZ_TENANT_ID
مطلوب
--az-client-id AZ_CLIENT_ID
مطلوب
--az-client-secret AZ_CLIENT_SECRET
مطلوب
bind:
قراءة النطاقات من ملف منطقة BIND DNS، أو مسار لعدة ملفات
--bind-zone-file BIND_ZONE_FILE
مطلوب
cloudflare:
مسح نطاقات متعددة عن طريق جلبها من Cloudflare
--cloudflare-token CLOUDFLARE_TOKEN
مطلوب
digitalocean:
مسح نطاقات متعددة عن طريق جلبها من Digital Ocean
--do-api-key DO_API_KEY
مطلوب
--do-domains DO_DOMAINS
اختياري
file:
قراءة النطاقات من ملف (أو مجلد ملفات)، نطاق واحد لكل سطر
--filename FILENAME مطلوب
projectdiscovery:
مسح نطاقات متعددة عن طريق جلبها من ProjectDiscovery
--pd-api-key PD_API_KEY
مطلوب
--pd-domains PD_DOMAINS
مطلوب
godaddy:
مسح نطاقات متعددة عن طريق جلبها من GoDaddy
--gd-api-key GD_API_KEY
مطلوب
--gd-api-secret GD_API_SECRET
مطلوب
--gd-domains GD_DOMAINS
اختياري
googlecloud:
مسح نطاقات متعددة عن طريق جلبها من Google Cloud. يتطلب متغير البيئة GOOGLE_APPLICATION_CREDENTIALS.
--project-id PROJECT_ID
مطلوب
projectdiscovery:
مسح نطاقات متعددة عن طريق جلبها من ProjectDiscovery
--pd-api-key PD_API_KEY
مطلوب
--pd-domains PD_DOMAINS
مطلوب
securitytrails:
مسح نطاقات متعددة عن طريق جلبها من Security Trails
--st-api-key ST_API_KEY
مطلوب
--st-domains ST_DOMAINS
مطلوب
googlecloud:
مسح نطاقات متعددة عن طريق جلبها من Google Cloud
--project-id PROJECT_ID
مطلوب
projectdiscovery:
مسح نطاقات متعددة عن طريق جلبها من ProjectDiscovery
--pd-api-key PD_API_KEY
مطلوب
--pd-domains PD_DOMAINS
اختياري
securitytrails:
مسح نطاقات متعددة عن طريق جلبها من Security Trails
--st-api-key ST_API_KEY
مطلوب
--st-domains ST_DOMAINS
اختياري
single:
مسح نطاق واحد بتوفير النطاق في سطر الأوامر
--domain DOMAIN مطلوب
zonetransfer:
مسح نطاقات متعددة عن طريق جلب السجلات عبر نقل منطقة DNS
--zonetransfer-nameserver ZONETRANSFER_NAMESERVER
مطلوب
--zonetransfer-domain ZONETRANSFER_DOMAIN
مطلوب