
Un outil de simulation léger et auto-hébergé pour la formation à l'ingénierie sociale « ClickFix » (ClearFake). Simule en toute sécurité des attaques par injection dans le presse-papiers avec des leurres réalistes et des charges utiles inoffensives.
Un outil de simulation léger et auto-hébergé pour les attaques d'ingénierie sociale de type « ClickFix ».
Cet outil est destiné UNIQUEMENT À LA FORMATION AUTORISÉE À LA SENSIBILISATION À LA SÉCURITÉ. Toute utilisation non autorisée de cet outil pour cibler des systèmes ou des utilisateurs sans permission explicite est illégale et contraire à l'éthique. Les auteurs ne sont pas responsables de tout usage abusif de ce logiciel.
ClickFix (également connu sous le nom de « ClearFake » ou « Fake Update ») est une technique d'ingénierie sociale où les attaquants incitent les utilisateurs à exécuter manuellement des commandes malveillantes (généralement via la boîte de dialogue Exécuter de Windows) pour "réparer" une erreur fictive. Comme c'est l'utilisateur qui initie l'exécution, cette technique contourne souvent les contrôles de sécurité traditionnels.
Le ClickFix Training Tool permet aux équipes de sécurité de simuler ces attaques en toute sécurité pour former les employés.
Principales fonctionnalités :
Cloner le dépôt :
git clone https://github.com/boredchilada/clickfix-simulator-2025.git
cd clickfix-simulator-2025
Démarrer le conteneur :
docker-compose up -d
Accéder à l'outil :
https://localhost/admin (Utilisateur : admin, Mot de passe : changeme_please)https://localhost/s/teams_error?uid=test_userPrérequis : Python 3.8+, pip, openssl (pour les certificats).
Installer les dépendances :
python -m venv venv
source venv/bin/activate # or venv\Scripts\activate on Windows
pip install -r requirements.txt
Initialiser la base de données :
flask init-db
Générer les certificats (requis pour l'API Presse-papiers) :
mkdir certs
openssl req -x509 -newkey rsa:4096 -nodes -keyout certs/key.pem -out certs/cert.pem -days 365 -subj "/CN=localhost"
Lancer le serveur :
python run.py
L'outil est construit avec Flask (Python) et utilise SQLite pour le stockage des données.
run.py : Logique principale de l'application, routes et génération des payloads.cloner.py : Utilitaire pour cloner des sites web et injecter des pièges.templates/ :
lures/ : Modèles d'attaque pleine page.traps/ : Fragments HTML (popups/overlays) injectés dans les sites clonés.scenarios/ : Stockage des sites clonés.static/ : CSS, JS et images.Pour recevoir des alertes en temps réel lorsqu'un utilisateur clique sur le bouton de réparation ou exécute le payload, définissez la variable d'environnement WEBHOOK_URL.
Formats pris en charge : Slack, Discord, Microsoft Teams (Incoming Webhook).
environment:
- WEBHOOK_URL=https://hooks.slack.com/services/T000/B000/XXXX
Vous pouvez remplacer le piège par défaut pour toute campagne en ajoutant ?t=<trap_name> à l'URL.
Exemple : https://training.local/s/teams_error?uid=john&t=cloudflare
Par défaut, l'outil utilise SQLite (training_log.db). Pour les campagnes à fort volume ou les déploiements équilibrés en charge, vous pouvez passer à PostgreSQL ou MySQL en définissant SQLALCHEMY_DATABASE_URI.
environment:
- SQLALCHEMY_DATABASE_URI=postgresql://user:pass@db_host:5432/clickfix
navigator.clipboard.writeText() nécessite un contexte sécurisé (HTTPS ou localhost). L'outil ne fonctionnera pas en HTTP simple sur un réseau.docker-compose.yml ou .env avant le déploiement.Les contributions sont les bienvenues ! Veuillez lire CONTRIBUTING.md pour les directives.
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.