Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
HiveV5_file_decryptor — Hive v5 file decryption algorithm | Kitploit
Outils/GitHubGitHub/reecdeep/hivev5_file_decryptor
Encryption/Decryption ToolsReverse EngineeringData RecoveryMalware AnalysisCryptography
GitHubreecdeep/hivev5_file_decryptor

HiveV5_file_decryptor

Hive v5 file decryption algorithm

Voir le dépôt
343il y a 3 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Décrypteur de fichiers HiveV5 PoC

Introduction

Le travail effectué au cours des derniers mois a été nécessaire pour révéler le mécanisme de chiffrement malveillant des fichiers de Hive v5-5.2. Le travail a été divisé en deux parties

  1. Déchiffrement du keystream
  2. Déchiffrement des fichiers à l'aide du keystream déchiffré

Je tiens à remercier le grand @rivitna pour le soutien, le dialogue et les conseils de ces mois de travail ! Veuillez noter le github de rivitna plein d'informations utiles sur le ransomware Hive et plus encore.

Dans ce readme, vous trouverez quelques informations sur l'algorithme de déchiffrement des fichiers, en vous renvoyant au PoC pour une vision plus complète de son fonctionnement. Un keystream est un texte clair chiffré. Un texte clair est un ensemble de 0xA00000 octets auxquels ont été ajoutés les premiers 0x2FFF00 octets, pour un total de 0xCFFF00 octets. Ces octets ont été créés avec l'algorithme faible déjà abordé dans la première partie publiée en juillet 2022. Vous trouverez ci-dessous un exemple de texte clair :

cleartext

L'échantillon Hive analysé et référencé dans ce document a été choisi à partir de cette liste créée par @rivitna à qui vont mes plus chaleureux remerciements. Pour avoir une idée de la complexité du ransomware, veuillez jeter un œil à cette analyse publiée par le Microsoft Threat Intelligence Center (MSTIC).

Algorithme de chiffrement des fichiers

Le texte clair (un keystream déchiffré) est utilisé par le ransomware Hive lors du chiffrement de chaque fichier. Lors du chiffrement d'un fichier, le ransomware Hive calcule deux entiers se référant à des positions précises dans le texte clair (offsets) à utiliser pour chiffrer le fichier selon la formule suivante :

formula

où c = i % 0x2FFF00 et d = i % 0x2FFD00, avec i comme compteur d'octets.

L'extension du fichier chiffré

Les opérations préliminaires avant l'écriture d'un fichier sont :

  • Renommer le fichier à l'aide de MoveFileExW et modifier son extension ;
  • Écrire le fichier renommé avec le résultat de l'opération xor présentée ci-dessus.

file_extension

Dans ce cas également, le texte clair joue un rôle fondamental. En fait, il est utilisé pour :

  1. Déterminer l'ID du keystream (6 premiers octets) à l'aide d'une fonction de hachage
  2. Chiffrer les positions (offsets) utilisées pour extraire les octets du texte clair

Cependant, le premier offset est chiffré à l'aide d'une position fixe du texte clair et est différent pour chaque échantillon Hive 5/5.1/5.2. Une sorte de valeur magique. Dans de nombreux artefacts Hive 5/5.1, cette valeur magique est affichée explicitement dans une référence mémoire, comme dans ce cas 0x98072A :

off1

Ou ce cas 0x7539D :

off2

Mais dans la preuve suivante, la boucle for est légèrement différente et a été écrite de manière à ne pas expliciter la valeur magique que nous devons identifier. Cela concerne un artefact appartenant à Hive 5.2 :

off3

Dans ce cas, il est possible d'utiliser la fonction de bruteforce d'offset présente dans l'outil publié, en utilisant un fichier avec une extension connue et le keystream déchiffré correspondant. En utilisant l'en-tête du fichier chiffré et l'en-tête du fichier non chiffré, il est possible de comprendre quel est l'offset à partir duquel le décrypteur doit commencer à déchiffrer le fichier.

Le mode de chiffrement des fichiers peut avoir deux valeurs : 0xFB ou 0xFF

  • 0xFB signifie que le ransomware a chiffré l'intégralité du fichier sans laisser aucune partie du fichier non chiffrée.
  • 0xFF signifie que le ransomware a calculé un NCB (bloc non chiffré) pour chaque fichier et chiffre des blocs de 0x100000 octets.

Pour plus d'informations concernant le calcul de la taille des blocs non chiffrés et de l'offset du texte clair, veuillez vous référer au code du PoC.

Utilisation

Le programme offre deux options :

usage

  1. Déchiffrement des fichiers à l'aide du keystream déchiffré. Vous devez saisir l'offset spécial présent dans l'échantillon qui a chiffré les fichiers.
  2. Étant donné un fichier avec un en-tête connu (PDF, JPG, PNG, fichiers Office), bruteforcer la valeur possible de l'offset spécial en déchiffrant les premiers octets et en recherchant une correspondance avec la signature connue

Références

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

Télécharger l’outil