Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
HiveV5_file_decryptor — Hive v5 алгоритм расшифровки файлов | Kitploit
Инструменты/GitHubGitHub/reecdeep/hivev5_file_decryptor
Инструменты шифрования/дешифрованияОбратная инженерияВосстановление ДанныхАнализ вредоносных программКриптография
GitHubreecdeep/hivev5_file_decryptor

HiveV5_file_decryptor

Hive v5 алгоритм расшифровки файлов

Репозиторий
34363 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

HiveV5 file decryptor PoC

Введение

Работа, проделанная за последние несколько месяцев, была необходима для раскрытия механизма вредоносного шифрования файлов Hive v5-5.2. Работа была разделена на две части:

  1. Дешифрование ключевого потока
  2. Дешифрование файлов с использованием расшифрованного ключевого потока

Хочу поблагодарить замечательного @rivitna за поддержку, диалог и советы в течение этих месяцев работы! Обратите внимание на github ривитны, полный полезной информации о программе-вымогателе Hive и не только.

В этом readme вы найдёте некоторую информацию об алгоритме дешифрования файлов, а для более полного понимания его работы обращайтесь к PoC. Ключевой поток — это зашифрованный открытый текст. Открытый текст — это набор из 0xA00000 байт, к которому были добавлены первые 0x2FFF00 байт, всего 0xCFFF00 байт. Эти байты были созданы с помощью слабого алгоритма, уже рассмотренного в первой части, опубликованной в июле 2022 года. Ниже приведён пример открытого текста:

cleartext

Образец Hive, проанализированный и упомянутый в этом документе, был выбран из этого списка, созданного @rivitna, которому я выражаю свою самую тёплую благодарность. Чтобы получить представление о сложности программы-вымогателя, пожалуйста, ознакомьтесь с этим анализом, опубликованным Центром анализа угроз Microsoft (MSTIC).

Алгоритм шифрования файлов

Открытый текст (расшифрованный ключевой поток) используется программой-вымогателем Hive при шифровании каждого файла. При шифровании файла программа-вымогатель Hive вычисляет два целых числа, относящихся к точным позициям в открытом тексте (смещениям), которые используются для шифрования файла по следующей формуле:

formula

где c = i % 0x2FFF00 и d = i % 0x2FFD00, где i — счётчик байтов.

Расширение зашифрованного файла

Предварительные операции перед записью файла:

  • Переименование файла с помощью MoveFileExW и изменение его расширения;
  • Запись переименованного файла с результатом операции xor, показанной выше.

file_extension

И в этом случае открытый текст играет фундаментальную роль. Фактически он используется для:

  1. Определения ID ключевого потока (первые 6 байт) с помощью хеш-функции
  2. Шифрования позиций (смещений), используемых для извлечения байтов из открытого текста Однако первое смещение шифруется с использованием фиксированной позиции открытого текста и различно для каждого образца Hive 5/5.1/5.2. Своего рода магическое значение. Во многих артефактах Hive 5/5.1 это магическое значение явно показано внутри ссылки на память, как в этом случае 0x98072A:

off1

Или в этом случае 0x7539D:

off2

Но в следующем доказательстве цикл for немного отличается и написан таким образом, чтобы не раскрывать магическое значение, которое нам нужно идентифицировать. Это касается артефакта, принадлежащего Hive 5.2:

off3

В этом случае можно использовать функцию брутфорса смещения, присутствующую в опубликованном инструменте, используя файл с известным расширением и соответствующий расшифрованный ключевой поток. Используя заголовок зашифрованного файла и заголовок незашифрованного файла, можно понять, с какого смещения дешифратор должен начать дешифрование файла.

Режим шифрования файла может принимать два значения: 0xFB или 0xFF

  • 0xFB означает, что программа-вымогатель зашифровала весь файл, не оставив ни одной части файла незашифрованной.
  • 0xFF означает, что программа-вымогатель вычислила NCB (незашифрованный блок) для каждого файла и шифрует блоки по 0x100000 байт. Для получения дополнительной информации о расчёте размера незашифрованных блоков и смещения открытого текста, пожалуйста, обратитесь к коду PoC.

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

Программа предлагает два варианта:

usage

  1. Дешифрование файлов с использованием расшифрованного ключевого потока. Вам необходимо ввести специальное смещение, присутствующее в образце, который зашифровал файлы.
  2. Имея файл с известным заголовком (PDF, JPG, PNG, файлы Office), перебрать возможное значение специального смещения, расшифровав первые байты и найдя совпадение с известной сигнатурой.

Ссылки

https://github.com/rivitna/Malware/blob/main/Hive/Hive_samples.txt

Скачать инструмент