Zurück zu den Updates
New releaseSep 4, 2026

hate_crack v2.36.1

Ein Tool 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 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 Modus 0600 erstellt.

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: 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