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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
BreakEscape — محرك Rails قابل للتثبيت يوفر أكثر من 24 سيناريو لغرفة الهروب في الأمن السيبراني مع كلمات مرور عشوائية، وحوار NPC مُجمَّع في الوقت المناسب (JIT)، وواجهة برمجة تطبيقات RESTful لإدارة حالة اللعبة. صُمم للتدريب الأمني العملي. | Kitploit
أدوات/GitHubGitHub/cliffe/breakescape
أمن الويبCTFاختبار الاختراقالتعلم والتعليممسارات ودورات التعلممختبرات وتدريب عملي
GitHubcliffe/breakescape

BreakEscape

محرك Rails قابل للتثبيت يوفر أكثر من 24 سيناريو لغرفة الهروب في الأمن السيبراني مع كلمات مرور عشوائية، وحوار NPC مُجمَّع في الوقت المناسب (JIT)، وواجهة برمجة تطبيقات RESTful لإدارة حالة اللعبة. صُمم للتدريب الأمني العملي.

عرض المستودع
624منذ 8 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

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

محرك BreakEscape لـ Rails

لعبة غرفة هروب للتدريب على الأمن السيبراني كمحرك Rails قابل للتركيب.

الميزات

  • أكثر من 24 سيناريو لغرفة هروب للأمن السيبراني
  • تتبع التقدم من جانب الخادم بمخطط جدولين
  • كلمات مرور عشوائية لكل مثيل لعبة عبر ERB
  • تجميع نصوص Ink في الوقت المناسب لحوار الشخصيات غير اللاعبة
  • دعم لاعب متعدد الأشكال (User/DemoUser)
  • تفويض Pundit
  • واجهة برمجة تطبيقات RESTful لإدارة حالة اللعبة
  • استمرارية الحالة المستندة إلى الجلسة

التثبيت

في ملف Gemfile:

root@kitploit:~
gem 'break_escape', path: 'path/to/break_escape'

ثم:

root@kitploit:~
bundle install
rails break_escape:install:migrations
rails db:migrate
rails db:seed  # (اختياري: إنشاء مهام من السيناريوهات)

التثبيت في التطبيق المضيف

في ملف config/routes.rb:

root@kitploit:~
mount BreakEscape::Engine => "/break_escape"

الاستخدام

وضع مستقل (تطوير)

root@kitploit:~
export BREAK_ESCAPE_STANDALONE=true
rails server
# Visit http://localhost:3000/break_escape/

وضع مثبت (إنتاج)

قم بتثبيته في Hacktivity أو تطبيق Rails آخر. سيستخدم المحرك current_user للتطبيق المضيف عبر Devise.

التكوين

root@kitploit:~
# config/initializers/break_escape.rb
BreakEscape.configure do |config|
  config.standalone_mode = false  # true للتطوير
  config.demo_user_handle = 'demo_player'
end

مخطط قاعدة البيانات

  • break_escape_missions - بيانات وصفية للسيناريو (الاسم، اسم العرض، منشور، الصعوبة)
  • break_escape_games - حالة اللاعب + لقطة سيناريو (JSONB)
  • break_escape_demo_users - الوضع المستقل فقط (اختياري)

نقاط نهاية API

  • GET /games/:id/scenario - JSON السيناريو (مولد بواسطة ERB)
  • GET /games/:id/ink?npc=X - نص الشخصية غير اللاعبة (مترجم في الوقت المناسب من .ink)
  • GET /games/:id/bootstrap - بيانات اللعبة الأولية
  • PUT /games/:id/sync_state - مزامنة حالة اللاعب
  • POST /games/:id/unlock - التحقق من محاولة الفتح
  • POST /games/:id/inventory - تحديث المخزون

البنية

توليد السيناريوهات بواسطة ERB

يتم تخزين السيناريوهات كقوالب .json.erb ويتم عرضها عند الطلب بقيم عشوائية:

  • <%= random_password %> - يولد كلمة مرور فريدة لكل لعبة
  • <%= random_pin %> - يولد رمز PIN فريد من 4 أرقام
  • <%= random_code %> - يولد رمز سداسي عشري فريد

تجميع Ink في الوقت المناسب

يتم تجميع نصوص حوار الشخصيات غير اللاعبة عند الطلب الأول (حوالي 300 مللي ثانية):

  1. التحقق مما إذا كان ملف .json موجودًا وأحدث من ملف .ink
  2. إذا لزم الأمر، قم بتشغيل inklecate لتجميعه
  3. تخزين JSON المترجم مؤقتًا للطلبات اللاحقة

إدارة الحالة

يتم تخزين حالة اللاعب في عمود JSONB:

  • الغرفة الحالية والغرف المفتوحة
  • المخزون والعناصر المجمعة
  • لقاءات الشخصيات غير اللاعبة
  • المتغيرات العامة (متزامنة مع العميل)
  • الصحة وحالة اللعبة المصغرة

الاختبار

التكامل المستمر

يتم تشغيل الاختبارات تلقائيًا على GitHub Actions. يحدد ملف Gemfile.lock الملتزم الإصدارات الدقيقة للـ gems المستخدمة.

محليًا مع اتصال بالشبكة

root@kitploit:~
bundle install
bundle exec rails db:create db:migrate RAILS_ENV=test
bundle exec rails test

محليًا بدون اتصال بالشبكة

يأتي المحرك مع نص برمجي bin/setup يقوم بتهيئة الحزمة من نسخة Hacktivity المجاورة (التي تحتوي بالفعل على جميع gems المطلوبة في مجلد vendor):

root@kitploit:~
# من جذر BreakEscape — يجب أن يكون Hacktivity في ../Hacktivity
bin/setup
bundle exec rails test

# إذا كان Hacktivity في مكان آخر، قم بتعيين HACKTIVITY_DIR:
HACKTIVITY_DIR=/path/to/Hacktivity bin/setup

يقوم bin/setup بنسخ ملفات .gem المحلولة إلى vendor/cache/ وتشغيل bundle install --local. يتم تجاهل المجلدين vendor/cache/ و vendor/bundle/ بواسطة git; يتم التزام Gemfile.lock فقط.

التوثيق

انظر HACKTIVITY_INTEGRATION.md لدليل التكامل.

الشكر والتقدير

شكر جزيل لكل من ساهم في المشروع. يرجى الرجوع إلى سجل GitHub.

  • هذا المشروع مدعوم بموارد من هيئة المعرفة للأمن السيبراني (CyBOK) حول منحة CyBOK 1.1 (2023-2024).
  • هذا المشروع مدعوم بموارد من هيئة المعرفة للأمن السيبراني (CyBOK) حول منحة CyBOK 1.1 (2024-2025).
  • هذا المشروع مدعوم بموارد من هيئة المعرفة للأمن السيبراني (CyBOK) حول منحة الأمن المستند إلى السلامة (2025-2026).
تنزيل الأداة