29 Avril 2025

Nitrogen: ne changeons pas une équipe qui gagne !

Articles

La réutilisation de code au travers de différentes versions de malware n’est pas nouvelle.
La corrélation peut apparaître au travers d’éléments techniques.
Que ce soit au travers d’achats/reventes/leak de code source ou de dramas entre membres de groupes d’attaquants, cela génère des rapprochements techniques qui sont visibles et identifiables.

Il y a quelques semaines nous avons été contactés par Valery Rieß-Marchive, rédacteur en chef de LeMagIT, pour nous demander si nous avions aperçu des rapprochements techniques entre différentes familles de ransomware, notamment entre Nitrogen (souche récente de fin Mars 2025), LukaLocker et Cactus.

Rapprochements des familles de ransomware

Curieux de ce signalement, nous avons donc récupéré différentes souches des familles LukaLocker et Cactus afin d’en constituer des datasets. Nous avons alors confronté les samples Nitrogen à ces datasets grâce à notre moteur Deep Engine. Sans hésitation, il nous montre qu’il y a effectivement des fonctions proches entre Nitrogen et LukaLocker et Cactus.

Tout d’abord avec LukaLocker …

NitrogenXlukalocker Heatmap

… mais aussi avec Cactus.

NitrogenXcactus Heatmap

 

Nous avons alors entrepris d’en effectuer l’analyse afin d’identifier les éléments proches.

Dans un premier temps, nous utilisons notre outil GLIMPS Audit qui nous indique les rapprochements de fonctions entre les différents binaires. Plus la heatmap est rouge et plus les fonctions sont proches, en l’occurrence, entre Nitrogen, LukaLocker et Cactus. Nous constatons que la répartition des fonctions qui correspondent se retrouvent ventilées de manière similaire dans l’espace d’adressage des fichiers binaires.

Gaudit Nitrogen

Gaudit Nitrogen Luka Cactus

Vérification des corrélations

En utilisant un désassembleur, nous pouvons alors vérifier quels types de fonctions correspondent. La comparaison manuelle porte sur les fichiers représentatifs suivants:

SHA256 Famille Date
0a8088e2ba539541f476836c6f4e5812c4ae5c52133801faa1bc3806a4ade683 Cactus Novembre 2023
30390db8ef77afdb6add86f7f2990a142823401078ab237020933d0423374b27 LukaLocker1 Mai 2024
4e58629158a6c46ad420f729330030f5e0b0ef374e9bb24cd203c89ec3262669 LukaLocker2 Juin 2024
e6a498b89aa04d7c25cbfa96599a4cd9bdcc79e73bf7b09906e5ca85bda2bff6 Nitrogen Mars 2025

Chaque artéfact peut être replacé sur une chronologie qui indique leurs dates de compilations de Novembre 2023 à Mars 2025.

Etant donné le grand nombre de fonctions corrélées, nous nous sommes attaqués à chercher les fonctions les plus représentatives.

Boucles principales

Les illustrations ci-après montrent à quel point les fonctions principales des échantillons sont extrêmement proches. Par ailleurs, elles partagent exactement le même mutex fjhv6esdvsx.

Boucle principale LukaLocker 4e5862

Lukalocker Boucle Principale

Boucle principale ransomware nitrogen c94b70

Nitrogen Sept24 Boucle Principale

Boucle principale ransomware nitrogen e6a498

Nitrogen Mars25 Boucle Principale

Obfuscation des appels d'imports

Dans l’exemple ci-après, nous pouvons constater que les fichiers implémentent les mêmes mécanismes d’appels de fonctions d’imports.
Notamment les imports, kernel32 ou appels aux fonctions FindFirstFile et FindNextFile, caractéristiques d’une boucle d’itération de fichiers, sont obfusqués avec différents mécanismes basés sur l’encodage en base64.

Illustration de la corrélation des méthodes d’obfuscation des imports ou noms des fonctions appelées pour LukaLocker et Nitrogen :

Lukalocker Nitrogen Encodage Ressources

En l’occurrence, les variables 0x6C6C642Eu et 0x32336C656E72656Bi64 qui se décodent comme lld. et 23lenrek. On reconnait donc kernel32.dll.

Beaucoup d’autres fonctions, identifiées par notre moteur de corrélation, sont elles aussi extrêmement proches; de la boucle de chiffrement à la méthode d’itération des dossiers et fichiers.

Conclusion

L’analyse des fichiers nous indique effectivement des corrélations fortes entre les familles Nitrogen, LukaLocker et Cactus.
Ces rapprochements nous mènent à penser que ces familles de ransomware sont administrées par les mêmes personnes ou que les fichiers ont été développés en utilisant un framework commun.

Le mode opératoire de ces ransomwares, notamment l’appel direct des victimes, nous permet d’émettre l’hypothèse la plus probable selon laquelle ce sont les mêmes personnes qui opèrent ces 3 ransomwares.