
Système de craquage de mots de passe par force brute distribué qui parallélise les attaques basées sur dictionnaire et crunch à travers plusieurs machines via des clients web et desktop.
Avertissement
Je suis en train de revoir le code de Kraken-Client et, comme il s'agissait de ma première application React, elle est vieille, lourde et a besoin d'être considérablement améliorée (le serveur nécessite aussi du travail). Dans les prochaines semaines/mois, je ferai de mon mieux pour la réécrire en React mis à jour ou dans un autre framework. N'hésitez pas à continuer à l'utiliser telle quelle ; en cas de problème, continuez à ouvrir des issues et à fournir des retours ! Merci !
Kraken est un outil en ligne de cassage de mots de passe par force brute distribué. Il permet de paralléliser les dictionnaires et la génération de mots basée sur crunch sur plusieurs machines, à la fois en tant qu'application web dans un navigateur et en tant que client autonome basé sur Electron. Kraken vise à être facile à utiliser, tolérant aux pannes et évolutif.
J'ai écrit Kraken parce que je voulais en apprendre davantage sur la sécurité offensive et écrire une solution simple pour surmonter la limitation de l'utilisation d'un seul appareil lors de la répartition des charges de travail de force brute.
Kraken est une application dockerisée utilisant docker-compose qui lancera la base de données (Postgres), le stockage de fichiers compatible S3 (Minio), le serveur et le client navigateur. Vous trouverez le fichier docker-compose à la racine du dépôt. Vous pouvez le déployer avec la commande suivante :
docker-compose up
Le client navigateur de Kraken devrait être accessible à :
Remarque : Pour exécuter le client navigateur depuis une machine distante, vous DEVEZ utiliser HTTPS pour l'URL du serveur et l'URL du navigateur. Exemple : Si vous hébergez le serveur sur 192.168.1.2, alors le client navigateur sera disponible à https://192.168.1.2:8443 et l'URL du serveur doit être https://192.168.1.2:8443/api
Pour téléverser des listes de mots de passe ou des dictionnaires, téléversez-les dans la console Minio à l'adresse <a href=http://localhost:9001>localhost:9001. Consultez les étapes ci-dessous pour un guide détaillé. Sinon, vous pouvez générer dynamiquement des listes de mots avec crunch. Voir les options de crunch et comment les utiliser ici : page de manuel de crunch
Le serveur Kraken tourne sur <a href=http://localhost:5000>localhost:5000 et héberge aussi la documentation Swagger à <a href=http://localhost:5000/swagger>localhost:5000/swagger.
Le client de bureau est une application portable basée sur Electron et peut être exécuté sur Mac, Windows et Linux. En raison des autorisations sensibles nécessaires à son fonctionnement, il est fortement recommandé de le compiler vous-même en clonant le dépôt et en utilisant :
cd kraken-client
npm install
npm run electron-start
Remarque : Le client portable EXE Windows doit être exécuté dans le dossier contenant ses dépendances hashcat. Les fichiers hashcat peuvent être téléchargés depuis leur page d'accueil ou ici. J'ai inclus un fichier zip compressé avec l'exécutable portable et les fichiers hashcat requis. Ils peuvent être téléchargés :
Les versions incluent une AppImage Linux qui nécessite seulement que hashcat soit installé.
Installez hashcat :
sudo apt-get install hashcat
Vous devrez donner la permission d'exécution à l'AppImage via ses propriétés.
Pour ajouter vos listes de mots à Minio, voici les étapes :





Ce guide est en cours d'élaboration, mais n'hésitez pas à ouvrir une issue ou à me contacter pour toute aide nécessaire.