Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
OneForAll — أداة تعداد نطاقات فرعية متعددة المصادر تضم أكثر من 50 وحدة جمع، وهجوم القوة الغاشمة على DNS، وتحليل DNS سلبي، وشفافية الشهادات، وكشط محركات البحث، واكتشاف استيلاء النطاقات الفرعية لأغراض الاستطلاع. | Kitploit
أدوات/GitHubGitHub/shmilylty/oneforall
الاستخبارات مفتوحة المصدر (OSINT)الاستطلاعجمع المعلوماتاختبار الاختراقتعداد النطاقات الفرعيةتحليل DNS
GitHubshmilylty/oneforall

OneForAll

أداة تعداد نطاقات فرعية متعددة المصادر تضم أكثر من 50 وحدة جمع، وهجوم القوة الغاشمة على DNS، وتحليل DNS سلبي، وشفافية الشهادات، وكشط محركات البحث، واكتشاف استيلاء النطاقات الفرعية لأغراض الاستطلاع.

عرض المستودع
10.0k1.4kمنذ 3 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

OneForAll

Build Status codecov Maintainability License python python

👊OneForAll أداة قوية لجمع النطاقات الفرعية 📝الوثائق باللغة الإنجليزية

Example

🚀بداية سريعة

📢 يرجى قراءة هذه الوثائق بعناية، فهي ستساعدك على التعرف بسرعة على OneForAll!

🐍المتطلبات

OneForAll مبني على Python 3.6.0 ومُختبر عليه، يتطلب OneForAll إصدار Python أعلى من 3.6.0 للتشغيل. لتثبيت بيئة Python يمكنك الرجوع إلى دليل تثبيت Python 3. قم بتشغيل الأوامر التالية للتحقق من إصدار Python و pip3:

root@kitploit:~
python -V
pip3 -V

إذا رأيت مخرجات مشابهة للتالي فهذا يعني أن بيئة Python لا توجد بها مشكلة:

root@kitploit:~
Python 3.6.0
pip 19.2.2 from C:\Users\shmilylty\AppData\Roaming\Python\Python36\site-packages\pip (python 3.6)
✔خطوات التثبيت (إصدار git)
  1. التحميل

نظرًا لأن هذا المشروع قيد التطوير، يتم تحديثه وتحسينه باستمرار، عند التحميل يُرجى استخدام git clone لـاستنساخ أحدث مستودع للكود، مما يسهل أيضًا التحديثات المستقبلية. لا يُنصح بالتحميل من Releases لأن إصدارات Releases يتم تحديثها ببطء ويصعب تحديثها. هذا المشروع منعكس بالفعل على Gitee (كود سحابة)، يُوصى للمستخدمين في الصين باستخدام Gitee للاستنساخ الأسرع:

root@kitploit:~
git clone https://gitee.com/shmilylty/OneForAll.git

أو:

root@kitploit:~
git clone https://github.com/shmilylty/OneForAll.git
  1. التثبيت

يمكنك تثبيت تبعيات OneForAll باستخدام pip3، فيما يلي مثال على تثبيت التبعيات باستخدام pip3 على نظام Windows: ملاحظة: إذا كان Python3 مثبتًا في دليل Program Files للنظام، مثل: C:\Program Files\Python36، فيرجى تشغيل موجه الأوامر cmd كمسؤول وتنفيذ الأوامر التالية!

root@kitploit:~
cd OneForAll/
python3 -m pip install -U pip setuptools wheel -i https://mirrors.aliyun.com/pypi/simple/
pip3 install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
python3 oneforall.py --help

للأنظمة الأساسية الأخرى، يُرجى الرجوع إلى تثبيت التبعيات، إذا واجهت مشكلة في تجميع إحدى مكتبات التبعيات أثناء التثبيت، يمكنك الرجوع إلى الأسئلة الشائعة والإجابات.md للحصول على حلول، وإذا لم يتم حلها يمكنك الانضمام إلى المجموعة للإبلاغ عن المشكلة.

✔خطوات التثبيت (إصدار docker)

أولاً، قم بتحميل وتعديل ملفات التكوين، أضف api الخاص بك والإعدادات المخصصة، مع الحفاظ على هيكل الملفات الأصلي

root@kitploit:~
config
├── api.py
├── default.py
├── __init__.py
├── log.py
└── setting.py

اسحب الصورة ونفّذها، حيث ~/.config هو المسار إلى مجلد ملفات التكوين الخاص بك

root@kitploit:~
docker pull shmilylty/oneforall
docker run -it --rm -v ~/results:/OneForAll/results -v ~/.config:/OneForAll/config shmilylty/oneforall --target example.com run

أضف المعلمات مباشرة في نهاية الأمر، سيتم إخراج النتائج في الدليل المحلي ~/results، إذا كنت بحاجة إلى حفظها في موقع آخر، يمكنك تعديل ذلك بنفسك

✨عرض الاستخدام

إذا قمت بتثبيت التبعيات باستخدام pip3، فاستخدم الأوامر التالية لتشغيل المثال:

root@kitploit:~
python3 oneforall.py --target example.com run
python3 oneforall.py --targets ./example.txt run

Example

🧐شرح النتائج

لنأخذ الأمر python3 oneforall.py --target example.com run كمثال، عند التنفيذ الطبيعي مع المعلمات الافتراضية، سينشئ OneForAll النتائج المقابلة في دليل results:

Result

example.com.csv هو ملف بنتائج جمع النطاقات الفرعية لكل نطاق رئيسي.

all_subdomain_result_1583034493.csv هو ملف تلخيصي لنتائج جمع النطاقات الفرعية في كل تشغيل لـ OneForAll، يحتوي على example.com.csv، لتسهيل الحصول على جميع النتائج في سيناريوهات الجمع الجماعي.

result.sqlite3 هو قاعدة بيانات SQLite3 تخزن نتائج جمع النطاقات الفرعية لكل تشغيل لـ OneForAll، وهيكل قاعدة البيانات كما هو موضح أدناه:

Database

الجدول المشابه لـ example_com_origin_result يخزن نتائج الجمع الأولية لكل وحدة.

الجدول المشابه لـ example_com_resolve_result يخزن نتائج تحليل النطاقات الفرعية.

الجدول المشابه لـ example_com_last_result يخزن نتائج جمع النطاقات الفرعية السابقة (يتم إنشاؤه فقط بعد جمع أكثر من مرتين).

🤔المساعدة في الاستخدام

توفر معاملات سطر الأوامر فقط بعض المعلمات الشائعة، لمزيد من التفاصيل حول إعدادات المعلمات، يُرجى الاطلاع على setting.py. إذا كنت تعتقد أن بعض المعلمات تُستخدم بشكل متكرر في واجهة الأوامر أو أن هناك معلمات مفقودة، فنحن نرحب بتعليقاتك. لأسباب معروفة، إذا كنت بحاجة إلى استخدام بعض واجهات الجمع المحجوبة، يُرجى أولاً تكوين الوكيل في setting.py. بعض وحدات الجمع تتطلب توفير API (يمكن الحصول عليها مجانًا في الغالب عن طريق تسجيل حساب)، إذا كنت بحاجة إلى استخدامها، يُرجى تكوين معلومات API في api.py. إذا لم تستخدمها، يمكن تجاهل رسائل الخطأ ذات الصلة. (لمزيد من التفاصيل عن الوحدات، يُرجى قراءة شرح وحدات الجمع)

واجهة سطر الأوامر لـ OneForAll مبنية على Fire. لمزيد من الطرق المتقدمة في استخدام Fire، يُرجى الاطلاع على استخدام Fire CLI.

oneforall.py هو المدخل الرئيسي للبرنامج، يمكن لـ oneforall.py استدعاء وحدات مثل brute.py و takerover.py و dbexport.py وغيرها. لتسهيل اختراق النطاقات الفرعية، تم استخراج brute.py بشكل مستقل، ولتسهيل فحص مخاطر الاستيلاء على النطاقات الفرعية، تم استخراج takerover.py، ولتسهيل تصدير قاعدة البيانات، تم استخراج dbexport.py. يمكن تشغيل هذه الوحدات بشكل منفصل، وتقبل معلمات أكثر تنوعًا. إذا كنت ترغب في استخدام هذه الوحدات بشكل منفصل، يُرجى الرجوع إلى المساعدة في الاستخدام

❗ملاحظة: إذا واجهت بعض المشكلات أو الاستفسارات أثناء الاستخدام، يُرجى أولاً البحث في Issues باستخدام ميزة البحث للعثور على إجابات، ويمكنك أيضًا الاطلاع على الأسئلة الشائعة والإجابات.

مساعدة استخدام oneforall.py

قد لا تكون معلومات المساعدة التالية هي الأحدث، يمكنك استخدام للحصول على أحدث معلومات المساعدة.

🎉مقدمة عن المشروع

عنوان المشروع: https://github.com/shmilylty/OneForAll

أهمية جمع المعلومات في اختبار الاختراق لا تُقدّر بثمن، وجمع النطاقات الفرعية هو جزء لا غنى عنه ومهم جدًا في جمع المعلومات. حاليًا، توجد العديد من الأدوات مفتوحة المصدر لجمع النطاقات الفرعية على الإنترنت، لكنها غالبًا ما تعاني من المشكلات التالية:

  • غير قوية بما يكفي، واجهات جمع النطاقات الفرعية غير كافية، لا يمكنها جمع النطاقات الفرعية تلقائيًا بكميات كبيرة، ولا يوجد تحليل تلقائي للنطاقات الفرعية، والتحقق، و FUZZ، وتوسيع المعلومات.
  • غير سهلة الاستخدام، على الرغم من أن وحدة سطر الأوامر مريحة نسبيًا، إلا أنه عندما يكون هناك العديد من المعلمات الاختيارية والعمليات المعقدة المراد تنفيذها، يصبح نمط سطر الأوامر غير مريح بما يكفي. إذا كانت هناك واجهة أمامية تفاعلية جيدة وسهلة التشغيل، ستكون تجربة الاستخدام أفضل بكثير.
  • نقص الصيانة، العديد من الأدوات لم يتم تحديثها لسنوات، ما هي issues و PR؟ غير موجودة.
  • مشكلة الكفاءة، عدم استخدام تقنيات المعالجة المتعددة (multi-process) والخيوط المتعددة (multi-threading) والكوروتينات غير المتزامنة (async coroutines)، مما يؤدي إلى بطء السرعة.

لحل هذه المشكلات، وُلد هذا المشروع. كما يوحي اسمه، آمل أن يكون OneForAll أداة شاملة وسريعة وقوية لجمع النطاقات الفرعية، تجمع بين مزايا العديد من الأدوات الأخرى 🔨.

حاليًا، OneForAll لا يزال قيد التطوير، ومن المؤكد أن هناك العديد من المشكلات والمجالات التي تحتاج إلى تحسين. نرحب بالمطورين المحترفين لتقديم Issues و PR. إذا كان الاستخدام جيدًا، يمكنك إعطاء نجمة صغيرة ✨. يوجد حاليًا مجموعة QQ مخصصة للتواصل وردود الفعل حول OneForAll 👨‍👨‍👦‍👦: 824414244 (رمز التحقق للمجموعة: جمع المعلومات).

👍الميزات والوظائف

  • قدرة جمع قوية، للتفاصيل عن الوحدات، يُرجى قراءة شرح وحدات الجمع.
    1. استخدام شفافية الشهادات لجمع النطاقات الفرعية (يوجد حاليًا 6 وحدات: censys_api، certspotter، crtsh، entrust، google، spyse_api)
    2. الفحص الروتيني لجمع النطاقات الفرعية (يوجد حاليًا 4 وحدات: استغلال نقل المنطقة axfr، فحص ملفات سياسة النطاق المشترك cdx، فحص شهادات HTTPS cert، فحص سياسة أمان المحتوى csp، فحص ملف robots robots، فحص ملف sitemap sitemap، استخدام سجلات NSEC لاجتياز نطاقات DNS dnssec، سيتم إضافة وحدات مثل سجلات NSEC3 لاحقًا)

إذا كان لديك أفكار رائعة أخرى، فيرجى إخباري بها! 😎

🌲هيكل الدليل

لمزيد من المعلومات، يُرجى الاطلاع على شرح هيكل الدليل.

يوجد في مجلد docs هذا المشروع بعض المساعدة والإيضاحات، مثل شرح مصدر قاموس النطاقات الفرعية، عملية الحكم على التحليل العام.

👏الأطر المستخدمة

  • aiohttp - إطار عميل/خادم HTTP غير متزامن
  • beautifulsoup4 - مكتبة Python لاستخراج البيانات بسهولة من ملفات HTML أو XML
  • fire - مكتبة Python لإنشاء واجهة سطر أوامر (CLI) تلقائيًا من أي كائن Python
  • loguru - مكتبة Python لتسجيل الأحداث (logging) بهدف جعلها ممتعة
  • massdns - محلل DNS عالي الأداء
  • records - مكتبة بسيطة جدًا ولكنها قوية لاستعلامات SQL الخام لمعظم قواعد البيانات العلائقية
  • requests - مكتبة HTTP الوحيدة غير المعدلة وراثيًا لـ Python، يمكن استخدامها بأمان.
  • tqdm - شريط تقدم سريع وقابل للتوسيع لـ Python و CLI

شكرًا لمكتبات Python الرائعة هذه!

🔖التحكم في الإصدارات

يستخدم هذا المشروع تنسيق SemVer لإدارة الإصدارات، يمكنك الاطلاع على سجل التغييرات لمعرفة تاريخ التغييرات.

⌛الخطط المستقبلية

  • تحسين وتطوير الوحدات باستمرار
  • تنفيذ واجهة أمامية قوية وسهلة التفاعل

لمزيد من المعلومات، يُرجى الاطلاع على خطة التطوير المستقبلية.

🙏المساهمة

نرحب بشدة بمساهمات جميع المطورين المحترفين لتحسين هذا المشروع!

👨‍💻المساهمون

  • Jing Ling
    • المطور الأساسي

يمكنك الاطلاع على جميع المساهمين ومساهماتهم في وثيقة المساهمين، ونشكرهم على جعل OneForAll أكثر قوة وسهولة في الاستخدام.

☕الدعم

إذا كنت تعتقد أن هذا المشروع ساعدك، يمكنك التبرع بفنجان قهوة كتشجيع :)

📄حقوق النشر

هذا المشروع مرخص بموجب ترخيص GPL-3.0، للتفاصيل يُرجى الاطلاع على LICENSE.

😘الشكر

شكرًا لمشاريع جمع النطاقات الفرعية مفتوحة المصدر على الإنترنت!

شكرًا لأعضاء فريق A-Team على إجاباتهم الحماسية ونكران الذات على الأسئلة!

📜إخلاء المسؤولية

يمكن استخدام هذه الأداة فقط في بناء أمان المؤسسات الذي حصل على تفويض قانوني كافٍ. أثناء استخدام هذه الأداة، يجب عليك التأكد من أن جميع أفعالك تتوافق مع القوانين واللوائح المحلية. إذا قمت بأي عمل غير قانوني أثناء استخدام هذه الأداة، فستتحمل جميع العواقب بنفسك، وجميع مطوري هذه الأداة وجميع المساهمين لا يتحملون أي مسؤولية قانونية أو تضامنية. ما لم تكن قد قرأت وفهمت ووافقت على جميع شروط هذه الاتفاقية بالكامل، فيرجى عدم تثبيت أو استخدام هذه الأداة. استخدامك أو أي طريقة أخرى صريحة أو ضمنية للتعبير عن قبول هذه الاتفاقية تعتبر موافقة منك على قراءة والالتزام بشروط هذه الاتفاقية.

💖اتجاه النجوم

Stargazers over time

تنزيل الأداة
  1. التحديث

نفّذ الأوامر التالية لـتحديث المشروع (يمكن حفظ التعديلات على /config/setting.py و /config/api.py):

root@kitploit:~
git stash        # تخزين التعديلات المحلية مؤقتًا
git fetch --all  # جلب تحديثات المشروع
git pull         # تحميل واستبدال
git stash pop    # استعادة التعديلات المحلية

الجدول المشابه لـ example_com_now_result يخزن نتائج جمع النطاقات الفرعية الحالية، في العادة يكفي التركيز على هذا الجدول.

لمزيد من المعلومات، يُرجى الاطلاع على شرح الحقول.

python oneforall.py --help
root@kitploit:~
python oneforall.py --help
root@kitploit:~
NAME
    oneforall.py - معلومات مساعدة OneForAll

SYNOPSIS
    oneforall.py COMMAND | --target=TARGET <flags>

DESCRIPTION
    OneForAll أداة قوية لجمع النطاقات الفرعية

    Example:
        python3 oneforall.py version
        python3 oneforall.py --target example.com run
        python3 oneforall.py --targets ./domains.txt run
        python3 oneforall.py --target example.com --valid None run
        python3 oneforall.py --target example.com --brute True run
        python3 oneforall.py --target example.com --port small run
        python3 oneforall.py --target example.com --fmt csv run
        python3 oneforall.py --target example.com --dns False run
        python3 oneforall.py --target example.com --req False run
        python3 oneforall.py --target example.com --takeover False run
        python3 oneforall.py --target example.com --show True run

    Note:
        المعلمة alive تأخذ قيم True, False والتي تعني تصدير النطاقات الحية أو جميع نتائج النطاقات الفرعية
        المعلمة port تأخذ قيمًا مثل 'default', 'small', 'large'، راجع تكوين config.py
        المعلمة fmt تأخذ تنسيقات مثل 'csv','json'
        المعلمة path الافتراضية None تستخدم مسار إنشاء دليل نتائج OneForAll

ARGUMENTS
    TARGET
        اسم نطاق واحد (معلمة إلزامية، واحد من اثنين)
    TARGETS
        مسار ملف يحتوي على اسم نطاق واحد في كل سطر (معلمة إلزامية، واحد من اثنين)

FLAGS
    --brute=BRUTE
        s
    --dns=DNS
        تحليل DNS للنطاقات الفرعية (افتراضي True)
    --req=REQ
        طلب HTTP للنطاقات الفرعية (افتراضي True)
    --port=PORT
        نطاق المنافذ للتحقق من النطاقات الفرعية (افتراضي فقط المنفذ 80)
    --valid=VALID
        تصدير نتائج النطاقات الفرعية الحية فقط (افتراضي False)
    --fmt=FMT
        تنسيق حفظ النتائج (افتراضي csv)
    --path=PATH
        مسار حفظ النتائج (افتراضي None)
    --takeover=TAKEOVER
        فحص الاستيلاء على النطاق الفرعي (افتراضي False)
  • استخدام أرشيفات برامج الزحف على الإنترنت لجمع النطاقات الفرعية (يوجد حاليًا وحدتان: archivecrawl، commoncrawl، هذه الوحدة لا تزال قيد الاختبار وتحتاج إلى إضافة وتحسين)
  • استخدام مجموعات بيانات DNS لجمع النطاقات الفرعية (يوجد حاليًا 24 وحدة: bevigil_api, binaryedge_api, bufferover, cebaidu, chinaz, chinaz_api, circl_api, cloudflare, dnsdb_api, dnsdumpster, hackertarget, ip138, ipv4info_api, netcraft, passivedns_api, ptrarchive, qianxun, rapiddns, riddler, robtex, securitytrails_api, sitedossier, threatcrowd, wzpc, ximcx)
  • استخدام استعلامات DNS لجمع النطاقات الفرعية (يوجد حاليًا 5 وحدات: عن طريق تعداد سجلات SRV الشائعة والاستعلام عنها لجمع النطاقات الفرعية srv، وكذلك عن طريق الاستعلام عن سجلات MX, NS, SOA, TXT في سجلات DNS للنطاق لجمع النطاقات الفرعية)
  • استخدام بيانات منصات استخبارات التهديدات لجمع النطاقات الفرعية (يوجد حاليًا 6 وحدات: alienvault, riskiq_api، threatbook_api، threatminer، virustotal، virustotal_api، هذه الوحدة لا تزال بحاجة إلى إضافة وتحسين)
  • استخدام محركات البحث لاكتشاف النطاقات الفرعية (يوجد حاليًا 18 وحدة: ask, baidu, bing, bing_api, duckduckgo, exalead, fofa_api, gitee, github, github_api, google, google_api, shodan_api, so, sogou, yahoo, yandex, zoomeye_api)، في وحدات البحث، باستثناء محركات البحث الخاصة، تدعم محركات البحث العامة الاستبعاد التلقائي للبحث، والبحث الكامل، والبحث التكراري.
  • دعم اختراق النطاقات الفرعية، تحتوي هذه الوحدة على قاموس تقليدي للاختراق، وكذلك نمط fuzz مخصص، وتدعم الاختراق الجماعي والاختراق التكراري، وتكتشف تلقائيًا التحليل العام (wildcard) وتتعامل معه.
  • دعم التحقق من النطاقات الفرعية، يتم تمكين التحقق من النطاقات الفرعية افتراضيًا، وتحليل DNS للنطاقات الفرعية تلقائيًا، وطلب النطاقات الفرعية تلقائيًا للحصول على العنوان (title) و banner، وتحديد حالة بقاء النطاقات الفرعية بشكل شامل.
  • دعم زحف النطاقات الفرعية، بناءً على النطاقات الفرعية الموجودة، يتم طلب محتوى استجابة النطاق الفرعي و JavaScript فيه لاكتشاف نطاقات فرعية جديدة مرة أخرى.
  • دعم تبديل النطاقات الفرعية، بناءً على النطاقات الفرعية الموجودة، يتم استخدام تقنية تبديل النطاق الفرعي لاكتشاف نطاقات فرعية جديدة مرة أخرى.
  • دعم الاستيلاء على النطاقات الفرعية، يتم تمكين فحص مخاطر الاستيلاء على النطاقات الفرعية افتراضيًا، ويدعم الاستيلاء التلقائي على النطاقات الفرعية (حاليًا فقط Github، بحاجة إلى تحسين)، ويدعم الفحص الجماعي.
  • قدرات معالجة قوية، نتائج النطاقات الفرعية المكتشفة تدعم الإزالة التلقائية، وتحليل DNS التلقائي، وفحص طلبات HTTP، والتصفية التلقائية للنطاقات الفرعية الصالحة، وتوسيع معلومات banner للنطاقات الفرعية، والتنسيقات المدعومة للتصدير هي txt, csv, json.
  • سرعة عالية جدًا، وحدة الجمع تستخدم threading متعدد، وحدة الاختراق تستخدم massdns، سرعة تحليل DNS يمكنها تحليل أكثر من 350,000 اسم نطاق في الثانية، في التحقق من النطاقات الفرعية، يتم استخدام coroutines غير متزامنة متعددة لتحليل DNS وطلبات HTTP، وخيوط متعددة لفحص مخاطر الاستيلاء على النطاق الفرعي.
  • تجربة جيدة، كل وحدة بها شريط تقدم، ويتم حفظ نتائج كل وحدة بشكل غير متزامن.