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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
vuln_apps — يشغّل أسطولًا من تطبيقات الويب/API المعرّضة للثغرات عن قصد في حِزم Docker معزولة لاختبار الاختراق المحلي والتحقق من نتائج الماسحات الضوئية باستخدام كتالوجات ثغرات مرجعية موثوقة (ground-truth). | Kitploit
أدوات/GitHubGitHub/clickswave/vuln_apps
تحليل الثغرات الأمنيةأمن الويباختبار الاختراقالتعلم والتعليمأمن واجهات برمجة التطبيقاتمختبرات وتدريب عملي
GitHubclickswave/vuln_apps

vuln_apps

يشغّل أسطولًا من تطبيقات الويب/API المعرّضة للثغرات عن قصد في حِزم Docker معزولة لاختبار الاختراق المحلي والتحقق من نتائج الماسحات الضوئية باستخدام كتالوجات ثغرات مرجعية موثوقة (ground-truth).

عرض المستودع
117منذ شهر واحدلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

vuln_apps

أسطول من التطبيقات المعرّضة للثغرات عمدًا لتوجيه أدوات الأمان إليها (crossfyre، Burp، ZAP، nuclei، وما إلى ذلك). لا يحتوي هذا المجلد على أي كود مصدري للتطبيقات، فقط تعريفات هيكلية ومدير صغير. يعمل كل تطبيق كحزمة حاويات معزولة خاصة به، فلا يحدث أي تعارض.

كل شيء هنا معرّض للثغرات عمدًا. للاختبار المحلي فقط. لا تعرّض هذه التطبيقات للإنترنت أو لشبكة غير موثوقة. جميع المنافذ ترتبط بـ 127.0.0.1.

كيف يعمل

  • docker compose up يشغّل حاوية واحدة: vuln_apps_manager (لوحة التحكم). وهو لا يشغّل أي تطبيق من تطبيقات الثغرات بمفرده.
  • تتحكم في الأسطول عبر المدير. يُعرَّف كل تطبيق بمجلد هيكلي تحت apps/<name>/ (ملف بيان app.yml + ملف compose.yml) ويُشغَّله المدير كمشروع docker compose منفصل خاص به.
  • ولأن كل تطبيق هو مشروع مستقل، يحصل على شبكته الخاصة، ووحدات التخزين الخاصة به، وقاعدة البيانات الخاصة به. تطبيقان يستخدمان Postgres لا يتشاركان في قاعدة بيانات واحدة أبدًا.
  • يُنشر فقط منفذ الويب/الهدف الخاص بالتطبيق على 127.0.0.1. قواعد البيانات والطبقات الداخلية لا تُربط بالمضيف أبدًا. كما تنضم خدمة الويب لكل تطبيق إلى شبكة مشتركة vuln-net، بحيث يمكن لماسح ضوئي يعمل داخل حاوية الوصول إليها بالاسم (مثل http://dvwa) دون أي منفذ مضيف إطلاقًا.
  • بدء سريع

    root@kitploit:~
    cd vuln_apps
    ./vam start --all      # ONE command: builds the manager, starts every light app,
                           # and runs each app's first-time setup automatically
    ./vam status           # what's running + URLs
    ./vam stop --all       # stop everything
    

    ينفّذ الأمر الواحد ./vam start --all أيضًا الإعداد لمرة واحدة الذي يحتاجه كل تطبيق (إنشاء قاعدة بيانات DVWA، تثبيت bWAPP، بذر VAmPI)، لذا يكون كل تطبيق قابلًا للاستخدام فور إبلاغه عن حالة running — دون أي نقرات يدوية على /setup.php أو /install.php.

    هل تريد أن يبقى المدير نشطًا كمراقب حالة مباشر؟ شغّل docker compose up -d أولًا، ثم استخدم ./vam ... كما هو موضح أعلاه.

    ./vam <cmd> هو مجرد غلاف. نفس الأمر تمامًا بدونه:

    root@kitploit:~
    docker compose run --rm vuln_apps_manager start --all
    docker compose run --rm vuln_apps_manager status
    

    أوامر المدير

    الأمرالوظيفة
    ./vam listيسرد كل التطبيقات وحالتها وعنوان URL
    ./vam start <app...> | --all [--heavy]تشغيل تطبيق (تطبيقات). يتخطى --all التطبيقات الثقيلة ما لم يُمرَّر --heavy
    ./vam stop <app...> | --allإيقاف تطبيق (تطبيقات)
    ./vam restart <app...> | --allإعادة تشغيل تطبيق (تطبيقات)
    ./vam statusجدول حالة الأسطول
    ./vam logs <app> [-f]متابعة سجلات تطبيق
    ./vam pull <app...> | --allسحب الصور مسبقًا
    ./vam portsخريطة منافذ المضيف + فحص التعارض
    ./vam doctorفحوصات سلامة البيئة والمنافذ

    أمثلة: ./vam start juice-shop dvwa، ./vam start crapi --heavy، ./vam logs webgoat -f.

    التطبيقات والمنافذ

    جميع العناوين هي http://127.0.0.1:<port> (عبر الحلقة المحلية فقط).

    التطبيقالمنفذالحزمة التقنيةملاحظات
    juice-shop7001Node / Angularتطبيق SPA حديث + REST
    dvwa7002PHP / MariaDBقاعدة البيانات تُنشأ تلقائيًا عند التشغيل؛ تسجيل الدخول admin/password
    webgoat7003Java+ WebWolf على 7004 (لالتقاط اتصالات خارج النطاق OOB)
    vampi7005Python / FlaskOWASP API Top 10
    dvga7006Python / GraphQL/graphql
    bwapp7007PHPيُثبَّت تلقائيًا عند التشغيل؛ تسجيل الدخول bee/bug
    log4shell7009Java / Springتنفيذ أوامر عن بُعد أعمى -> OAST
    crapi7010Node/Java/Pythonثقيل؛ mailhog على 7011
    faultline8088SvelteKit/Rust/PG/Redisيُجلب من GitHub (انظر أدناه)

    كتلة منافذ المضيف المحجوزة: 7001-7099. يعرض ./vam ports الخريطة المباشرة ويشير إلى أي تعارض.

    إضافة تطبيق جديد

    ضع مجلدًا تحت apps/:

    root@kitploit:~
    apps/<name>/
      app.yml       # name, description, category, stack, url
      compose.yml   # the container(s): image, ports (127.0.0.1 only), any DB
      setup.sh      # optional: one-time init run after start (see below)
    

    القواعد التي تحافظ على نظافة الأسطول:

    • اربط منفذ الويب/الهدف فقط على 127.0.0.1:<منفذ 70xx حر>.
    • التطبيقات ذات الحاوية الواحدة: ضع الخدمة على [vuln-net] فقط. لا تُضف شبكة لكل مشروع — فهذا يحافظ على تجمع عناوين Docker (فالكثير من الشبكات يجعل Docker يفشل برسالة "all predefined address pools have been fully subnetted").
    • التطبيقات ذات قاعدة بيانات: ضع التطبيق على [default, vuln-net] وقاعدة البيانات على [default] فقط (خاصة، دون ربط بالمضيف). امنح كل تطبيق خدمة قاعدة بيانات خاصة به وحجم تخزين خاصًا به (لا تشاركهما). صرّح عن vuln-net بأنها external: true.
    • إعداد التشغيل الأول: إذا كان التطبيق يحتاج تهيئة لمرة واحدة (إنشاء قاعدة بيانات، تثبيت، بذر)، أضف ملف apps/<name>/setup.sh. يشغّله المدير بعد start، من داخل حاوية المدير (الموجودة على vuln-net وفيها curl)، ليتمكن من الوصول إلى التطبيق باسم الخدمة، مثل curl http://<service>/install.php.

    هذا كل شيء. يلتقطه المدير تلقائيًا (./vam list).

    بالنسبة لتطبيق مصدره في مستودع git (مثل faultline)، تخطَّ compose.yml وضع بدلًا من ذلك repo: (رابط الاستنساخ) وcompose: (مسار compose داخل ذلك المستودع) في app.yml. يستنسخه المدير إلى apps/<name>/src/ (مستثنى من git) عند أول تشغيل، فلا يُضمَّن أي كود مصدري هنا.

    كتالوجات الثغرات

    يحتوي vulns/ على "مفتاح إجابة" لكل تطبيق (ما يُفترض أن يكون كل هدف معرّضًا له من الثغرات)، بحيث يمكنك التحقق من نتائج الماسح الضوئي مقابل الحقيقة المرجعية. انظر vulns/README.md. توجد كتالوجات محلية مفصّلة لكل من faultline وcrapi؛ بينما تشير التطبيقات الأصلية إلى مفاتيح الإجابة المعتمدة الخاصة بها.

    crAPI (ثقيل)

    يشغّل crAPI قواعد بيانات Postgres + Mongo وثلاث طبقات تطبيق (حوالي 2 غيغابايت)، لذا يتخطاه --all. شغّله صراحةً: ./vam start crapi --heavy. أول إقلاع بطيء؛ تصل رسائل رمز OTP للتسجيل ورسائل إعادة التعيين إلى mailhog على http://127.0.0.1:7011.

    faultline (مُجلب من GitHub)

    faultline هو هدف full-stack الخاص بـ Clickswave. مصدره غير مضمّن هنا؛ يستنسخه المدير من github.com/clickswave/faultline عند أول تشغيل:

    root@kitploit:~
    ./vam start faultline    # clones the repo into apps/faultline/src/, then builds + runs it
    

    أول تشغيل يبنيه (Rust؛ بطيء). حدّث النسخة لاحقًا عبر ./vam pull faultline. ثم افتح http://127.0.0.1:8088. بيانات دخول تجريبية: [email protected] / password، [email protected] / admin.

    ملاحظات

    • docker compose down يوقف المدير فقط. أوقف التطبيقات أولًا عبر ./vam stop --all (فهي مشاريع منفصلة).
    • يتواصل المدير مع Docker daemon الخاص بالمضيف عبر المقبس المثبّت؛ ولهذا يمكنه تشغيل ومراقبة بقية الحاويات.
    تنزيل الأداة