29 April 2025
Nitrogen: same players play again!
Articles
Code reuse across different versions of malware is nothing new. The correlation may appear through technical elements.
Whether through source code purchases/resales/leaks or dramas between members of attacking groups, technical similarities are visible and identifiable.
A few weeks ago we were contacted by Valery Rieß-Marchive, editor-in-chief of LeMagIT, to ask whether we had seen any technical similarities between different ransomware families, notably between Nitrogen (a recent strain from late March 2025), LukaLocker and Cactus.
Reconciling ransomware families
Curious about this report, we collected various strains of the LukaLocker and Cactus families to create datasets. We then compared the Nitrogen samples with these datasets using our Deep Engine. Without hesitation, it shows us that there are indeed similar functions between Nitrogen and LukaLocker and Cactus.
First of all, with LukaLocker …
… but also with Cactus.
We then set about analyzing them to identify similar elements.
To begin with, we used our GLIMPS Audit tool, which showed us the similarities between the functions of the various binaries. The redder the heatmap, the closer the functions, in this case between Nitrogen, LukaLocker and Cactus. We can see that the distribution of matching functions is similarly distributed in the address space of the binary files.
Checking correlations
Using a disassembler, we can then check which function types match. The manual comparison is based on the following representative files:
SHA256 | Family | Date |
0a8088e2ba539541f476836c6f4e5812c4ae5c52133801faa1bc3806a4ade683 | Cactus | November 2023 |
30390db8ef77afdb6add86f7f2990a142823401078ab237020933d0423374b27 | LukaLocker1 | May 2024 |
4e58629158a6c46ad420f729330030f5e0b0ef374e9bb24cd203c89ec3262669 | LukaLocker2 | June 2024 |
e6a498b89aa04d7c25cbfa96599a4cd9bdcc79e73bf7b09906e5ca85bda2bff6 | Nitrogen | March 2025 |
Each artefact can be placed on a timeline showing their compilation dates from November 2023 to March 2025.
Given the large number of correlated functions, we set out to find the most representative ones.
Main loops
The illustrations below show just how close the main functions of the samples are. What’s more, they share exactly the same mutex fjhv6esdvsx.
Main LukaLocker 4e5862 loop
Main nitrogen c94b70 ransomware loop
Main nitrogen e6a498 ransomware loop
Obfuscation of import calls
In the example below, we can see that the files implement the same mechanisms for calling import functions.
In particular, imports, kernel32 or calls to FindFirstFile and FindNextFile functions, characteristic of a file iteration loop, are obfuscated with different mechanisms based on base64 encoding.
Illustration of the correlation between import obfuscation methods and function names for LukaLocker and Nitrogen:
In this case, the variables 0x6C6C642Eu and 0x32336C656E72656Bi64 are decoded as lld. and 23lenrek. We therefore recognize kernel32.dll.
Many other functions, identified by our correlation engine, are also extremely similar ; from the encryption loop to the folder and file iteration method.
Conclusion
Analysis of the files reveals strong correlations between the Nitrogen, LukaLocker and Cactus families.
These similarities lead us to believe that these ransomware families are administered by the same people, or that the files were developed using a common framework.
The modus operandi of these ransomware, notably the direct calling of victims, leads us to the most likely hypothesis that the same people are operating these 3 ransomware.