
Warteschlangen- und Ressourcensystem für das Knacken von Passwörtern
CrackLord ist ein System, das darauf ausgelegt ist, eine skalierbare, erweiterbare und verteilte Umgebung sowohl für das Knacken von Passwörtern als auch für andere Aufgaben, die viele Rechenressourcen benötigen, bereitzustellen. Anders gesagt, CrackLord ist eine Möglichkeit, die Ressourcen wie CPU, GPU, Netzwerk usw. mehrerer Hardwaresysteme in einem einzigen Warteschlangendienst über zwei primäre Dienste zu verteilen: die Resource und die Queue. Es wird diese Aufgaben nicht schneller machen, aber es wird die Verwaltung erleichtern.
Es gibt drei Hauptkomponenten von CrackLord, wie im obigen Bild dargestellt:
Wir haben für jede Veröffentlichung ein Paket erstellt. Wenn Sie dieses einfach nutzen möchten, folgen Sie den Anweisungen hier.
Wenn Sie die Software aus dem Quellcode erstellen möchten, benötigen Sie zunächst eine funktionierende Go-Entwicklungsumgebung mit eingerichtetem GOPATH. Außerdem sollten Sie Git und Mercurial eingerichtet haben, um die verschiedenen Bibliotheken und Plugins zu sammeln, die im Code verwendet werden.
Zuerst müssen Sie Cracklord selbst abrufen.
go get github.com/jmmcatee/cracklord
Als nächstes müssen alle Abhängigkeiten sowohl für den Resource-Daemon als auch für den Queue-Daemon heruntergeladen werden.
go get github.com/jmmcatee/cracklord/cmd/queued
go get github.com/jmmcatee/cracklord/cmd/resourced
Jetzt können wir den Queue-Daemon und den Resource-Daemon tatsächlich bauen.
go build github.com/jmmcatee/cracklord/cmd/queued
go build github.com/jmmcatee/cracklord/cmd/resourced
Schließlich können wir beide Daemons ausführen, die sich in den Verzeichnissen cmd/queued und cmd/resourced befinden. Sie müssen auch die verschiedenen Konfigurationsdateien einrichten; Informationen dazu finden Sie in unserem Wiki.
Der wahrscheinlich einfachste Weg, sich zu beteiligen, ist das Schreiben eines neuen Tool-Plugins. Wenn Sie Tools verwenden, die Sie im Rahmen von Tests, Forschung oder Arbeit einsetzen, und diese integrieren möchten, können Sie ganz einfach ein neues Tool schreiben und uns einen Pull-Request senden. Wir werden sicherstellen, dass es so schnell wie möglich integriert wird. Im Verzeichnis plugins haben wir ein leeres Tool erstellt, das als Anleitung und Hilfe dient. Wenn Sie auch eine clevere Möglichkeit haben, mit Ressourcen zu interagieren, könnten Sie ein Resource-Manager-Plugin schreiben, vielleicht für einen Cloud-Dienst, den wir noch nicht unterstützen, oder für eine neue Art der Arbeitsausführung.
Aufgrund der Funktionsweise der Go-Sprache müssen wir alle Tools einkompilieren. Wenn Sie also etwas tun, das Sie teilen möchten, senden Sie uns bitte einen Pull-Request; wir werden es testen und für alle verfügbar machen.
Wir haben eine standardisierte API, die der Queue-Daemon für den Zugriff bereitstellt. Wir haben auch eine standardmäßige Web-GUI geschrieben, die dieselbe API verwendet. Das bedeutet nicht, dass Sie keine bessere erstellen könnten! Wir denken auch darüber nach, einige Skripte zu schreiben, um häufige Aufgaben in unserem Workflow zu automatisieren. Wenn Sie solche erstellen, senden Sie uns Links oder einen Pull-Request, und wir werden einen Platz dafür finden / Sie namentlich erwähnen!
Wir arbeiten hart daran, die Dokumentation auf dem neuesten Stand zu halten, aber es gibt immer Raum für Anleitungen, Tutorials oder Beispiele, und wir würden uns über jede Hilfe freuen, die Sie dazu leisten können. Besuchen Sie unser Wiki und sehen Sie, was repariert oder hinzugefügt werden muss!
Natürlich spricht nichts dagegen, an den CrackLord-Queue- und Resource-Daemons selbst zu arbeiten. Wir haben unsere Issue-Liste, und jede Hilfe bei der Behebung dieser Probleme wird sehr geschätzt.