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

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

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

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

دليل الأدوات

الفئات

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

Reel

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

عرض المستودع
503منذ 3 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

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 / حلقة)

مثال CSV: email,first_name,last_name,company,landing_page → استخدم {{target.email}}، {{target.first_name}}، {{target.company}}، {{target.custom_data.landing_page}}.

الحملة / الإعدادات

عناوين URL

أداة تعتيم عناوين URL: استخدم url أو target.landing_page كمصدر، أو قم بالاستيفاء: http://{{target.ip}}/login.

كاشف التصيد HTML / BERT

المتغيرالوصف
{{template_html}}HTML المعروض
{{campaign.template_html}}قالب HTML للحملة

كاشف التصيد: اضبط html_content على {{template_html}} أو {{campaign.template_html}} أو {{email_html}}.

مخرجات الإضافات

مثال على سير عمل إرسال بسيط

root@kitploit:~
Target Selector (CSV) → Loop (array_source: targets, item_key: target) → Render Template → SMTP Sender

العلامات النموذجية في القالب: {{target.email}}، {{target.first_name}}، {{target.last_name}}، {{target.custom_data.X}} لأي عمود CSV إضافي.


الإضافات

تُبنى سير العمل من عقد؛ كل عقدة هي إضافة بإعدادات. الإضافات المدمجة التالية متاحة.


التطوير

  • تشغيل الاختبارات: make test-fast أو ./run_tests.sh
  • الاختبارات مع تغطية الكود: make test-coverage أو ./run_tests.sh --coverage
  • الفحص (Lint): make lint
  • فحص التنسيق: make format-check

انظر Makefile لأهداف إضافية (تقسيمات الاختبارات الوحدوية/التكاملية/الوظيفية، تهيئة/إعادة تعيين قاعدة البيانات، تشغيل خادم الإدارة أو التصيد فقط).


التوثيق

  • DEVELOPMENT.md — تعليمات مفصلة لتطوير إضافات مخصصة.
  • AGENT_README.md — لوكلاء الذكاء الاصطناعي: مفاهيم قاعدة الكود، نظام الإضافات، أدلة الأسلوب، والمطالبات.
تنزيل الأداة
المتغيرالوصف
{{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)
المتغيرالوصف
{{campaign.id}}معرّف الحملة
{{campaign.uid}}معرّف الحملة الفريد (UID)
{{campaign.name}}اسم الحملة
{{campaign.template_html}}قالب HTML للحملة
{{url}}عنوان URL لصفحة هبوط الحملة
{{campaign_id}}معرّف الحملة
{{variables}}قاموس متغيرات الحملة
المتغيرالوصف
{{url}}عنوان URL لصفحة هبوط الحملة (يتم تعيينه بواسطة الإعدادات أو القيمة الافتراضية)
{{target.landing_page}}إذا كان landing_page موجودًا في CSV
{{target.custom_data.landing_page}}نفس ما سبق عندما يكون landing_page في custom_data
{{target.ip}}إذا كان ip في CSV أو البيانات المخصصة
{{email_html}}
HTML المعروض للبريد الإلكتروني (بعد عرض القالب)
{{body_html}}نص HTML للبريد الإلكتروني
المتغيرالوصف
{{phishing_detection.is_phishing}}صحيح/خطأ من BERT
{{phishing_detection.confidence}}درجة الثقة من BERT
{{captured_credentials.username}}الوارد فقط
{{captured_credentials.password}}الوارد فقط
{{_email_sent}}يشير إلى نجاح إرسال SMTP
الإضافةالغرض
CAPTCHACloudflare Turnstile: التحقق من الرموز و/أو عرض الأداة؛ حماية النماذج من البوتات.
Capture Credentialsالتقاط البيانات الاعتمادية من تقديمات النماذج؛ تخزينها في السياق وقاعدة البيانات للإضافات اللاحقة.
Conditional Logicتفرع سير العمل على صحيح/خطأ باستخدام السياق (مساواة، احتواء، مقارنات رقمية، regex).
Data Transformتعيين أو إزالة أو نسخ أو إعادة تسمية أو دمج أو تصفية بيانات السياق للإضافات اللاحقة.
Delayتأخير ثابت أو عشوائي، أو تأخير حتى وقت/تاريخ محدد؛ تحديد المعدل والتوقيت.
Email Template Validatorالتحقق من القوالب (Jinja2، الجودة، البريد العشوائي)؛ ذكاء اصطناعي اختياري؛ تفرع على النتيجة.
Generate Device Code (GraphSpy)رموز جهاز Azure AD عبر واجهة GraphSpy API؛ استخدم مع AWS Connect لتسليم الصوت.
AWS Connect Dialerمكالمات صوتية صادرة عبر AWS Connect؛ SSML؛ يتكامل مع GraphSpy لرموز الجهاز.
Log Eventتسجيل أحداث مخصصة في قاعدة البيانات؛ بيانات الطلب/الجلسة؛ التدقيق والتحليلات.
Phishing Detector (BERT)كشف التصيد القائم على التعلم الآلي على HTML؛ ضمان الجودة وتحليل المحتوى.
Pushoverإشعارات دفع (iOS، Android، سطح المكتب) عبر واجهة Pushover API.
Queue Credential Proxyبعد التقاط البيانات الاعتمادية، ضع وظيفة أتمتة متصفح في قائمة الانتظار لإعادة تشغيلها على المواقع المستهدفة.
Redirectإعادة توجيه HTTP إلى عنوان URL مع رمز حالة قابل للتهيئة؛ استيفاء المتغيرات.
Render Templateعرض HTML من قالب حملة أو مخصص أو مكتبة باستخدام Jinja2 والمتغيرات.
Send Slack Messageإرسال رسالة إلى Slack عبر webhook أو بوت؛ استيفاء المتغيرات.
SMTP Email Senderإرسال بريد إلكتروني عبر SMTP (TLS، مصادقة، HTML/نص عادي، متغيرات)؛ يُستخدم في سير عمل الإرسال.
Target Selectorاختيار الأهداف من CSV أو قائمة يدوية أو المستخدمين المتتبعين؛ تصفية حسب النطاق/العدد؛ تغذية سير عمل الإرسال.
URL Obfuscatorتعتيم عناوين IP/URL (مثل DWORD، hex، IPv6-mapped)؛ للاختبار والبحث.
User Agent Checkالسماح أو الحظر حسب regex لوكيل المستخدم؛ حظر أو إعادة توجيه أو تفرع على النتيجة.
Validate Inputالتحقق من حقول النموذج (إلزامي، نوع، طول، regex)؛ حظر أو إعادة توجيه أو متابعة.