
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 верхнего уровня остаётся главной точкой входа и управляет этими модулями.
Ссылки и благодарности
Этот проект зависит от ряда внешних проектов и сервисов и вдохновлён ими. Благодарность:
- Hashview (http://github.com/hashview/)
- Weakpass (https://weakpass.com)
- Hashmob (https://hashmob.net)
Использование
После установки с помощью 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>