
hate_crack v2.14.0
Ein Werkzeug 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 zurück hierher verweist. 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:```bash sudo apt-get install -y hashcat
macOS (Homebrew):```bash
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):```bash git clone --recurse-submodules https://github.com/trustedsec/hate_crack.git cd hate_crack
Wenn Sie ohne Submodule geklont haben, initialisieren Sie diese:```bash
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 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 sicher geteilt, verglichen und in die eigenen Notizen eingecheckt werden kann. Deshalb stehen auch die Pushover-Anmeldedaten in .env, während die Pushover-Ein/Aus-Schalter in config.json stehen — 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, zu der er gehört. Jeder Schlüssel kann weiterhin für einen einzelnen Lauf ü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 Entfernungstermin für sie. 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 0600 .env 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:```bash
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 Lese-/Schreibzugriff 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````bash
make
Dies ist idempotent – bereits installierte Tools werden übersprungen. Um eine saubere Neuinstallation zu erzwingen:```bash make reinstall
**Oder Abhängigkeiten manuell installieren:**
### Externe Abhängigkeiten
Diese werden für bestimmte Download-/Extraktionsabläufe benötigt:
- `7z`/`7za` (p7zip) — wird zum Entpacken von `.7z`-Archiven verwendet.
- `transmission-daemon` / `transmission-remote` — wird zum Herunterladen von Weakpass-Torrents verwendet.
Manuelle Installationsbefehle:
Ubuntu/Kali:```bash
sudo apt-get update
sudo apt-get install -y p7zip-full transmission-daemon
macOS (Homebrew):```bash brew install p7zip transmission-cli # provides transmission-daemon and transmission-remote
Dann installiere die Python-Abhängigkeiten und den CLI-Shim:```bash
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 den gesamten Korpus, die verwendet werden, um einen Korpus für das LLM zu beschreiben.hate_crack/plaintext.py: rekonstruiert 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)