Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Reel — إطار عمل لمحاكاة التصيد ورفع التوعية، للحملات القائمة على العقد، والتقاط بيانات الاعتماد، والتسليم عبر SMTP، وCAPTCHA، وإعادة استخدام بيانات الاعتماد في المتصفح (اختياري). | Kitploit
أدوات/GitHubGitHub/trustedsec/reel
أدوات التصيدأدوات انتحال الشخصيةالتصيد الاحتيالياختبار الاختراقالهندسة الاجتماعيةالتعلم والتعليمالفريق الأحمرأمان البريد الإلكترونيالأفضل في أدوات انتحال الشخصية #18الأفضل في التصيد الاحتيالي #15
50327منذ شهر واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة
الأفضل في أدوات التصيد #15
GitHubtrustedsec/reel

Reel

إطار عمل لمحاكاة التصيد ورفع التوعية، للحملات القائمة على العقد، والتقاط بيانات الاعتماد، والتسليم عبر SMTP، وCAPTCHA، وإعادة استخدام بيانات الاعتماد في المتصفح (اختياري).

عرض المستودع

Reel

إطار عمل لمحاكاة التصيد والتوعية الأمنية مع سير عمل قابلة للتهيئة، وإدارة للحملات، ووكيل اختياري للبيانات الاعتمادية.


البدء السريع (للاستخدام التشغيلي)

  1. استنسخ المستودع وادخل إليه باستخدام cd.
  2. شغّل ./deploy.sh - سيقوم هذا بتكوين المتطلبات الأساسية نيابةً عنك، بافتراض أنك على Ubuntu.
  3. شغّل ./start.sh --preload-ml. سيؤدي هذا إلى تشغيل الخوادم والتحميل المسبق لنماذج التعلم الآلي التي نستخدمها.

ستحصل على واجهة الإدارة على http://localhost:8000 وخادم التصيد على http://localhost:1234. تسجيل الدخول الافتراضي: admin / admin123. غيّر كلمة المرور بعد أول تسجيل دخول.

قم بتوجيه المنفذ 8000 إلى جهازك المحلي عبر SSH للوصول إلى لوحة الإدارة. لا تعرّض لوحة الإدارة أو خادم Flask (المنفذ 1234) مباشرة للإنترنت.

سيثبّت deploy.sh خادم Caddy على نفس المضيف، وكل شيء مبني على افتراض أنك ستستخدم Caddy كوكيل عكسي. لست مضطرًا لذلك، ولكن هنا توجد التنانين.

خيارات اختيارية لـ start.sh:

  • --with-caddy — تشغيل Caddy عبر Docker (للاختبار المحلي فقط).
  • --preload-ml — التحميل المسبق لنموذج كشف التصيد (~1.3GB)؛ لتجنب تأخير أول استخدام عند استخدام إضافة كاشف التصيد.
  • --reset-db — إعادة تعيين قاعدة البيانات وإعادة تهيئتها.
  • --admin-only — تشغيل خادم الإدارة فقط (المنفذ 8000).
  • --phishing-only — تشغيل خادم التصيد فقط (المنفذ 1234).
  • --skip-init — تخطي تهيئة قاعدة البيانات.
  • --skip-setup — تخطي إعداد البيئة الافتراضية/التبعيات؛ فقط قم بتحميل .env وتشغيل الخوادم.

بدون start.sh، بعد تثبيت التبعيات وتهيئة قاعدة البيانات يمكنك تشغيل الخادمين معًا باستخدام: uv run python -m cli start.


التبعيات

Python: انظر requirements.txt. تتضمن الحزمة الأساسية Flask وSQLAlchemy وJinja2 وPydantic وFlask-Login وpython-jose وpasslib وcryptography وFlask-WTF. تستخدم إضافة كاشف التصيد transformers وtorch. يستخدم وكيل البيانات الاعتمادية Playwright؛ وتستخدم التكاملات الاختيارية OpenAI/Anthropic وboto3 (AWS Connect).

التطوير: requirements-dev.txt يضيف pytest وpytest-cov وأدوات الاختبار ذات الصلة. ثبّتها باستخدام uv pip install -r requirements-dev.txt لتشغيل الاختبارات وتغطية الكود.

النظام (الإنتاج): تستهدف البرامج النصية للنشر Ubuntu/Debian. تثبّت uv وCaddy (الوكيل العكسي) وحزم النظام مثل libmagic1. بالنسبة لوكيل البيانات الاعتمادية، يشغّل start.sh الأمر uv run playwright install chromium لتثبيت Chromium.


البرامج النصية

deploy.sh

التحضير للإنتاج على Ubuntu. قابل لإعادة التنفيذ (Idempotent). يقوم بما يلي:

  1. يتحقق من Ubuntu/Debian.
  2. يثبّت حزم النظام (curl، ca-certificates، libmagic1، إلخ).
  3. يثبّت uv إذا كان مفقودًا.
  4. يثبّت Caddy كوكيل عكسي (APT).
  5. ينشئ بيئة افتراضية ويثبّت تبعيات Python من requirements.txt.
  6. ينشئ .env من .env.example إذا كان مفقودًا ويولّد SECRET_KEY وJWT_SECRET_KEY إذا لم تكونا مضبوطتين.
  7. ينشئ الدلائل المطلوبة (storage/caddy/data، storage/caddy/config، storage/uploads، storage/templates، storage/assets، instance).
  8. اختياريًا يهيئ قاعدة البيانات باستخدام --init-db (يشغّل uv run python -m cli init --force).

لا يقوم بتشغيل التطبيق. للإنتاج: شغّل Caddy (الوكيل العكسي)، ثم شغّل التطبيق باستخدام ./start.sh أو مدير عمليات بحيث يصل كل حركة المرور إلى التطبيق عبر الوكيل.

start.sh

بدء التشغيل للتطوير والاستخدام المحلي. يقوم بما يلي:

  1. يحمّل .env ويتأكد من SECRET_KEY وJWT_SECRET_KEY (يولّدهما إذا كانت القيم الافتراضية موجودة).
  2. يتحقق من تثبيت uv.
  3. ينشئ بيئة افتراضية إذا كانت مفقودة.
  4. يثبّت التبعيات من requirements.txt.
  5. يشغّل uv run playwright install chromium لوكيل البيانات الاعتمادية.
  6. اختياريًا يحمّل مسبقًا نموذج كشف التصيد باستخدام --preload-ml (~1.3GB).
  7. يهيئ قاعدة البيانات إذا لم يكن ملف قاعدة البيانات موجودًا (إلا مع --skip-init). استخدم --reset-db لحذفها وإعادة تهيئتها.
  8. اختياريًا يشغّل Caddy عبر Docker باستخدام --with-caddy (للاختبار المحلي فقط).
  9. يشغّل الخوادم: افتراضيًا كلًا من خادمي الإدارة والتصيد عبر uv run python -m cli start؛ استخدم --admin-only أو --phishing-only لتشغيل أحدهما.

النشر في الإنتاج

في الإنتاج، يجب أن يعمل التطبيق خلف وكيل عكسي. لا تعرّض خوادم تطوير Flask مباشرة للإنترنت.

الوكيل العكسي مسؤول عن إنهاء TLS وترويسات Host الصحيحة وتوجيه المسارات والنطاقات وفصل حركة مرور الإدارة عن حركة مرور الحملات. يستمع التطبيق على localhost أو منفذ داخلي؛ يتولى الوكيل HTTPS العام ويعيد التوجيه إلى خادم الإدارة (مثل المنفذ 8000) وخادم التصيد (مثل المنفذ 1234) وفقًا لإعداداتك.

موصى به: استخدم Caddy كوكيل عكسي. يثبّت deploy.sh Caddy عبر APT. يتضمن المشروع أمثلة على Caddyfile (مثل Caddyfile.minimal). بعد تشغيل deploy.sh، شغّل Caddy (مثل caddy run --config /path/to/Caddyfile.minimal) ثم شغّل التطبيق باستخدام ./start.sh أو مدير عمليات. أي وكيل عكسي مكافئ (nginx، Traefik، إلخ) مقبول طالما لم يتم تعريض التطبيق مباشرة.


الغرض من المشروع

Reel هو إطار عمل لمحاكاة التصيد والتوعية الأمنية. يستخدم المشغّلون واجهة الإدارة لإدارة الحملات وسير العمل والقوالب والأهداف. يقدّم خادم التصيد صفحات هبوط الحملات ويشغّل سير العمل—وهي رسوم بيانية قائمة على العقد من الإضافات—عند كل طلب.

يوجد مدخلا تطبيق في app.py: create_app() لخادم التصيد وcreate_admin_app() لواجهة الإدارة. يمكن أن تكون الحملات واردة (يزور زائر رابطًا؛ تتعامل سير عمل GET وPOST مع مشاهدات الصفحات وتقديم النماذج) أو صادرة (يرسل النظام رسائل بريد إلكتروني أو مكالمات عبر سير عمل الإرسال). يمكن استخدام Caddy لتوجيه الحملات بناءً على النطاق. يستخدم وكيل البيانات الاعتمادية Playwright لأتمتة المتصفح لإعادة تشغيل البيانات الاعتمادية الملتقطة على المواقع المستهدفة.


مفاهيم سير العمل

الوارد (Inbound)

يزور مستخدم عنوان URL لحملة (مثل /<campaign_uid>). يوجّه خادم التصيد حسب معرّف الحملة الفريد (UID). لطلبات GET يشغّل سير عمل GET الخاص بالحملة (مثل عرض صفحة الهبوط، CAPTCHA)؛ لطلبات POST يشغّل سير عمل POST (مثل التحقق من المدخلات، التقاط البيانات الاعتمادية، إعادة التوجيه). سير العمل من نوع campaign ويعلن عن دعم طرق HTTP (GET أو POST أو BOTH). يتضمن سياق التنفيذ campaign وrequest وsession وvariables. يتم أخذ الاستجابة من مفاتيح السياق مثل _response_html أو _response_redirect أو _response_json. تُستخدم سير العمل الواردة لصفحات الهبوط وCAPTCHA والتقاط البيانات الاعتمادية وعمليات إعادة التوجيه وتسجيل الأحداث.

الصادر (Outbound)

يشغّل المشغّل سير عمل إرسال من واجهة الإدارة، مرتبطًا بحملة (سير عمل الحملة / سير عمل الإرسال). يشغّل منفّذ الإرسال سير عمل واحدًا من نوع sending: يختار الأهداف (مثلًا من CSV أو المستخدمين المتتبعين)، واختياريًا يتحقق من المحتوى أو يعرضه مسبقًا، ثم يكرر على الأهداف—يعرض البريد الإلكتروني، ويطبق حدود المعدل، ويرسل عبر إضافة (مثل SMTP). لا يوجد زائر GET/POST؛ يولّد سير العمل المحتوى ويرسله إلى قائمة من الأهداف.

الملخص:

  • وارد: مدفوع بالزائر. تؤدي طلبات GET وPOST إلى تشغيل سير عمل الحملة. يُستخدم لصفحات الهبوط ومعالجة النماذج.
  • صادر: مدفوع بالمشغّل. يعمل سير عمل إرسال واحد في سياق الإدارة ويرسل على دفعات إلى الأهداف (بريد إلكتروني، صوت، إلخ).

متغيرات سير العمل

عند بناء سير العمل، استخدم صيغة {{variable}} للاستيفاء. تستخدم المسارات المتداخلة ترميز النقطة: {{nested.key}}.

بيانات الهدف (من CSV / حلقة)

المتغيرالوصف
{{target}}كائن الهدف الكامل لتكرار الحلقة الحالي
{{target.email}}البريد الإلكتروني للهدف
{{target.first_name}}الاسم الأول
{{target.last_name}}اسم العائلة
{{target.custom_data}}قاموس لأعمدة CSV الأخرى
{{target.custom_data.column_name}}أي عمود CSV إضافي (مثل {{target.custom_data.company}}، {{target.custom_data.landing_page}})
{{target.name}}اختصار لـ first_name أو target.first_name
{{target_name}}نفس target.name (اسم مستعار)
{{target_email}}نفس target.email (اسم مستعار)
{{_loop_index}}فهرس الحلقة الحالي (يبدأ من 0)
تنزيل الأداة