Zurück zu den Updates
New releaseJul 25, 2026

hate_crack v2.14.0

Ein Werkzeug zur Automatisierung von Cracking-Methoden mit Hashcat vom TrustedSec-Team.

Teilen
  ___ ___         __             _________                       __
 /   |   \_____ _/  |_  ____     \_   ___ \____________    ____ |  | __
/    ~    \__  \\   __\/ __ \    /    \  \/\_  __ \__  \ _/ ___\|  |/ /
\    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 Modus 0600 erstellt.

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: erkennt username:hash-Eingabedateien, um über hashcats --username zu 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:


Verwendung

Kategorien