
Système de file d'attente et de ressources pour le craquage de mots de passe.
CrackLord est un système conçu pour fournir un système évolutif, extensible et distribué à la fois pour le craquage de mots de passe ainsi que pour tout autre travail nécessitant beaucoup de ressources informatiques. Mieux dit, CrackLord est un moyen d'équilibrer la charge des ressources, telles que CPU, GPU, réseau, etc. provenant de plusieurs systèmes matériels, en un seul service de file d'attente à travers deux services principaux : la Ressource et la File d'attente. Cela ne rendra pas ces tâches plus rapides, mais cela les rendra plus faciles à gérer.
Il y a trois composants principaux dans CrackLord comme montré dans l'image ci-dessus :
Nous avons un ensemble de paquets construits pour chaque version que nous publions. Si vous souhaitez simplement les utiliser, vous pouvez le faire en suivant les instructions ici.
Si vous souhaitez construire les choses à partir des sources, cela nécessitera d'abord d'avoir un environnement de construction Go fonctionnel avec GOPATH configuré. De plus, vous aurez probablement besoin de Git et Mercurial configurés pour rassembler les différentes bibliothèques et plugins que nous avons utilisés dans le code.
Tout d'abord, vous aurez besoin d'obtenir cracklord lui-même.
go get github.com/jmmcatee/cracklord
Ensuite, nous devons télécharger toutes les dépendances pour le daemon de ressource et le daemon de file d'attente.
go get github.com/jmmcatee/cracklord/cmd/queued
go get github.com/jmmcatee/cracklord/cmd/resourced
Maintenant, nous pouvons effectivement construire le daemon de file d'attente et le daemon de ressource
go build github.com/jmmcatee/cracklord/cmd/queued
go build github.com/jmmcatee/cracklord/cmd/resourced
Enfin, nous pouvons exécuter à la fois le daemon de ressource et le daemon de file d'attente, qui se trouveront tous deux dans les répertoires cmd/queued et cmd/resourced. Vous devrez également configurer les différents fichiers de configuration ; des informations à ce sujet se trouvent dans notre wiki.
La façon la plus simple de s'impliquer est probablement d'écrire un nouveau plugin d'outil. Si vous avez des outils que vous utilisez dans le cadre de tests, de recherches ou de travail et que vous souhaitez les intégrer, vous pouvez très facilement écrire un nouvel outil et nous envoyer une pull request. Nous veillerons à l'intégrer dès que possible. Dans le répertoire plugins, nous avons créé un outil vide pour vous fournir des conseils et de l'aide. Si vous avez également une façon astucieuse d'interagir avec les ressources, vous pouvez également écrire un plugin de gestionnaire de ressources, peut-être pour un service cloud que nous ne supportons pas encore ou une nouvelle façon de réaliser le travail.
En raison du fonctionnement du langage Go, nous devons compiler tous les outils dedans, donc si vous faites quelque chose que vous souhaitez partager, veuillez nous envoyer une pull request et nous le testerons et le publierons pour que tout le monde puisse l'utiliser.
Nous avons une API standard que le daemon de file d'attente publie pour l'accès. Nous avons également écrit une interface graphique web standard qui utilise la même API. Cela ne signifie pas que vous ne pourriez pas en faire une meilleure ! Nous envisageons également d'écrire quelques scripts pour automatiser les tâches courantes dans notre flux de travail ; si vous en créez, envoyez-nous des liens ou une pull request et nous veillerons à leur trouver une place / à vous remercier !
Nous travaillons dur pour essayer de maintenir la documentation à jour avec tout ce que nous faisons, mais il y a toujours de la place pour un mode d'emploi, un tutoriel ou un exemple, et nous apprécierions toute aide que vous pourrez apporter à ce sujet. Rendez-vous sur notre wiki et voyez ce qui doit être corrigé ou ajouté !
Bien sûr, rien ne vous empêche de travailler sur les daemons de file d'attente et de ressource de CrackLord eux-mêmes. Nous avons notre liste de problèmes et toute aide pour les résoudre serait grandement appréciée.