Назад к обновлениям
New releaseJul 26, 2026

hate_crack v2.14.3

Инструмент для автоматизации методологий взлома с помощью Hashcat от команды TrustedSec.

Поделиться
  ___ ___         __             _________                       __
 /   |   \_____ _/  |_  ____     \_   ___ \____________    ____ |  | __
/    ~    \__  \\   __\/ __ \    /    \  \/\_  __ \__  \ _/ ___\|  |/ /
\    Y    // __ \|  | \  ___/    \     \____|  | \// __ \\  \___|    <
 \___|_  /(____  /__|  \___  >____\______  /|__|  (____  /\___  >__|_ \
       \/      \/          \/_____/      \/            \/     \/     \/

Установка

Установка из исходного кода — единственный поддерживаемый способ. hate_crack не распространяется через PyPI: pip install hate-crack разрешается в заглушку 0.0.0, которая намеренно завершается ошибкой и указывает обратно сюда. Имя зарезервировано только для того, чтобы никто другой не мог опубликовать под ним похожий пакет — см. packaging/pypi-placeholder/.

1. Установите hashcat

Hashcat должен быть установлен и доступен в вашем PATH:

Ubuntu/Kali:```bash sudo apt-get install -y hashcat

macOS (Homebrew):```bash
brew install hashcat

Или скачайте готовый бинарный файл с https://hashcat.net/hashcat/ и укажите hcatPath в config.json на его расположение.

2. Скачайте hate_crack

Клонируйте с подмодулями (требуется для hashcat-utils, princeprocessor, pcfg_cracker, Corporate_Masks и, опционально, omen):```bash git clone --recurse-submodules https://github.com/trustedsec/hate_crack.git cd hate_crack

Если вы клонировали без подмодулей, инициализируйте их:```bash
git submodule update --init --recursive

Затем настройте конфигурацию при необходимости. hate_crack использует два файла конфигурации, каждый из которых отвечает за свой набор параметров:

  • config.json — пути к словарям, маски, правила, тонкая настройка, potfile, путь к hashcat, лимиты кандидатов, переключатели уведомлений, значения по умолчанию для CLI (35 параметров).
  • .env — только параметры интеграции со сторонними сервисами: учётные данные Hashview и Hashmob, учётные данные Pushover, Ollama и pipal (14 параметров). Не отслеживается git, создаётся с правами 0600.

Разделение проходит именно здесь по одной причине: .env — это файл, который может содержать секреты. Учётные данные для сторонних сервисов и их конфигурация попадают в неотслеживаемый файл с правами 0600; всё, что hate_crack делает локально, остаётся в config.json, который безопасно делиться, сравнивать и сохранять в собственных заметках. Именно поэтому учётные данные Pushover находятся в .env, а переключатели Pushover вкл/выкл — в config.json: переключатели — это локальные предпочтения, а не секреты.

У каждого ключа есть ровно одно место. Ключ, размещённый в другом файле, игнорируется, и hate_crack выводит предупреждение с указанием файла, которому он принадлежит. Любой ключ по-прежнему можно переопределить для одного запуска, экспортировав его переменную окружения. Большинство пользователей могут пропустить этот шаг, так как пути по умолчанию работают из коробки.

config.json является постоянным и первостепенным — он не устарел, и сроков его удаления нет. Переместились только параметры интеграции.

Обновляетесь с единого config.json? hate_crack перенесёт его за вас при первом запуске: параметры интеграции копируются в новый .env с правами 0600, затем удаляются из config.json, чтобы оба файла не претендовали на них одновременно. Он выводит, какие ключи переместились (никогда их значения), и сохраняет ваш оригинал как config.json.pre-split.bak перед тем, как его изменить. Всё остальное в config.json остаётся точно таким, как было, включая порядок ключей.

Первый запуск: hate_crack создаёт оба файла за вас, так что делать ничего не нужно. Чтобы настроить .env вручную, скопируйте отслеживаемый шаблон:```bash cp .env.example .env chmod 600 .env

`.env.example` включён в репозиторий и поставляется с пустыми значениями всех ключей учётных данных. Сам `.env` **никогда** не должен попадать в репозиторий — он указан в gitignore вместе с обычными вариантами резервных копий, и hate_crack всегда создаёт его с правами `0600` (только чтение/запись для владельца). `.env.example` генерируется из схемы; перегенерируйте его после изменения `hate_crack/config_schema.py` с помощью `uv run python -m hate_crack.config_writer`.

### 3. Установка зависимостей и hate_crack

Самый простой способ — запустить `make` (или `make install`), который автоматически определяет вашу ОС и устанавливает:
- Внешние зависимости (p7zip, transmission-daemon / transmission-remote)
- Собирает подмодули (hashcat-utils, princeprocessor, pcfg_cracker и, опционально, omen) и извлекает набор масок Corporate_Masks, содержащий только данные
- Python-зависимости через uv и CLI-обёртку в `~/.local/bin/hate_crack````bash
make

Это идемпотентно — уже установленные инструменты пропускаются. Чтобы принудительно выполнить чистую переустановку:```bash make reinstall

**Или установите зависимости вручную:**

### Внешние зависимости
Они требуются для некоторых сценариев загрузки/извлечения:

- `7z`/`7za` (p7zip) — используется для извлечения архивов `.7z`.
- `transmission-daemon` / `transmission-remote` — используется для загрузки торрентов Weakpass.

Команды для ручной установки:

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

Затем установите зависимости Python и CLI-обёртку:```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

Структура проекта

Основная логика теперь разделена на модули в каталоге hate_crack/:

  • hate_crack/cli.py: вспомогательные функции argparse и переопределения конфигурации.
  • hate_crack/api.py: интеграции с Hashview, Weakpass и Hashmob (загрузки/меню/вспомогательные функции).
  • hate_crack/attacks.py: обработчики атак из меню.
  • hate_crack/corpus_stats.py: статистика паролей по всему корпусу, используемая для описания корпуса LLM.
  • hate_crack/plaintext.py: извлекает пароль из строки корпуса (отсечение префикса хеша, декодирование $HEX[...]); используется совместно режимами LLM, corpus_stats и rulegen.
  • hate_crack/llm.py: структурированная (JSON) генерация кандидатов с помощью LLM через Atomic Agents.
  • hate_crack/menu.py: общий рендерер меню, включая опциональную навигацию стрелками.
  • hate_crack/noninteractive.py: диспетчер для скриптовых подкоманд атак.
  • hate_crack/notify/: пакет уведомлений (бэкенд Pushover, отслеживание каждого взлома).
  • hate_crack/username_detect.py: определяет входные файлы вида username:hash для выбора опции hashcat --username.
  • hate_crack/formatting.py, hate_crack/progress.py: вспомогательные функции форматирования вывода и отображения прогресса.
  • hate_crack/main.py: основная реализация CLI.

Файл hate_crack.py верхнего уровня остаётся главной точкой входа и управляет этими модулями.


Ссылки и благодарности

Этот проект зависит от ряда внешних проектов и сервисов и вдохновлён ими. Благодарность:


Использование

После установки с помощью make запускайте hate_crack из любого места:```bash hate_crack

or with arguments:

hate_crack <hash_file> <hash_type> [options]

Кроме того, можно запустить через `uv`:```bash
uv run hate_crack.py <hash_file> <hash_type>

Запуск в качестве инструмента (рекомендуется)

Категории