
hate_crack v2.36.1
Ein Tool zur Automatisierung von Cracking-Methoden mit Hashcat vom TrustedSec-Team.
___ ___ __ _________ __
/ | \_____ _/ |_ ____ \_ ___ \____________ ____ | | __
/ ~ \__ \\ __\/ __ \ / \ \/\_ __ \__ \ _/ ___\| |/ /
\ Y // __ \| | \ ___/ \ \____| | \// __ \\ \___| <
\___|_ /(____ /__| \___ >____\______ /|__| (____ /\___ >__|_ \
\/ \/ \/_____/ \/ \/ \/ \/
Installation
Die Installation aus dem Quellcode ist der einzige unterstützte Weg. hate_crack wird nicht
auf PyPI verteilt: pip install hate-crack verweist auf einen 0.0.0-Platzhalter,
der absichtlich fehlschlägt und hierher zurückverweist. Der Name wird nur reserviert, damit niemand sonst
ein Nachahmerprodukt darunter veröffentlichen kann — siehe
packaging/pypi-placeholder/.
1. hashcat installieren
Hashcat muss installiert und in deinem PATH verfügbar sein:
Ubuntu/Kali:
sudo apt-get install -y hashcat
macOS (Homebrew):
brew install hashcat
Oder lade eine vorkompilierte Binärdatei von https://hashcat.net/hashcat/ herunter und setze hcatPath in config.json auf ihren Speicherort.
2. hate_crack herunterladen
Mit Submodulen klonen (erforderlich für hashcat-utils, princeprocessor, pcfg_cracker, Corporate_Masks und optional omen):
git clone --recurse-submodules https://github.com/trustedsec/hate_crack.git
cd hate_crack
Wenn Sie ohne Submodule geklont haben, initialisieren Sie diese:
git submodule update --init --recursive
Dann die Konfiguration nach Bedarf anpassen. hate_crack verwendet zwei Konfigurationsdateien, die jeweils einen eigenen Satz von Einstellungen verwalten:
config.json— Wortlisten-Pfade, Masken, Regeln, Tuning, Potfile, Hashcat-Pfad, Kandidatenlimits, Benachrichtigungs-Schalter, CLI-Präferenz-Standardwerte (35 Einstellungen)..env— nur Einstellungen für Drittanbieter-Integrationen: Hashview- und Hashmob-Anmeldedaten, Pushover-Anmeldedaten, Ollama und pipal (14 Einstellungen). Nicht von git verfolgt, mit Modus0600erstellt.
Die Trennlinie verläuft aus einem Grund genau dort: .env ist die Datei, die Geheimnisse enthalten kann. Anmeldedaten für und Konfiguration von Drittanbieter-Diensten gehören in die nicht verfolgte Datei mit Modus 0600; alles, was hate_crack lokal tut, bleibt in config.json, die gefahrlos geteilt, verglichen und in die eigenen Notizen eingecheckt werden kann. Das ist auch der Grund, warum die Pushover-Anmeldedaten in .env liegen, während die Pushover-Ein/Aus-Schalter in config.json liegen — die Schalter sind lokale Präferenzen, keine Geheimnisse.
Jeder Schlüssel hat genau einen Platz. Ein Schlüssel, der in der anderen Datei platziert wird, wird ignoriert, und hate_crack gibt eine Warnung aus, die die Datei nennt, in die er gehört. Jeder Schlüssel kann für einen einzelnen Lauf weiterhin überschrieben werden, indem seine Umgebungsvariable exportiert wird. Die meisten Benutzer können diesen Schritt überspringen, da die Standardpfade out-of-the-box funktionieren.
config.json ist dauerhaft und erstklassig — sie ist nicht veraltet und es gibt keinen Zeitplan für ihre Entfernung. Nur die Integrationseinstellungen wurden verschoben.
Upgrade von einer einzelnen config.json? hate_crack migriert sie beim ersten Lauf für Sie: Die Integrationseinstellungen werden in eine neue .env mit Modus 0600 kopiert und dann aus config.json entfernt, damit die beiden Dateien sie nicht beide beanspruchen. Es wird ausgegeben, welche Schlüssel verschoben wurden (niemals ihre Werte), und Ihre Originaldatei wird als config.json.pre-split.bak gespeichert, bevor sie angefasst wird. Alles andere in config.json bleibt genau so, wie es war, einschließlich der Schlüsselreihenfolge.
Erster Lauf: hate_crack erstellt beide Dateien für Sie, es gibt also nichts zu tun. Um .env stattdessen manuell einzurichten, kopieren Sie die verfolgte Vorlage:
cp .env.example .env
chmod 600 .env
.env.example ist eingecheckt und wird mit jedem leeren Credential-Schlüssel ausgeliefert. .env selbst darf niemals eingecheckt werden — sie ist gitignored, zusammen mit ihren üblichen Backup-Schreibweisen, und hate_crack erstellt sie immer mit Modus 0600 (nur Lesen/Schreiben für den Eigentümer). .env.example wird aus dem Schema generiert; regeneriere sie nach Änderungen an hate_crack/config_schema.py mit uv run python -m hate_crack.config_writer.
3. Abhängigkeiten und hate_crack installieren
Der einfachste Weg ist, make (oder make install) auszuführen, was dein Betriebssystem automatisch erkennt und installiert:
- Externe Abhängigkeiten (p7zip, transmission-daemon / transmission-remote)
- Baut Submodule (hashcat-utils, princeprocessor, pcfg_cracker und optional omen) und checkt das datenreine Corporate_Masks-Maskenset aus
- Python-Abhängigkeiten über uv und ein CLI-Shim unter
~/.local/bin/hate_crack
make
Dies ist idempotent – bereits installierte Tools werden übersprungen. Um eine saubere Neuinstallation zu erzwingen:
make reinstall
Oder Abhängigkeiten manuell installieren:
Externe Abhängigkeiten
Diese sind für bestimmte Download-/Extraktionsabläufe erforderlich:
7z/7za(p7zip) — wird zum Extrahieren von.7z-Archiven verwendet.transmission-daemon/transmission-remote— wird zum Herunterladen von Weakpass-Torrents verwendet.
Manuelle Installationsbefehle:
Ubuntu/Kali:
sudo apt-get update
sudo apt-get install -y p7zip-full transmission-daemon
macOS (Homebrew):
brew install p7zip transmission-cli # provides transmission-daemon and transmission-remote
Dann installiere die Python-Abhängigkeiten und den CLI-Shim:
uv sync
mkdir -p ~/.local/bin
printf '#!/usr/bin/env bash\nset -euo pipefail\nexec uv run --directory %s python -m hate_crack "$@"\n' "$(pwd)" > ~/.local/bin/hate_crack
chmod +x ~/.local/bin/hate_crack
Projektstruktur
Die Kernlogik ist jetzt in Module unter hate_crack/ aufgeteilt:
hate_crack/cli.py: argparse-Hilfsfunktionen und Konfigurationsüberschreibungen.hate_crack/api.py: Hashview-, Weakpass- und Hashmob-Integrationen (Downloads/Menüs/Hilfsfunktionen).hate_crack/attacks.py: Menü-Angriffs-Handler.hate_crack/corpus_stats.py: Passwortstatistiken über das gesamte Korpus, die verwendet werden, um ein Korpus für das LLM zu beschreiben.hate_crack/plaintext.py: extrahiert das Passwort aus einer Korpuszeile (Entfernen von Hash-Präfixen,$HEX[...]-Dekodierung); wird von den LLM-Modi, corpus_stats und rulegen gemeinsam genutzt.hate_crack/llm.py: strukturierte (JSON) LLM-Kandidatengenerierung über Atomic Agents.hate_crack/menu.py: gemeinsamer Menü-Renderer, einschließlich optionaler Pfeiltasten-Navigation.hate_crack/noninteractive.py: Dispatcher für die skriptgesteuerten Angriffs-Subkommandos.hate_crack/notify/: Benachrichtigungspaket (Pushover-Backend, Tailer pro Crack).hate_crack/username_detect.py: erkenntusername:hash-Eingabedateien, um über hashcats--usernamezu entscheiden.hate_crack/formatting.py,hate_crack/progress.py: Hilfsfunktionen für Ausgabeformatierung und Fortschrittsanzeige.hate_crack/main.py: Hauptimplementierung der CLI.
Die oberste hate_crack.py bleibt der Haupteinstiegspunkt und orchestriert diese Module.
Referenzen und Danksagungen
Dieses Projekt hängt von einer Reihe externer Projekte und Dienste ab und ist von ihnen inspiriert. Danke an:
- Hashview (http://github.com/hashview/)
- Weakpass (https://weakpass.com)
- Hashmob (https://hashmob.net)