05 Juin 2025

VanHelsing : nos experts CTI publient leur analyse technique

Articles

Introduction

Ce n’est plus à démontrer : le système de RaaS (Ransomware as a Service) inonde la sphère cyber. Qu’elles soient ciblées ou opportunistes, ces menaces sont extrêmement efficaces. Certaines victimes préférant payer une rançon plutôt que de mettre en place une vraie politique de détection et de remédiation ; et tant qu’il y aura un marché, il y aura de nouveaux acteurs qui voudront y prendre part.

C’est l’exemple représentatif du RaaS VanHelsing, que nous avions identifié lors de notre veille. Ce « nouvel » acteur a récemment sorti son ransomware et nous vous proposons de l’étudier au travers de cet article.

Identification du ransomware et corrélations

Comme nous l’avions évoqué dans une  précédente publication sur LinkedIn, nous avons pu nous procurer 2 échantillons à quelques jours d’intervalle.

99959c5141f62d4fbb60efdc05260b6e956651963d29c36845f435815062fd98  : 11 Mars 2025
86d812544f8e250f1b52a4372aaab87565928d364471d115d669a8cc7ec50e17: 16 Mars 2025

Lors de notre primo analyse, ces artefacts n’étaient pas encore connus des moteurs statiques classiques.


Pour autant nous avons pu les identifier à l’aide de nos moteurs d’analyse GLIMPS Malware.

Analyse des samples dans GLIMPS Malware
Notre moteur d’explicabilité XaiCombined nous pointant même les fonctions liées au chiffrement :

Aperçu du moteur d'explicabilité XaiCombined

Nous avons alors entrepris d’aller un peu plus loin pour comprendre le comportement de nos échantillons.

Analyse approfondie du ransomware

Comparatifs des échantillons

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 (avec un PE embarqué !)
.rdata
.reloc

En dehors des types/magic ces échantillons ne semblent pas avoir d’éléments en commun.

Pourtant, notre produit d’identification de concept-code GLIMPS Audit nous indique qu’il y a bien des fonctions qui sont proches !

Aperçu de l'analyse dans GLIMPS Audit

Il identifie aussi des fonctions proches entre nos 2 échantillons ainsi que certaines fonctions appartenant à des bibliothèques publiques. Ici la libsodium qui est une « bibliothèque logicielle facile à utiliser qui fournit une large gamme d’opérations cryptographiques » … <Spoiler>  il s’agit des fonctions de chiffrement et hashage ChaCha20 / Poly1305. </Spoiler> La différence principale entre ces échantillons réside dans le fait que 86d8…0e17 embarque  un  binaire psexec dans la section .data, pour lui apporter plus de fonctionnalités.

Pour la suite de cette analyse, nous ferons un focus sur l’échantillon 9995…fd98.

Un peu d’analyse statique

Import Directory Table

Nous pouvons nous faire une première idée de certaines fonctionnalités embarquées par ce ransomware en regardant  sa table des imports :

[NETAPI32.dll] Api de gestion réseau
[WS2_32.dll] Windows socket provider. Une bibliothèque permettant de gérer des sockets réseau. <spoiler> utilisé lors de l’énumération smb</spoiler>
[SHELL32.dll] Une bibliothèque qui apporte des fonctionnalités de shell windows
[ADVAPI32.dll]
[USER32.dll]
[KERNEL32.dll]

En l’occurrence, le fichier a des capacités à interagir avec le système cible ainsi qu’au travers du réseau.

Chaîne de caractères

Le binaire n’étant pas obfusqué ni packé, il est relativement facile de retrouver des éléments qui aident à la qualification.

Aide en ligne de commande

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

Note de rançon

aperçu de la note de rançon VanHelsing

Autres éléments

Clé de chiffrement 9ba9e6fb08e013dd3e30f03564295a761204a33385e59d08681e4d2d89f41a32
Extension %s.vanlocker
Nom de la ransom note %s\README.txt

Identification des fonctions d’intérêt

Itération de fichiers

Comme il en est de coutume dans les ransomware, on va retrouver une boucle d’itération d’éléments à chiffrer.

 

En l’occurrence, ici, nous avons une fonction d’itération. Si l’élément itéré est un fichier alors, il est chiffré, si c’est un répertoire, alors cette même fonction est utilisée pour itérer ce dernier ce qui permet de gérer la profondeur des répertoires.
Une fois le répertoire chiffré, une note de rançon au format texte est déposée : README.txt

Itération de lecteurs réseau : SMB Spread

Aux offsets 0x409C80 & 0x40A240 nous retrouvons une fonctionnalité de Spread over SMB. Le malware va effectuer une énumération des assets SMB disponibles et joignables sur le réseau local (dans la même plage d’adresses que la machine)  et tentera de les chiffrer à distance.

Chiffrement

GLIMPS Audit nous a permis de générer un script IDC qui renomme les fonctions identifiées lors de son import dans IDA.

Cela nous permet de spotter facilement les fonctions d’intérêt dont la boucle de chiffrement qui se trouve à l’offset 0x408370.

Le fichier est chiffré avec une clé symétrique générée aléatoirement. Cette clé et le nonce sont chiffrés avec une clé publique (passée via le paramètre a3 de la fonction) puis elles sont inscrites au début du fichier chiffré.

Vérification de la clé de chiffrement

La clé publique utilisée dans le mécanisme de chiffrement, 9ba9e6[…]f41a32, est vérifiée en début d’exécution du ransomware.

La fonction itère sur chaque caractère de la chaîne pour vérifier qu’il fasse bien partie d’un charset défini.

Drop README.txt et wallpaper setup

La note de rançon est déposée à chaque nouveau dossier itéré.

Une fois tout le process de chiffrement effectué, le fond d’écran ainsi que l’icône par défaut sont changés en base de registre au profit du logo VanHelsing.

Analyse dynamique du ransomware

Dans ce cas, l’analyse statique suffit pour comprendre le comportement de notre malware.
Pour autant nous avons choisi d’effectuer une analyse dynamique qui permettra d’étayer certains éléments déjà identifiés.
Un rapide coup d’œil aux journaux d’évènements (EVTX) nous confirme ce que nous savions déjà.

Le programme commence par créer un mutex :

Ensuite il fork un thread qui s’occupe d’exécuter le SMB Spread :
Notre exécution dynamique n’autorisait pas l’utilisation d’un réseau virtuel. Nous ne voyons donc que les tentatives de connexion au port 445 (service WinSMB) des adresses IP appartenant au même sous-réseau 192.168.2.0/24

En parallèle,  une boucle d’itération de répertoires / écriture de note de rançon / chiffrement des fichiers se met en place :

Comportement du ransomware

Notre analyse statique nous permet de déduire le graphe comportemental suivant (confirmé par l’analyse dynamique).

 

Conclusion : un ransomware de la famille VanHelsing

L’analyse que nous venons de mener nous permet d’affirmer que nous sommes face à un ransomware de la famille VanHelsing.

Il embarque quelques fonctionnalités classiques dont la présence au sein d’un même fichier trahit la caractérisation ransomware (itération de fichiers, chiffrement de fichiers, dépôt de note de rançon, changement de Wallpaper …).

Il utilise un système de chiffrement hybride moderne (chiffrement symétrique et clefs et nonce chiffrés en asymétrique) reposant sur un algorithme chacha20 alliant rapidité et robustesse.
C’est notamment le cas d’autres ransomware comme Lockbit ou Nitrogen/LukaLocker.

Il embarque aussi d’autres fonctionnalités intéressantes comme la capacité de SMB Spread qui n’existe pas dans d’autres familles de ransomware.

Pour autant les samples analysés semblent n’être que des versions « work in progress »
En effet, on retrouve dans l’aide des références à du spread over FTP alors qu’il n’existe aucune portion de code qui exécute cela. De plus, le binaire vient avec tout un lot de messages qui s’utilisent généralement lors de phases de debugging.

Enfin, on ne retrouve pas d’obfuscation ni de fonctionnalités de suppression des « shadow copy ».

La récente fuite / revente du code source et du builder du ransomware nous permettra probablement d’étayer cette analyse lorsque nous aurons pu nous l’approprier. En attendant nous serons en mesure de détecter et d’identifier ces nouvelles menaces lorsqu’elles feront surface.

 

ANNEXE 1 : Observables

Les ransoms :

– 99959c5141f62d4fbb60efdc05260b6e956651963d29c36845f435815062fd98
– 86d812544f8e250f1b52a4372aaab87565928d364471d115d669a8cc7ec50e17

Liens sites vitrines :

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

Liens points de paiement :

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

Clés de registre :

– Software\Classes\.vanlocker\DefaultIcon

Fichier de debug :

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

Clé publique utilisée pour le chiffrement asymétrique des clefs de chiffrement et nonce :

– 9ba9e6fb08e013dd3e30f03564295a761204a33385e59d08681e4d2d89f41a32

 

ANNEXE 2 : Liens externes

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