Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
HiveV5_file_decryptor — Hive v5 file decryption algorithm | Kitploit
Herramientas/GitHubGitHub/reecdeep/hivev5_file_decryptor
Encryption/Decryption ToolsReverse EngineeringData RecoveryMalware AnalysisCryptography
GitHubreecdeep/hivev5_file_decryptor

HiveV5_file_decryptor

Hive v5 file decryption algorithm

Ver Repositorio
343hace 3 añosRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Decodificador de archivos HiveV5 PoC

Introducción

El trabajo realizado en los últimos meses ha sido necesario para revelar el mecanismo de cifrado malicioso de archivos de Hive v5-5.2. El trabajo se dividió en dos partes:

  1. Descifrado de flujo de claves (keystream)
  2. Descifrado de archivos utilizando el flujo de claves descifrado

¡Me gustaría agradecer al gran @rivitna por el apoyo, el diálogo y los consejos de estos meses de trabajo! Por favor, tenga en cuenta el github de rivitna, lleno de información útil sobre el ransomware Hive y más.

En este readme encontrará información sobre el algoritmo de descifrado de archivos, remitiéndole al PoC para una visión más completa de su funcionamiento. Un flujo de claves es un texto claro cifrado. Un texto claro es un conjunto de 0xA00000 bytes al que se le han añadido los primeros 0x2FFF00 bytes, para un total de 0xCFFF00 bytes. Estos bytes se crearon con el algoritmo débil ya discutido en la primera parte publicada en julio de 2022. A continuación se muestra un ejemplo de texto claro:

cleartext

La muestra de Hive analizada y referenciada en este documento fue elegida de esta lista creada por @rivitna, a quien van mis más cálidos agradecimientos. Para hacerse una idea de la complejidad del ransomware, por favor eche un vistazo a este análisis publicado por el Microsoft Threat Intelligence Center (MSTIC).

Algoritmo de cifrado de archivos

El texto claro (un flujo de claves descifrado) es utilizado por el ransomware Hive al cifrar cada archivo. Al cifrar un archivo, el ransomware Hive calcula dos enteros que se refieren a posiciones precisas en el texto claro (offsets) que se utilizan para cifrar el archivo de acuerdo con la siguiente fórmula:

formula

donde c = i % 0x2FFF00 y d = i % 0x2FFD00, siendo i un contador de bytes.

La extensión del archivo cifrado

Las operaciones preliminares antes de escribir un archivo son:

  • Renombrar el archivo usando MoveFileExW y cambiando su extensión;
  • Escribir el archivo renombrado con el resultado de la operación xor mostrada anteriormente.

file_extension

También en este caso el texto claro juega un papel fundamental. De hecho, se utiliza para:

  1. Determinar el ID del flujo de claves (primeros 6 bytes) usando una función hash
  2. Cifrar las posiciones (offsets) utilizadas para extraer bytes del texto claro Sin embargo, el primer offset se cifra utilizando una posición fija del texto claro y es diferente para cada muestra de Hive 5/5.1/5.2. Una especie de valor mágico. En muchos artefactos de Hive 5/5.1 este valor mágico se muestra explícitamente dentro de una referencia de memoria, como en este caso 0x98072A:

off1

O este caso 0x7539D:

off2

Pero en la siguiente evidencia el bucle for es ligeramente diferente y ha sido escrito de tal manera que no se explicite el valor mágico que necesitamos identificar. Esto se refiere a un artefacto perteneciente a Hive 5.2:

off3

En este caso es posible usar la función de fuerza bruta de offset presente en la herramienta publicada, usando un archivo con una extensión conocida y el flujo de claves descifrado correspondiente. Usando la cabecera del archivo cifrado y la cabecera del archivo sin cifrar es posible entender cuál es el offset desde el que el descifrador debe comenzar a descifrar el archivo.

El modo de cifrado de archivos puede tener dos valores: 0xFB o 0xFF

  • 0xFB significa que el ransomware cifró el archivo completo sin dejar ninguna porción del archivo sin cifrar.
  • 0xFF significa que el ransomware calculó un NCB (bloque no cifrado) para cada archivo y cifró bloques de 0x100000 bytes. Para más información sobre el cálculo del tamaño de los bloques sin cifrar y el offset del texto claro, consulte el código del PoC.

Uso

El programa ofrece dos opciones:

usage

  1. Descifrado de archivos usando el flujo de claves descifrado. Debe ingresar el offset especial presente en la muestra que cifró los archivos.
  2. Dado un archivo con una cabecera conocida (PDF, JPG, PNG, archivos de Office), forzar por fuerza bruta el posible valor del offset especial descifrando los primeros bytes y buscando una coincidencia con la firma conocida.

Referencias

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

Descargar herramienta