05 June 2025

VanHelsing: our CTI experts publish their technical analysis

Articles

Introduction

It no longer needs to be proven: the RaaS (Ransomware as a Service) system is flooding the cyber sphere. Whether targeted or opportunistic, these threats are extremely effective. Some victims prefer to pay a ransom rather than implement a real detection and remediation policy; and as long as there is a market, there will be new actors wanting to take part in it.

This is the representative example of the VanHelsing RaaS, which we identified during our threat monitoring. This “new” actor recently released its ransomware and we propose to study it through this article.

Ransomware Identification and Correlations

As we mentioned in a previous publication on LinkedIn, we were able to obtain 2 samples within a few days of each other.

99959c5141f62d4fbb60efdc05260b6e956651963d29c36845f435815062fd98  : March, 11th 2025
86d812544f8e250f1b52a4372aaab87565928d364471d115d669a8cc7ec50e17: March, 16th 2025

During our initial analysis, these artifacts were not yet known by conventional static engines.


However, we were able to identify them using our GLIMPS Malware analysis engines.

Analyse des samples dans GLIMPS Malware
Our XaiCombined explainability engine even pointed out the functions related to encryption:

Aperçu du moteur d'explicabilité XaiCombined

We then undertook to go a little further to understand the behavior of our samples.

In-Depth Ransomware Analysis

Sample Comparisons

Sha256 9995[…]fd98 86d8[…]0e17
Type executable/windows/pe32 executable/windows/pe32
Magic PE32 PE32
Size 736.77 kB 1.48 MB
EntryPoint 0x0003F81B 0x000432F1
TimeStamp Tue Mar 11 07:47:59 2025 Sun Mar 16 20:47:56 2025
Sections .text
1
.data
.rdata
.reloc
.text
1
.data (with an embedded PE!)
.rdata
.reloc

Apart from the types/magic, these samples do not appear to have any elements in common.

However, our GLIMPS Audit concept-code identification product indicates that there are indeed functions that are similar!

Aperçu de l'analyse dans GLIMPS Audit

It also identifies similar functions between our 2 samples as well as certain functions belonging to public libraries. Here libsodium which is an “easy-to-use software library that provides a wide range of cryptographic operations”… <Spoiler> these are the ChaCha20 / Poly1305 encryption and hashing functions. </Spoiler> The main difference between these samples lies in the fact that 86d8…0e17 embeds a psexec binary in the .data section, to provide it with more functionalities.

For the rest of this analysis, we will focus on sample 9995…fd98.

A bit of static analysis

Import Directory Table

We can get a first idea of some functionalities embedded by this ransomware by looking at its import table:

[NETAPI32.dll] Network management API
[WS2_32.dll] Windows socket provider. A library for managing network sockets. <spoiler> used during SMB enumeration</spoiler>
[SHELL32.dll] A library that provides Windows shell functionalities
[ADVAPI32.dll]
[USER32.dll]
[KERNEL32.dll]

In this case, the file has capabilities to interact with the target system as well as through the network.

Character Strings

Since the binary is neither obfuscated nor packed, it is relatively easy to find elements that help with qualification.

Command Line Help

VanHelsing Ransomeware usage
-h for help
-v for verbose
-sftpPassword for spread over sftp
-smbPassword for spread over smb
-bypassAdmin for locking the target without admin privileges
-noLogs for stop logging
-nopriority for stop CPU and IO priority’
–system: [*] Running as a system
–Driver: [*] Target driver :  %s
–Directory: [*] Target Directory :  %s
–File: [*] Target file :  %s
–Force: [*] Force flag presented , multiple process allowed’
–no-autostart: [*] no autostart flag presented , autostart skipped
–no-priority: [*] no priority flag presented , priority skipped
–no-wallpaper: [*] no wallpaper flag presented , wallpaper skipped
–no-local: [*] no local flag presented , local locking skipped’
–no-mounted: [*] no mounted flag presented , skipping mounted check
–no-network: [*] no network flag presented , skipping network check
–no-logs: [*] no logs flag presented , now not logging
–no-admin: [*] no admin flag presented , skipping admin check

Ransom note

aperçu de la note de rançon VanHelsing

Other elements

Encryption key 9ba9e6fb08e013dd3e30f03564295a761204a33385e59d08681e4d2d89f41a32
Extension %s.vanlocker
Ransom note name %s\README.txt

Identification of functions of interest

File Iteration

As is customary in ransomware, we find an iteration loop of elements to encrypt.

 

In this case, here we have an iteration function. If the iterated element is a file then it is encrypted, if it’s a directory, then this same function is used to iterate through it which allows managing directory depth. Once the directory is encrypted, a ransom note in text format is dropped: README.txt

Network Drive Iteration: SMB Spread

At offsets 0x409C80 & 0x40A240 we find an SMB Spread functionality. The malware will perform an enumeration of available and reachable SMB assets on the local network (in the same address range as the machine) and will attempt to encrypt them remotely.

Encryption

GLIMPS Audit allowed us to generate an IDC script that renames the functions identified during its import into IDA.

This allows us to easily spot the functions of interest including the encryption loop which is located at offset 0x408370.

The file is encrypted with a randomly generated symmetric key. This key and the nonce are encrypted with a public key (passed via parameter a3 of the function) then they are written at the beginning of the encrypted file.

Encryption Key Verification

The public key used in the encryption mechanism, 9ba9e6[…]f41a32, is verified at the beginning of the ransomware execution.

The function iterates over each character of the string to verify that it is indeed part of a defined charset.

Drop README.txt and wallpaper setup

The ransom note is dropped in each new folder that is iterated through.

Once the entire encryption process is completed, the wallpaper as well as the default icon are changed in the registry in favor of the VanHelsing logo.

Dynamic analysis of the ransomware

In this case, static analysis is sufficient to understand our malware’s behavior. However, we chose to perform a dynamic analysis that will help substantiate certain elements already identified. A quick look at the event logs (EVTX) confirms what we already knew.

The program starts by creating a mutex:

Then it forks a thread that handles executing the SMB Spread: our dynamic execution did not allow the use of a virtual network. We therefore only see connection attempts to port 445 (WinSMB service) of IP addresses belonging to the same subnet 192.168.2.0/24

In parallel, a loop for directory iteration / ransom note writing / file encryption is set up:

Ransomware Behavior

Our static analysis allows us to deduce the following behavioral graph (confirmed by dynamic analysis).

 

Conclusion: a ransomware from the VanHelsing family

The analysis we just conducted allows us to affirm that we are facing a ransomware from the VanHelsing family.

It embeds some classic functionalities whose presence within the same file betrays ransomware characterization (file iteration, file encryption, ransom note dropping, wallpaper change…).

It uses a modern hybrid encryption system (symmetric encryption and keys and nonce encrypted asymmetrically) based on a chacha20 algorithm combining speed and robustness. This is notably the case for other ransomware like Lockbit or Nitrogen/LukaLocker.

It also embeds other interesting functionalities like the SMB Spread capability which does not exist in other ransomware families.

However, the analyzed samples seem to be only “work in progress” versions. Indeed, we find in the help references to FTP spread while there is no code portion that executes this. Moreover, the binary comes with a whole set of messages that are generally used during debugging phases.

Finally, we find no obfuscation or shadow copy deletion functionalities.

The recent leak/resale of the ransomware source code and builder will probably allow us to substantiate this analysis when we have been able to appropriate it. In the meantime, we will be able to detect and identify these new threats when they surface.

 

APPENDIX 1: Observables

Ransomware:

– 99959c5141f62d4fbb60efdc05260b6e956651963d29c36845f435815062fd98
– 86d812544f8e250f1b52a4372aaab87565928d364471d115d669a8cc7ec50e17

Showcase site links:

– http://vanhelvuuo4k3xsiq626zkqvp6kobc2abry5wowxqysibmqs5yjh4uqd.onion
– http://vanhelwmbf2bwzw7gmseg36qqm4ekc5uuhqbsew4eihzcahyq7sukzad.onion
– http://vanhelxjo52qr2ixcmtjayqqrcodkuh36n7uq7q7xj23ggotyr3y72yd.onion

Payment point links:

– http://vanhelcbxqt4tqie6fuevfng2bsdtxgc7xslo2yo7nitaacdfrlpxnqd.onion
– http://vanhelqmjstkvlhrjwzgjzpq422iku6wlggiz5y5r3rmfdeiaj3ljaid.onion
– http://vanhelsokskrlaacilyfmtuqqa5haikubsjaokw47f3pt3uoivh6cgad.onion
– http://vanheltarnbfjhuvggbncniap56dscnzz5yf6yjmxqivqmb5r2gmllad.onion

Registry keys:

– Software\Classes\.vanlocker\DefaultIcon

Debug file:

– C:\Users\ADMINI~1\AppData\Local\Temp\2\74edcda8581f9636c83352ad946821b0\1-locker\Release\1-locker.pdb\x00

Public key used for asymmetric encryption of encryption keys and nonce:

– 9ba9e6fb08e013dd3e30f03564295a761204a33385e59d08681e4d2d89f41a32

 

APPENDIX 2: External Links

https://research.checkpoint.com/2025/vanhelsing-new-raas-in-town/