
أداة محاكاة خفيفة الوزن وذاتية الاستضافة للتدريب على الهندسة الاجتماعية عبر "ClickFix" (ClearFake). تحاكي بأمان هجمات حقن الحافظة باستخدام إغراءات واقعية وحمولات غير ضارة.
أداة محاكاة خفيفة الوزن ومستضافَة ذاتيًا لهجمات الهندسة الاجتماعية من نوع "ClickFix".
هذه الأداة مخصصة للتدريب المصرح به على الوعي الأمني فقط. الاستخدام غير المصرح به لهذه الأداة لاستهداف الأنظمة أو المستخدمين دون إذن صريح هو أمر غير قانوني وغير أخلاقي. المؤلفون غير مسؤولين عن أي إساءة استخدام لهذا البرنامج.
ClickFix (المعروفة أيضًا باسم "ClearFake" أو "Fake Update") هي تقنية هندسة اجتماعية يخدع فيها المهاجمون المستخدمين لتنفيذ أوامر ضارة يدويًا (عادةً عبر مربع حوار Run في Windows) "لإصلاح" خطأ وهمي. ولأن المستخدم هو من يبدأ التنفيذ، فإن هذه التقنية غالبًا ما تتجاوز ضوابط الأمان التقليدية.
أداة تدريب ClickFix تتيح لفرق الأمان محاكاة هذه الهجمات بأمان لتدريب الموظفين.
الميزات الرئيسية:
استنساخ المستودع:
git clone https://github.com/boredchilada/clickfix-simulator-2025.git
cd clickfix-simulator-2025
تشغيل الحاوية:
docker-compose up -d
الوصول إلى الأداة:
https://localhost/admin (المستخدم: admin، كلمة المرور: changeme_please)https://localhost/s/teams_error?uid=test_userالمتطلبات الأساسية: Python 3.8+ وpip وopenssl (للشهادات).
تثبيت التبعيات:
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
تهيئة قاعدة البيانات:
flask init-db
إنشاء الشهادات (مطلوبة لـ Clipboard API):
mkdir certs
openssl req -x509 -newkey rsa:4096 -nodes -keyout certs/key.pem -out certs/cert.pem -days 365 -subj "/CN=localhost"
تشغيل الخادم:
python run.py
الأداة مبنية باستخدام Flask (Python) وتستخدم SQLite لتخزين البيانات.
run.py: منطق التطبيق الرئيسي، والمسارات، وتوليد الحمولات.cloner.py: أداة مساعدة لاستنساخ المواقع وحقن المصائد.templates/:
lures/: قوالب الهجوم بكامل الصفحة.traps/: أجزاء HTML (نوافذ منبثقة/طبقات متراكبة) تُحقن في المواقع المستنسخة.scenarios/: تخزين المواقع المستنسخة.static/: ملفات CSS وJS والصور.لتلقي تنبيهات فورية عندما ينقر المستخدم على زر الإصلاح أو ينفّذ الحمولة، عيّن متغير البيئة WEBHOOK_URL.
الصيغ المدعومة: Slack وDiscord وMicrosoft Teams (Webhook وارد).
environment:
- WEBHOOK_URL=https://hooks.slack.com/services/T000/B000/XXXX
يمكنك تجاوز المصيدة الافتراضية لأي حملة عن طريق إضافة ?t=<trap_name> إلى الرابط.
مثال: https://training.local/s/teams_error?uid=john&t=cloudflare
افتراضيًا، تستخدم الأداة SQLite (training_log.db). بالنسبة للحملات عالية الحجم أو النشر الموزّع للأحمال، يمكنك التبديل إلى PostgreSQL أو MySQL عن طريق تعيين SQLALCHEMY_DATABASE_URI.
environment:
- SQLALCHEMY_DATABASE_URI=postgresql://user:pass@db_host:5432/clickfix
navigator.clipboard.writeText() سياقًا آمنًا (HTTPS أو localhost). لن تعمل الأداة عبر HTTP العادي على الشبكة.docker-compose.yml أو .env قبل النشر.المساهمات مرحّب بها! يرجى قراءة CONTRIBUTING.md للحصول على الإرشادات.
هذا المشروع مرخّص بموجب رخصة MIT - راجع ملف LICENSE للحصول على التفاصيل.