
أداة تعداد النطاقات الفرعية والأهداف المصممة لاختبار الأمان الهجومي.
نظرة عامة
:small_blue_diamond:
الاستخدام
:small_blue_diamond:
المساهمة
SubScraper هي أداة لتعداد النطاقات الفرعية تستخدم مجموعة متنوعة من التقنيات للعثور على النطاقات الفرعية لهدف معين. يُعد تعداد النطاقات الفرعية مفيدًا بشكل خاص أثناء اختبار الاختراق ومطاردة الثغرات للكشف عن سطح الهجوم لمؤسسة ما.
اعتمادًا على وسيطات سطر الأوامر المطبقة، يمكن لـ SubScraper حل أسماء DNS، وطلب معلومات HTTP(S)، وإجراء عمليات بحث CNAME لفرص الاستيلاء أثناء عملية التعداد. يساعد ذلك في تحديد الخطوات التالية واكتشاف الأنماط للاستغلال.
.txt أو STDIN..txt أو .csv.
يمكن استخدام ما يلي لتثبيت SubScraper على Windows و Linux و MacOS:
git clone https://github.com/m8sec/subscraper
cd subscraper
pip3 install -r requirements.txt
قم بتثبيت وتشغيل SubScraper باستخدام Poetry:
git clone https://github.com/m8sec/subscraper
cd subscraper
poetry install
poetry run subscraper -h
يمكنك بناء صورة Docker وتشغيل subscraper من Docker:
git clone https://github.com/m8sec/subscraper
cd subscraper
docker build -t m8sec/subscraper .
# عرض المساعدة
docker run --rm m8sec/subscraper
# مثال لفحص موقع
docker run --rm m8sec/subscraper -d example.com
استخدم ملف الإعدادات في ~/.config/subscraper/config.json لتخزين مفاتيح API لإعادة الاستخدام بسهولة.
إذا كنت تقوم بالتحديث إلى إصدار أحدث بعد v4.0.0، استخدم الوسيطة -update لسحب نسخة جديدة من ملف الإعدادات وضمان التوافق - ملاحظة: سيؤدي ذلك إلى إزالة أي إدخالات مفاتيح موجودة.
يمكن العثور على قائمة كاملة بالوحدات باستخدام وسيطة سطر الأوامر -ls:
bevigil - BeVigil OSINT API لمسح التطبيقات المحمولة بحثًا عن نطاقات فرعية (مطلوب مفتاح API)
crt.sh - تعداد النطاقات الفرعية باستخدام cert.sh.
virustotal - البحث عن نطاق فرعي على VirusTotal (مطلوب مفتاح API)
dnsrepo - تحليل dnsrepo.noc.org بدون مفتاح API - حد 150 نتيجة
chaos - Chaos من Project Discovery (مطلوب مفتاح API)
certspotter - استخدام Certspotter API لجمع النطاقات الفرعية
bufferover - الاستعلام عن Bufferover.run API (مطلوب مفتاح API)
alienvault - العثور على نطاقات فرعية باستخدام AlienVault OTX
redhuntlabs - واجهة Recon API من RedHunt Labs (مطلوب مفتاح API)
archive - استخدام archive.org للعثور على النطاقات الفرعية.
dnsdumpster - استخدام DNS dumpster لتعداد النطاقات الفرعية.
censys.io - جمع النطاقات الفرعية من خلال عمليات بحث شهادات SSL على censys.io (مطلوب مفتاح API)
shodan - الحصول على نطاقات فرعية باستخدام Shodan (مطلوب مفتاح API)
SubScraper Options:
-debug Enable debug logging
-update Update config file (Will remove existing entries)
-config CONFIG Override default config location
-silent Show subdomains only in output
-threads THREADS, -T THREADS Max threads for enumeration (65*).
-t TIMEOUT set connection timeouts (3*)
-d DOMAIN, --domain DOMAIN Target domain input (domain, .txt, STDIN, etc.
Module Options:
-ls List SubScraper enumeration modules.
-m MODULES Execute module(s) by name or group (all*).
-module-only Execute modules only not brute force
Bruteforce Options:
-w WORDLIST Custom wordlist for DNS brute force.
-ns NS Comma separated nameservers to use
Enumeration Options:
-r, -resolve Resolve IP address for each subdomain identified.
-c, -cname Perform CNAME lookup for subdomain takeover checks
-http Probe for active HTTP services.
-http-port HTTP_PORT HTTP ports to check, comma separated (80,443*)
Output Options:
-nc, -no-color Disable color output
-active Only report active subdomains with resolved IP
-csv Create CSV output report
-o REPORT Output file
python3 subscraper.py -d example.com -resolve -http -module-only
python3 subscraper.py -d example.com -cname -m none -o sub_report.csv -csv
cat domains.txt | python3 subscraper.py -active -silent
ساهم في المشروع عن طريق: