
Hive v5-Dateientschlüsselungsalgorithmus
Die in den letzten Monaten geleistete Arbeit war notwendig, um den bösartigen Dateiverschlüsselungsmechanismus von Hive v5-5.2 aufzudecken. Die Arbeit war in zwei Teile gegliedert:
Ich möchte dem großartigen @rivitna für die Unterstützung, den Dialog und die Ratschläge während dieser Monate der Arbeit danken! Bitte beachten Sie rivitnas GitHub, vollgepackt mit nützlichen Informationen über Hive-Ransomware und mehr.
In dieser Readme finden Sie einige Informationen über den Dateientschlüsselungsalgorithmus; für ein vollständigeres Bild der Funktionsweise wird auf den PoC verwiesen. Ein Keystream ist ein verschlüsselter Klartext. Ein Klartext ist eine Menge von 0xA00000 Bytes, an die die ersten 0x2FFF00 Bytes angehängt wurden, insgesamt also 0xCFFF00 Bytes. Diese Bytes wurden mit dem schwachen Algorithmus erzeugt, der bereits im ersten Teil vom Juli 2022 besprochen wurde. Hier unten ist ein Beispiel für einen Klartext:

Die in diesem Dokument analysierte und referenzierte Hive-Probe wurde aus dieser Liste ausgewählt, die von @rivitna erstellt wurde, dem mein wärmster Dank gilt. Um eine Vorstellung von der Komplexität von Ransomware zu bekommen, werfen Sie bitte einen Blick auf diese Analyse, die vom Microsoft Threat Intelligence Center (MSTIC) veröffentlicht wurde.
Der Klartext (ein entschlüsselter Keystream) wird von der Hive-Ransomware beim Verschlüsseln jeder Datei verwendet. Beim Verschlüsseln einer Datei berechnet die Hive-Ransomware zwei ganze Zahlen, die sich auf genaue Positionen im Klartext (Offsets) beziehen, die zum Verschlüsseln der Datei gemäß der folgenden Formel verwendet werden:

wobei c = i % 0x2FFF00 und d = i % 0x2FFD00, wobei i ein Bytezähler ist.
Die vorbereitenden Schritte vor dem Schreiben einer Datei sind:

Auch in diesem Fall spielt der Klartext eine grundlegende Rolle. Tatsächlich wird er verwendet für:

Oder in diesem Fall 0x7539D:

Im nächsten Beleg ist die for-Schleife jedoch etwas anders und wurde so geschrieben, dass der magische Wert, den wir identifizieren müssen, nicht explizit angegeben wird. Dies betrifft ein Artefakt, das zu Hive 5.2 gehört:

In diesem Fall ist es möglich, die im veröffentlichten Tool enthaltene Offset-Bruteforce-Funktion zu verwenden, indem eine Datei mit bekannter Erweiterung und der zugehörige entschlüsselte Keystream verwendet werden. Mithilfe des Headers der verschlüsselten Datei und des Headers der unverschlüsselten Datei lässt sich ermitteln, ab welchem Offset der Entschlüsseler mit der Entschlüsselung der Datei beginnen muss.
Der Dateiverschlüsselungsmodus kann zwei Werte haben: 0xFB oder 0xFF
Das Programm bietet zwei Optionen:

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