03 juillet 2025

Shadow Vector cible la Colombie via l'élévation de privilèges et des SVG sur la justice

Auteurs : Santiago Pontiroli, Jozsef Gegeny, Ilia Dafchev

 

Résumé

  • L'Acronis Threat Research Unit (TRU) a identifié une campagne active de malwares ciblant des utilisateurs en Colombie au moyen de fichiers graphiquesvectoriels (SVG) malveillants comme cible d'infection initiale.
  • Les attaquants distribuaient des e-mails de spear-phishing se faisant passer pour des institutions de confiance en Colombie. Ces leurres SVG incluaient des liens vers des stagers JS / VBS hébergés sur des plates-formes publiques ou des fichiers ZIP protégés par mot de passe contenant directement les charges actives.
  • Les charges actives comprenaient des outils d'accès distant (RAT) tels qu'AsyncRAT et RemcosRAT, tous deux distribués au moyen de techniques de sideloading de fichiers DLL et d'élévation de privilèges basées sur des pilotes.
  • Les campagnes récentes s'appuient sur des charges actives obfusquées à plusieurs niveaux et incluent un chargeur .NET présentant un comportement cohérent avec celui de Katz Loader. Ce dernier intègre une fonctionnalité de contournement du contrôle de compte utilisateur (UAC), une protection contre l'analyse, l'injection de processus avec persistance, les charges actives étant parfois masquées en Base64 dans des fichiers texte ou image récupérés depuis l'Internet Archive.
  • Shadow Vector combine des techniques traditionnelles d'ingénierie sociale, d'abus d'infrastructures publiques et d'exécution furtive, ce qui témoigne d'un haut niveau de flexibilité opérationnelle et d'une maturité technique croissante des cybercriminels en Amérique latine.
  • Le malware cible à la fois les particuliers et les entreprises en vue de collecter des frappes au clavier, de voler des identifiants (y compris des informations bancaires) et d'accéder à distance aux systèmes compromis. Si sa vocation actuelle se concentre sur le vol de données sensibles et confidentielles, ses fonctionnalités laissent entrevoir des actions plus destructrices encore, comme le déploiement de ransomwares.

 

Introduction

L'Acronis Threat Research Unit (TRU) a identifié une campagne de diffusion de malwares baptisée Shadow Vector, qui cible activement les utilisateurs en Colombie au moyen de fichiers SVG malveillants se faisant passer pour des notifications de justice urgentes. Ces e-mails trompeurs utilisent le smuggling (SVG), une sous-technique récemment ajoutée au cadre MITRE ATT&CK.

Le trafic de fichiers SVG consiste à utiliser des fichiers graphiques vectoriels au format SVG pour masquer ou distribuer du contenu malveillant. Si la tactique n'est pas nouvelle, sa reconnaissance officielle met en lumière l'utilisation croissante de formats de fichiers flexibles et fiables dans les attaques de phishing et de diffusion de malwares modernes. Les fichiers SVG s'affichent correctement dans les navigateurs, intègrent des liens ou des scripts et contournent souvent les mécanismes traditionnels de sécurité des e-mails.

Acronis
E-mail de phishing semblant émaner de la Cour du travail de Colombie et utilisant un leurre SVG malveillant avec protection par mot de passe pour inciter les utilisateurs à télécharger un malware.

Une fois ouverts, ces fichiers SVG incitent les utilisateurs à télécharger et extraire des charges actives hébergées sur des services de partage de fichiers publics tels que Bitbucket, Dropbox, Discord et YDRAY. Ces archives téléchargées contiennent généralement un mélange de fichiers exécutables légitimes et de fichiers DLL malveillants, amorçant une chaîne d'infection en plusieurs étapes qui aboutit à l'installation d'AsyncRAT et de RemcosRAT, deux outils d'accès distant largement utilisés pour le vol de données.

Acronis
Fichier ZIP avec protection par mot de passe, simulant une assignation en justice, incluant un exécutable leurre et un mélange de DLL légitimes, dont l'une est modifiée pour le parachargement et l'injection de RAT.

Distribution – malware diffusé

Le mécanisme de diffusion de Shadow Vector reflète une opération de phishing soigneusement structurée, qui exploite l'ingénierie sociale et la confiance du public dans les institutions nationales. Les e-mails observés dans cette campagne sont conçus pour ressembler à des notifications légales légitimes et contiennent des pièces jointes SVG qui s'affichent dans le navigateur, une tactique qui permet d'éviter le filtrage des pièces jointes et d'encourager l'intervention de l'utilisateur sans éveiller les soupçons.

Le contenu des fichiers SVG est visuellement cohérent, imitant souvent les formats officiels des tribunaux avec très peu de variation. Chaque fichier comprend un résumé de l'affaire suivi d'un lien intégré, prétendant généralement donner accès à des documents juridiques supplémentaires. Ces liens redirigent les utilisateurs vers des archives hébergées sur des plates-formes de partage de fichiers publiques, telles que Bitbucket, Discord CDN et YDRAY. Cette méthode permet aux charges actives de se fondre dans le trafic légitime et de contourner les systèmes de détection basés sur la réputation.

Acronis
Phishing d'hameçonnage imitant une convocation officielle de la justice colombienne, conçu pour inciter les victimes à ouvrir une pièce jointe malveillante avec protection par mot de passe.

Chaque archive est protégée par un mot de passe, qui est souvent affiché dans le fichier SVG ou fourni dans le corps de l'e-mail de phishing. Cette tactique favorise l'implication des utilisateurs et réduit l'inspection automatisée en exigeant une extraction manuelle. Une fois décompressée, l'archive contient un exécutable légitime, une DLL inoffensive mais vulnérable et une seule DLL malveillante conçue pour être parachargée, permettant ainsi au malware de s'exécuter selon un processus de confiance et d'éviter la détection.

Acronis
L'année dernière, le ministère de la Justice a publié un avertissement indiquant que des cybercriminels se font passer pour des entités officielles afin de voler des informations sensibles aux citoyens via des e-mails frauduleux.

Le Conseil supérieur de la magistrature (Consejo Superior de la Judicatura) a notamment mis en garde publiquement les fonctionnaires et les citoyens contre une activité de phishing en cours se faisant passer pour un organisme de l'appareil judiciaire. L'avis mentionnait en particulier des e-mails distribuant des pièces jointes malveillantes sous prétexte de questions de justice et recommandait de faire preuve d'une vigilance accrue face à tout message incitant à télécharger un document. Il y était également décrit les procédures à suivre pour vérifier la légitimité de ces communications et pour signaler les tentatives de phishing suspectées aux canaux institutionnels officiels.

Exemple : AsyncRAT via le sideloading de fichiers DLL

Dans cette version de la campagne Shadow Vector, la victime reçoit un e-mail de phishing contenant un fichier SVG. Elle télécharge ensuite une archive protégée par mot de passe et en extrait le contenu. Il s'y trouve un exécutable qui semble légitime et plusieurs fichiers DLL, dont l'un contient la charge active d'AsyncRAT. Pour apparaître inoffensif, l'exécutable principal s'intitule vcredist.exe ou tout autre nom comparable. Les échantillons comportent tous un fichier mscorlib.dll qui a toujours la même taille et la même structure. Malgré son nom, ce fichier n'est pas une véritable bibliothèque .NET, mais un fichier personnalisé conçu pour masquer le malware. L'attaque procède par parachargement de fichiers DLL, où l'exécutable apparemment sain charge la DLL malveillante et démarre le processus d'infection par AsyncRAT.

Acronis
Organigramme d'une attaque de malware en plusieurs étapes, où un e-mail de phishing délivre un fichier SVG qui conduit au téléchargement d'une archive. L'archive contient un dropper et une DLL malveillante, qui déclenche AsyncRAT via le parachargement de fichiers DLL puis l'exécution de plug-ins contrôlés par le serveur C2.

Chaîne d'exécution par le sideloading

L'exécutable initial est une application légitime qui invoque la fonction BrotliEncoderCreateInstance() de la bibliothèque ‘libbrotlicommon.dll’. Selon l'ordre de recherche des DLL de Windows, le système charge une version malveillante de cette DLL placée dans le même répertoire. Cette technique de parachargement de DLL permet d'exécuter un code contrôlé par l'attaquant selon un processus de confiance. Elle est systématiquement observée dans tous les échantillons analysés de la campagne.

La première action à l'intérieur de la DLL chargée est de créer une poignée pour le fichier mscorlib.dll situé dans le même répertoire et de lire son contenu. Bien que le fichier contienne un en-tête PE valide, plusieurs outils de détection l'identifient à tort comme du code non exécutable. Une inspection manuelle du fichier au format hexadécimal révèle l'insertion de 9 octets supplémentaires au début du fichier, décalant intentionnellement l'en-tête PE. Cette manipulation perturbe l'analyse automatisée et provoque des erreurs dans les outils de détection et de décompilation de PE, ce qui en fait un mécanisme anti-analyse léger.

Acronis
Les octets injectés avant l'en-tête PE perturbent l'analyse, ce qui permet à la DLL d'échapper à l'analyse automatisée.

La charge active crée ensuite un processus légitime, AddInProcess32.exe, dans un état suspendu, puis procède au vidage de processus pour injecter et exécuter le module malveillant. Cette technique consiste à allouer de la mémoire dans le processus cible et à écrire la charge active à l'aide d'une série d'appels d'API Windows, notamment : NtAllocateVirtualMemory, GetProcessHeap, RtlAllocateHeap, Wow64GetThreadContext, NtWriteVirtualMemory, Wow64SetThreadContext et NtResumeThread. Le malware peut ainsi s'exécuter comme un code système de confiance, échappant ainsi à la détection.

Juste avant l'appel NtWriteVirtualMemory, nous pouvons observer la DLL chargée en mémoire sans les 9 premiers octets, comme dans le fichier d'origine. Un nouveau thread définit ensuite son contexte et le reprend. Le programme se termine alors.

Acronis
La consultation de la mémoire montre que la DLL est chargée sans décalage de 9 octets avant l'appel NtWriteVirtualMemory, ce qui permet de restaurer une structure PE valide avant le vidage et l'exécution.

Une fois injectée dans le processus en cours d'exécution, la charge active .NET devient visible et est reconnue comme un client AsyncRAT, dérivé d'une implémentation open source en C#.

 

Configuration

Au démarrage de l'exécution, le malware charge sa configuration en déchiffrant plusieurs valeurs chiffrées en AES, notamment les serveurs C2, les indicateurs de programme d'installation et d'autres paramètres d'exécution. La clé AES est intégrée à l'échantillon, encodée en Base64. La configuration peut être déchiffrée à l'aide d'outils publics, tels que CyberChef selon une recette AsyncRAT connue.

Acronis
Extrait de code illustrant le déchiffrement de la configuration d'AsyncRAT à l'aide d'une clé AES intégrée et du décodage Base64 en cours d'exécution.

Une fois tous les paramètres déchiffrés, le malware vérifie leur intégrité en comparant le hachage du certificat de serveur décodé avec la valeur attendue. Voici un exemple de configuration déchiffrée obtenue lors de l'analyse :

Paramètres
Valeur
Clé
"zZ5OP9zoIeGTxRmoYxR6XEu0yUxV6wAE"
Ports
7788
Hôtes
"asynk02[.]duckdns[.]org"
Version
"| CRACKED BY https://t[.]me/xworm_v2"
Installation
false
Mutex
"AsyncMutex_6SI8OkPnk"
PasteBin
null
Anti
false
Offline KL
false
BDOS
false
Groupe
Par défaut
Signature du serveur
"ZVd/qp267KSFBMNW9/3VMfHsPytmlgBk9j3jgX17laucHFuCOxWJNB7zndRiJq/jQ6ckzvTkcdMQ3RjDpiY0nNXztOIK52VHO6x9wwi1fPm6WlpIptehdvbnYiychf8iGsWVn5QVy0BqtEv5qimKTJz4nCu1SqPWwqipatSoYR9423v6FIR+IqrQZconVd1UWyF45gjVoB75HbkPWQBmLpbwCqyqYNxfCiwi8ofIQyXiJ6tKaHtlUwbhxn88yAxq+/b2JxrLuiUP8JNIIo65N93UUfZSnBYIyDeXsjYZ3AJtoASFYbbfJApen1mh9bilvLv5ItRjY1abfPOu2/EmpVPuPYmmBsSRH57N9hkt2f3u0QB4IPeY3OXWVTGTcai4r39Bo9a0tT0KaFqgflI//ItgVgwb/YePuEj8FJd7u9pmMJHCR/MOD8rIqxMmhJGAR9AATMGs9awkY6efw+WOt7vJFIOwP/1HIdmQFXEXeY9MH6yaeqgkRrEVK37Xjnv0glvLAMEumoZsHOta3ogupFp9dOAVTorXkm/rPYT8TbLsI1Hq6N8xxaSEdyacNsWl+urAwLCUejjNRPVaO4UGLKPmWgqFA/Qc9k1iTQLjpXwgZiLgLkpPncJCf45MuDlVWzy1J+ax6w0LmU6NmYmctWhonulIFIEiZL98bu5CH0I="

Pour vérifier si la charge active malveillante est exécutable dans un environnement d'analyse, plusieurs fonctions interviennent :

Fonction
Action
Vérifier le fabricant
Récupérez le nom du fabricant et comparez-le avec « VIRTUAL », « vmware », « VirtualBox ».
Détecter un débogueur
Exécutez « CheckRemoteDebuggerPresent »
Détecter le sandboxing
Tentez d'obtenir une poignée sur la bibliothèque « SbieDll.dll »
Vérifier la taille du disque
Vérifiez si la taille du disque est inférieure à 61 000 000 000 octets
L'OS est-il XP
Vérifiez si le système actuel est Windows XP

Si l'une de ces fonctions s'avère vraie, elle appelle Environment.FailFast(), qui termine le processus.

 

Programme d'installation et persistance

Si le paramètre « Install » est défini sur True, une fonction établit la persistance. Le programme commence par se copier dans le nouveau chemin en utilisant la valeur du dossier de la configuration, le cas échéant, puis exécute la commande ‘schtasks’ pour définir le démarrage automatique à la connexion.

Acronis
Création d'une tâche planifiée via ProcessStartInfo() qui exécute le malware avec les privilèges les plus élevés lors de la connexion de l'utilisateur.

Le programme définit ensuite une clé de la base de registre pour le démarrage automatique. Le chemin d'accès de la clé est stocké au format inverse. Par exemple, en utilisant « \nuR\noisreVtenrretnuC\swodniW\tfosorciM\erawtfoS » au lieu de « Software\Microsoft\Windows\CurrentVersion\Run », une technique courante (et simple) utilisée par les malwares pour masquer ce comportement.

Enfin, un script de lot démarre la charge active à partir du nouvel emplacement et supprime l'ancienne version.

 

Chaque frappe de touche, chaque mouvement que vous effectuez est alors surveillé.

Après l'initialisation, la charge active lance deux threads. Le premier surveille en continu l'horodatage de la dernière action de l'utilisateur et le stocke. Le second fonctionne comme un enregistreur de frappes, établissant une accroche (hook) de fenêtre pour suivre l'activité à l'écran et enregistrer chaque frappe effectuée par l'utilisateur.

Acronis
Implémentation de Keylogger utilisant SetWindowsHookEx() pour installer une accroche de clavier de bas niveau. La fonction HookCallback() capture la frappe et détecte l'état des touches pour enregistrer les informations avec la casse correcte.

Pour la communication avec le serveur, la charge active prend en charge plusieurs méthodes de connexion, en fonction du paramétrage de Pastebin. Si ce paramètre est défini sur null, c'est le domaine spécifié dans la configuration intégrée de l'échantillon qui est utilisé. Il commence par vérifier si le nom de domaine est valide en utilisant la méthode ClientSocket.IsValidDomainName(). Si l'adresse est valide, il tente de résoudre le domaine à l'aide de Dns.GetHostAddresses() et répète l'opération sur chaque adresse IP renvoyée, en essayant d'établir une connexion via ClientSocket.TcpClient.Connect(). Si la connexion réussit (ClientSocket.TcpClient.Connected), la boucle s'interrompt. Si le domaine n'est pas valide ou si la résolution échoue, la tentative de connexion se fait directement au moyen de la chaîne d'origine et d'un port prédéfini. Cette logique assure une redondance pour garantir que le malware atteint bien son infrastructure de commande et de contrôle.

Une fois la connexion établie, le malware transmet les informations concernant la victime, y compris les informations système et les métadonnées concernant l'échantillon exécuté.

Acronis
Assemblage des informations système et utilisateur dans un objet MsgPack, y compris l'identifiant du matériel, le nom d'utilisateur, les détails du système d'exploitation, les privilèges et le titre de la fenêtre active.

De plus, le malware vérifie la présence de portefeuilles de cryptomonnaie et d'extensions spécifiques de navigateur en inspectant les dossiers désignés. Si des éléments sont trouvés, la valeur correspondante devient « true ». Voici la liste des identifiants utilisés :

Meta_Firefox, Meta_Chrome, Meta_Brave, Meta_Edge, Meta_Opera, Meta_OperaGX, Phantom_Chrome, Phantom_Brave, Binance_Chrome, Binance_Edge, TronLinkChrome, Exodus_Chrome, BitKeep_Chrome, CoinBase_Chrome, Ronin_Chrome, Trust_Chrome, BitPay_Chrome, F2a_Chrome, F2a_Brave, F2a_Edge, Ergo_Wallet, Ledger_Live, Atomic, Exodus, Electum, Coinomi, Binance, Bitcoin_Core

Le client reçoit les données du serveur dans un format codé. Le contenu est d'abord décompressé à l'aide de la fonction Zip.Decompress(), puis le message est décodé. Après avoir lu un octet du message, le programme le compare à des valeurs prédéfinies. En fonction du résultat, il effectue diverses opérations, telles que permutation des octets et conversion des données en types de données spécifiques.

Acronis

Lorsqu'une commande est reçue du serveur, la charge active l'extrait du paquet, calcule son hachage et le compare aux valeurs stockées. Chaque commande est également comparée directement à l'ensemble prédéfini de commandes valides :

getscreen, uacoff, killps, ResetHosts, weburl, Chrome, plugin, ResetScale, passload, Wallets, savePlugin, Fox, pong, DiscordTokens, setxt, WDExclusion, KillProxy, Net35, klget, Avast, Block, WebBrowserPass, gettxt, anydesk, backproxy

Une fois la commande appropriée identifiée, la charge active appelle la fonction Plugins(), qui déclenche une procédure spécifique en fonction du paramètre fourni.

Ces plug-ins représentent les composants fonctionnels de chaque commande. Par défaut, tous les plug-ins ne sont pas inclus dans la charge active initiale. Ils peuvent être téléchargés à partir du serveur lors de la réception des commandes « plugin » ou « savePlugin ». La liste suivante reprend les commandes et les actions correspondantes incluses dans la charge active :

Commande
Action
killps
Arrêter le processus
ResetHosts
Effacer le fichier « \\hosts.backup »
weburl
Ouvrir l'URL fournie à l'aide de la méthode « Process.Start ».
plugin
Télécharger et invoquer le plug-in de la charge active
ResetScale
Utiliser la commande SPI SETLOGICALDPIOVERRIDE pour modifier la scalabilité
pong
Modifier l'intervalle entre les communications client-serveur
klget
Obtenir le journal du keylogger
Block
Modifier le fichier « \\hosts » pour bloquer une adresse IP particulière
gettxt
Obtenir les données du presse-papiers

Signé et livré : exploitation de pilotes vulnérables et parachargement de fichiers DLL

Cette fois, l'archive ZIP contient un exécutable leurre et deux DLL, l'une légitime et l'autre malveillante. L'exécutable charge le fichier légitime « CiscoSparkLauncher.dll », qui déclenche à son tour le décodage du fichier DLL malveillant et le déploiement de trois fichiers dans le répertoire ‘%Temp%’ : deux pilotes vulnérables utilisés pour l'élévation de privilèges au niveau du noyau, ainsi que la charge active finale de RemcosRAT.

Acronis
Diagramme d'une attaque en plusieurs étapes qui délivre RemcosRAT par phishing et parachargement de DLL, suivie d'une élévation de privilèges basée sur des pilotes vulnérables en mode noyau, tels que Zemana (CVE-2022-42045) et WiseCleaner (CVE-2023-1486).

L'exécutable initial appelle une fonction de « CiscoSparkLauncher.dll », un fichier légitime qui, à son tour, invoque GetFileVersionInfoSizeW() depuis « VERSION.dll ». Dans ce cas, « VERSION.dll » est une DLL malveillante, indiquant un parachargement de DLL classique. La DLL malveillante utilise une obfuscation du flux de contrôle de ses fonctions, en utilisant des boucles et des vérifications conditionnelles pour ralentir l'analyse.

Acronis
De multiples sauts conditionnels et des comparaisons sans signification viennent entraver l'analyse statique.

Un nouveau bloc mémoire de 5982208 octets est alloué et copie les données de la section ‘.rdata’. La taille de cette section est de 5 989 888 octets or, lors de la copie, les 7 680 premiers octets sont ignorés. Seules les données codées seront copiées de cette section. La DLL commence ensuite à résoudre plusieurs adresses d'API Windows à partir des bibliothèques 'kernel32.dll', 'ADVAPI32.dll' et 'ole32.dll'.

Acronis
Le fichier VERSION.dll malveillant alloue de la mémoire et copie sélectivement les données codées à partir de la section .rdata, en sautant les 7 680 premiers octets. Il commence alors à résoudre les adresses d'API, telles que GetProcAddress(), à partir des bibliothèques système, en prévision de l'exécution ultérieure.

Les données de la section « .rdata » qui ont été copiées sont ensuite transmises à la fonction de décodage. Une clé est alors créée à partir de deux valeurs de 16 octets, puis la section est décodée à l'aide de l'opération XOR.

Acronis

Lors de l'exécution, des données supplémentaires seront décodées de la même manière, mais en utilisant une autre clé :

Acronis

Les données décodées incluent un code supplémentaire qui est exécuté après le déchiffrement. Ce code commence par vérifier la présence d'une machine virtuelle en inspectant le nom du système à la recherche d'indicateurs tels que « vmware » ou « virtualbox », puis en évaluant la mémoire disponible, le nombre de processeurs et la résolution de l'écran. Si l'une de ces conditions suggère la présence d'un environnement de virtualisation, le programme arrête son exécution.

Acronis
Chaînes utilisées pour détecter les machines virtuelles et les environnements de sandboxing, y compris concernant VMware, VirtualBox, le nombre de processeurs, la taille de la mémoire et la résolution d'écran, avec des conditions pour interrompre l'analyse si elle est suspectée.

Le code se copie avec les fichiers « CiscoSparkLauncher.dll » et « VERSION.dll » dans le dossier ‘%Temp’ et exécute la commande suivante pour établir la persistance :

C:\Windows\system32\cmd.exe /c schtasks /create /tn "Yt4Bvc2G" /tr "C:\Users\DEV\AppData\Roaming\DEMANDA LABORAL JUDICIAL 2313154.exe" /sc onlogon /rl highest /f

Pour contourner les logiciels anti-malware, il vérifie la présence des chemins d'accès des dossiers, puis utilise les fonctions CreateToolHelp32Snapshoot, Process32First et Process32Next pour lister tous les processus en cours d'exécution et terminer ceux qui correspondent à la liste enregistrée des noms de processus :

AnhRpt, Ahnsd, v3sp, mupdate2, autop, ArtHost, ASDSvc, v3lite4, v314sp, V3Light, V3Medic, V3SVC, AhnLabPolicyAgent, eausvc, AYUpdate.aye, ALYac.aye, AYAgent.aye, AYUpdSrv.aye, AYWSSrv.aye, AYTRSrv.aye, ALMountService, eOppFrame, egui, eguiProxy, efwd, ekrn, mc-fwhost, mc-web-view, mcupdate, mfwc, updaterui, mfeann, mcuicnt, mfevtps, mfetp, mfemms, McShield, AvEmUpdate, icarus_ui, overseer, AVGUI, aswidsagent, afwServ, avgToolsSvc, aswEngSrv, AVGSvc, wsc_proxy, overseer, wa_3d_party_host_64, su_worker, wa_3d_party_host_32, AvastBrowserUpdate, AvBugReport, AvastBrowserProtect, icarus_ui, icarus, AvastUI, aswidagent, afwServ, aswToolSvc, aswEngSrv, AvastSvc, wsc_proxy, MpCmdRun, NisSrv, MsMpEng, smartscreen, MpDefenderCoreService, HipsMain, wsctrlsvc, HipsTray, TrafficPort, HipsDaemon, 360UHelper, 360speedld, safesvr, SoftMgr, LiveUpdate360, inst, 360Safe, 360leakFixer, 360Tray, ZhuDongFangYu, PopTip, 360TsLiveUpd, certuril, PromoUtil, PopWndLog, QHSafeTray, QHWatchdog, QHActiveDefense, QHSafeMain, HipsMain, wsctrlsvc, HipsTray, TrafficPort, HipsDaemon

Il lit ensuite des données supplémentaires dans la section « .rdata », les décode, puis écrit trois fichiers dans le dossier ‘%Temp’ :

Nom du fichier
Description
VFZE6ksYnpPfSnEWUNg.sys
Pilote WiseCleaner vulnérable
cuDX73ob9SxeAS0IdV.sys
Pilote Zemana vulnérable
svchost.exe
RemcosRAT

Les deux pilotes vulnérables sont lancés en tant que services en mode noyau. L'échantillon utilise ensuite la fonction DeviceIoControl() avec le code de contrôle 0x80002010 pour enregistrer le processus svchost.exe déposé comme authentique, puis il se termine.

La charge active analysée stocke sa configuration sous forme de ressource chiffrée. Le premier octet indique la taille de la clé, suivi de la clé de chiffrement RC4. Les données restantes contiennent la configuration chiffrée.

Acronis
Affichage hexadécimal du bloc de configuration chiffré : le premier octet définit la taille de la clé, suivi de la clé RC4 et des données de configuration chiffrées utilisées par la charge active.

La configuration déchiffrée révèle plusieurs paramètres opérationnels utilisés par le malware, notamment l'adresse et le port du serveur de commande et de contrôle (C2), le nom du botnet, la taille maximale des fichiers journaux du keylogger, le nom du fichier binaire et le nom du mutex. Elle spécifie également l'intervalle de captation des captures d'écran en secondes, les noms des dossiers désignés pour stocker les captures d'écran et les enregistrements audio, ainsi qu'un numéro de licence, probablement utilisé pour suivre les déploiements ou l'utilisation par les affiliés.

Acronis
Liste des fonctionnalités du site web officiel de RemcosRAT, illustrant sa compatibilité avec de nombreux systèmes d'exploitation, ses communications chiffrées, la gestion des fichiers et des systèmes, ses capacités de gestion à distance et les options personnalisables pour la gestion des machines compromises.

Maintien de l'obfuscation

Au moment où nous écrivons ces lignes, un nouveau chapitre de la campagne Shadow Vector est en train de s'écrire, par-delà les techniques de dissimulation des fichiers SVG déjà documentées. Cette fois-ci, l'attaquant adopte une approche modulaire, en déployant un chargeur associé à Katz Stealer. La chaîne d'infection commence toujours par des leurres SVG soigneusement conçus, mais elle inclut désormais des chargeurs JavaScript et PowerShell, une technique de contournement de l'UAC via cmstp.exe, ainsi qu'une DLL de chargeur .NET dynamique dotée de fonctionnalités anti-analyse, d'injection de processus et, en option, de mécanismes de persistance.

Acronis
Référentiels publics Bitbucket hébergeant des droppers JS et VBS simulant des notifications judiciaires.

La dernière activité connue de Shadow Vector utilise plusieurs référentiels Bitbucket pour héberger des chargeurs malveillants JavaScript et VBS. L'un de ces référentiels, « notificaciones-judiciales2025-2005 », a à son actif plus de 170 téléchargements combinés de ses charges actives réaffectées en quelques heures seulement après leur transfert, le 28 mai 2025. Ce volume d'activité laisse penser qu'une campagne de phishing coordonnée était probablement en cours à cette période. Parmi les alias de transfert observés, « TheMrHacker » se distingue par rapport à l'utilisation habituelle du label générique « Envio » (qui signifie « envoi » en espagnol), ce qui pourrait potentiellement fournir une piste sur l'identité de l'opérateur.

Acronis
Obfuscation de chaînes à base d'emojis.

La chaîne d'infection commence par un fichier JavaScript imitant un avis juridique, nommé « 001-Notificacion_electronica_demanda_judicial_Departamento_Juridico.js », qui agit comme dropper initial. À l'exécution, il récupère un script de deuxième phase sur Paste.ee.

Acronis
JavaScript obfusqué utilisant Base64 et Unicode pour délivrer des charges actives PowerShell.

Ce script d'obfuscation lance une commande PowerShell configurée pour s'exécuter en silence (avec les paramètres -nop -w hidden) à l'aide de la commande Invoke-Expression, qui peut dès lors récupérer du contenu encodé supplémentaire à partir de deux terminaux Paste.ee (tous deux avec le même hachage SHA256).

Acronis
Le code PowerShell avec obfuscation charge une DLL Base64 depuis Archive.org et invoque la méthode VAI pour l'exécution en mémoire.

Lors de la phase finale, le script télécharge une DLL codée en Base64 à partir de l'Internet Archive, généralement dissimulée dans un fichier texte hébergé à l'adresse archive[.]org/replace_202505/REPLACE[.]txt. Dans certains cas, il récupère un fichier image contenant une charge active Base64 intégrée et dissimulée dans le contenu de l'image. Le script extrait et décode la charge active, puis charge la DLL en mémoire directement à l'aide de la méthode [Reflection.Assembly]::Load() de PowerShell.

Acronis
Fichier image avec charge active codée en Base64 et ajoutée après le marqueur de fin de fichier JPEG.

La chaîne d'infection en plusieurs étapes délivre une DLL .NET qui charge et exécute dynamiquement la méthode dnlib.IO.Home.VAI(), un comportement comparable à ceux des échantillons Katz Loader connus. Bien que le chargeur corresponde à plusieurs signatures YARA liées à Katz Stealer, ici il ne déploie pas le programme de vol de données. Au lieu de cela, il récupère la charge active finale à l'exécution et l'active entièrement en mémoire, sans laisser aucune trace sur le disque. Le chargeur implémente des fonctionnalités avancées, telles que des vérifications anti-débogage et anti-altération, une option de contournement de l'UAC (User Account Control) à l'aide de cmstp.exe, ainsi que le déchiffrement de chaînes à partir d'un bloc de ressources chiffré. Il utilise le vidage de processus pour injecter du code dans des binaires légitimes et maintient sa persistance via des tâches planifiées et des modifications de registre. Il permet également de configurer les contrôles anti-machines virtuelles à l'exécution.

Acronis
La chaîne d'infection en plusieurs étapes délivre une DLL .NET qui charge et exécute dynamiquement la méthode dnlib.IO.Home.VAI(), un comportement comparable à ceux des échantillons Katz Loader connus. Bien que le chargeur corresponde à plusieurs signatures YARA liées à Katz Stealer, ici il ne déploie pas le programme de vol de données. Au lieu de cela, il récupère la charge active finale à l'exécution et l'active entièrement en mémoire, sans laisser aucune trace sur le disque. Le chargeur implémente des fonctionnalités avancées, telles que des vérifications anti-débogage et anti-altération, une option de contournement de l'UAC (User Account Control) à l'aide de cmstp.exe, ainsi que le déchiffrement de chaînes à partir d'un bloc de ressources chiffré. Il utilise le vidage de processus pour injecter du code dans des binaires légitimes et maintient sa persistance via des tâches planifiées et des modifications de registre. Il permet également de configurer les contrôles anti-machines virtuelles à l'exécution.

Plusieurs chaînes de caractères intégrées au code du chargeur sont rédigées en portugais, notamment les messages « Baixar e executar o PuTTY a cada 1 minuto indefinidamente » (« Télécharger et exécuter PuTTY toutes les minutes indéfiniment »), « Extensão não suportada » (« Extension non prise en charge »), « Recurso 'UAC.dll' não encontrado! » (« Ressource 'UAC.dll' non trouvée ! ») et « Erro ao executar a DLL em memória » (« Erreur d'exécution de la DLL en mémoire »). Ces messages, combinés aux noms de paramètres utilisés dans la méthode VAI (par exemple, « caminhovbs », « persitencia », « extenção », « nomedoarquivo »), laissent penser que le chargeur partage des aspects de conception ou du code avec des outils développés par des cybercriminels de langue portugaise, notamment ceux impliqués dans les campagnes de malwares à motivation financière ciblant le Brésil.

 

Conclusions

Évolution naturelle des techniques originelles de dissimulation SVG, ce groupe de menaces a adopté un chargeur modulaire résident en mémoire, capable d'exécuter de manière dynamique des charges actives entièrement en mémoire, laissant ainsi un minimum de traces. Ce chargeur est distribué via une chaîne d'infection en plusieurs étapes qui repose sur des plates-formes d'hébergement publiques, ce qui complique les efforts de traçage et de neutralisation.

La présence dans le chargeur de chaînes de caractères et de paramètres de méthode en portugais reflète les TTP couramment observées dans les malwares bancaires brésiliens, ce qui laisse penser à l'éventuel réemploi de code, à des ressources de développement partagées ou même à une collaboration entre acteurs de régions différentes.

La poursuite de la campagne en Amérique latine, l'usurpation d'identité institutionnelle et son déploiement rapide et évolutif indiquent une menace persistante et progressive.

 

Détecté par Acronis

RemcosRAT

Acronis

Indicateurs de compromission

SVG

64e971f0fed4da9d71cd742db56f73b6f7da8fec3b8aebd17306e8e0d4f1d29d

4d292a785ec35530bac5f4674a97c0dffa2a2396bd8b0cc6f8b478ba13d73611

d713793b0b6dd1fe7c2432a28069745bc4bf97c098f1217de0731c7ed7c1d70a

1920d23a395aa729cc7658b8471939ef871108a94e93456793d1322dcbe9750b

fab0b6945c1ee0057349254760469b7d5a502819517b31049efc51a71b25c46d

52d2b4ac1a84449c72226e1deed8d33ebbe8fd00d4853e026adef679d7fa273d

f9b6c8f6f6a2f69286b298dd6375ebc25a07eb2012e226af1dfafd861b9edb3e

e50f96eb8fd7ca90df3db47368b413ffb875d5cd3685b9d601bb884ebe980ef9

ea81ab0c9daee3a3e5a34e1a94a5a7f1ea1ed664ee6df4596671c30f56d06f30

2ad823885a7406219944bd07a438b53495ab7440b857857f7d2b48001d43c841

15818f97142d49cbc9662d51bb0155a7a8dc650bf1daf26e07a5fff4ff15d93f

589dc2e8e4528ee6c18ac1c7cf5964a352d3cb245a8b32c7f81c12cf51f5f926

ddd31270f6150d004bd857785096d0ebd6ba68a5657ca64decce494dc26fb824

fa1bd87281ed0d2ffbed269160008cd9fa758a5a3e1702c5871cffe2b8837bb5

49abf67639aca4a12e4205b407b82d281cbc4e47d9f0dae799a6900b3c48aa13

dd5fab6baa5967e6b1d023f6d98dcbe0d7a03cedafc7bddbab6d9b5bc07f6a2d

651f8771e83fe70a57215adb225de065c9cfd3485bd041768cb5923b29449b18

d1f7e55aee74a868f8defd411231d0fbd7a9f2050a5a32660a8845e5e890efb9

4b18ac24c9626cb6bd8c675d2ebeaa8851d759546ed7a56e5b517b953277353e

ab7eecb15047095802f34d167ed84a2e3ff178cd4ec7ae45797501e9f25873d3

a1a1d0fd84ea9c839dd7a26fe91f463d1982f5596ca7214ca9ae0790c8ca51b8

350f94b1551066bd13e80926e42bd0b640c5543010e61530e12a282a2323b45d

e5b6680b9c6e8fb7c035577881fcd5380e4caa9b3d1dc382ee85de7b14c644f5

df5f4fcd04bc77fdbd14f31f19e03d4fd4508af05498a081de69c180f063c142

7f81d1379e1edb13a807d2fd5bc1195c55fb0255274fbd34a4067a90cf8dbaac

fd82191a7204eb16ad1b80962f3bc32898950ff662207d661893d6adacfb90ed

8be8cf91c4a5a70bc4c292957557c4b26aeed860c9b1de6550ce9c0a6c68bba8

faad55b273e3d73e7788046c1c5fa8da13fb0ad762c9133180c3f938d5656aed

7414296aaee2a3bf701695ec131b14ad6a47ba3b59331c881f1ce8f57807d628

1f4271082863058d45a6a18fc452759d864552aa78f8fb52588570adcb7612a5

b9c160f122a97fbbb7fe46e227dc35558e2ecdefb2bd21f642bacc7d4b266def

05c22daf06b42a6c01db9e958aee4a8ad8c061984c8c8933ec525fe880141063

dbf17c544962a57d69da0db22307c80ca51e4e7b7b0efa7448ce3ceb67835f1d

e65238a6cd94518d7a0392deb518e9073135642803fec6081f81ea8686af7861

b1a1036ffe838babb6f5828cc1df08ea89b8311274863029f86adf34500566f2

074add6a706288c31f53c44f9e62cfe421ab2525f9a06c17f862c0883320be6b

175d047506539ae42ad149380249d5d5127ac66600c77e00f302eb96a90d2d6f

06ae4560425ad72ea46be727c0f16362d9fc49f9ab19008e559449e997d59bf0

9949cda3fbb6a289556eda3a2f5c245b2cf43c81fe14227cf2ca9072e62e6651

997f264cc1381860e60affadcb9987bdf1c0da3b73ea98f43a4c5c04b4dd9015

516ba5d067adb1547e38387022fcc33c2f4372c33b8a143e4b7742b010f886f2

56e07457b7c1896e5d6e7f896c4defeb6415b8ef38c86e5547cc66c15c387c04

aa2a2c529b6bcab60081f3816ca32c02ebdf44acbd467f061ea53a99fae3b0b2

4a604c7ccd7888e060eaf2a96dc84a59e6fd1d17ca2d32d4cc88e05e9d799b95

9c5192c611aa441456679315f49c1fe317d004af4687bf9fcca99fd554cf14d9

6975e4f71baad2a96638cbe9d7dd733ee7ee6e8fa0c00156559996204750def8

d09183fd286d25181ed3bd10321d5ec67af0088906317bd441b748e1add5e67c

2227f39f00d10f8f3ee2d9c0c94537c85260dc04841651634f05f8117fd02503

8a5c70429f790dc063294866b56f09787c6413d8c1bf2ca6b58af97d442fdd7b

4353556fc7c494e4ea40c60eb3d2c0613fb56efc12b4ea94990632a021a415ef

e86c503b5980d084a56046d337a98e23e28b062f3269d2b6803653e47b26da40

b09f00521fd272fcb828200b33a5dc023511116908cbf6f3018bcc65916c0794

37f42d31210d807fa881417f2968e76ab2e92d6bbb367f4054755df52dd3519f

b2bdd564397cc993fcefbbc623b6becb874466c45e52afbc7abc7df2e7058c90

bb198d1d39c6fcc247b9231b25cc6969d622438ed7786fd05379ab3622812b7d

685d5a422f0e432b2d1172b631004deb3dee74ccfb5dd98bac51417de12ea833

ffb1776f20313a6b5fdfd13eb09e5c1255efab214e78674cd4feed2f9ef1cd6e

3fc79334c32b1a47c2e5afb03b05b6846bb23cd1aa894f2c5521b33d1b995a55

b5197648fae60fdad875beaee9496599060cc2cbf2e2d006ca1ca5a8be5bd77c

87902e0ff891ac6f23c70b0b3a6067208eeb120086b77693920a7498efddeeb3

fe1ab99480bee08ade851e1fbe699f8cca7cb3878e1b0c8fadcf9a0ad3dea108

427ed7c0e928d3afd7cddd567afd02d4ffdf7420bc76e18d5a1bdabd385cd8ae

12c6589e3c4bfab6ce56d5f5fa7a86566bf5cf50f96e06dfb9ec78101d06c7ec

9751fdc290a30c2db09f2a8090b05ae51752a4ed7248915cb6b821282aa3d9aa

bc39af555dbbea63a48c782111b30e945b1ae24acc4a4552353629981df2ae9b

232d4f650e9dc694c7509a4c704f62c462d394b46ef83995bd79ee05c557af5c

1aa926c2efc7b7d40b78aadeb1d3104ec4ae8d11cd3b75c93a046845f6ba47c0

48c4f0977fc42469404a528980efe362178da5d66fcd3c28d39de74aedadec0c

fcfccb9f4f4556fcebb9db4e38d2ac3964146e4a6060b06aea923635cfee2c14

c57fea3057e0b66a1241098a68d5d84508bd6709f7f1c35b1d4ebc3ed568bdb6

9238167a3a8b55f6900e9674eb1253564d7fc9630c005be70dc1422eebccbb9b

47a646c58037a51a06302adf723b3ce642bf395ddd5a9fcd59bcfd96a4782bae

d4839b512e1919e23a994c19667bdf674e3cd497e5473b7e50309e127af5adc4

a824ba591fd23c04dbfa9a2b3c5c6e3b3b3e756ed46f7e8add9b1af4c88a1b28

64836b852bfb8703df303d09e0f44a861a16ce93112e5bd41287df8ab193df4c

fdea172c14d158168cb10538315fa3604caa50c446c894d3ca7dc7de34b6b6b7

1109de79a8913afc45493787090363a1e13e86ccc58f8e8cbb1a1a6e772862ad

9b90a5affc7166e3d9232cbeb543b174650cde95b9ca8d21b7d1573f72bbacb8

19b20201ab1f17c7555fba64345e9cdfb999859938c0925093fb45c0aa9bfaeb

ac1ae135ac46d2f53acc37542f17ee557379b8332fb410c957e7dea02bc0499c

4424def8e312bc3faae27409ecd45a1b4dc35e264d35896e588d7e7940930cf5

8681aec2cba9395e8bcac45a8fd708dc76906a3307454ece3461b2555aae3544

c3d412f2149b985367196a228881397384617025683a767141227b8fd817391b

56f194bd4214de687b862fbd93fc67c9fc7eae1976d603f7bc33d1cd010dc4b4

658ea8a9039d8980d7b6b121a5b2cea9ea1411f4cb5bff8cc49b45cfe4c29981

69473c348ba67aac09f6c5902335b89939887241045bbf8f26e448962f7e79c6

3f0d434d47fce6159bd470fcec411594b24e8bfab5604648eda3dd44d230f0e8

6c5eb6f8e1c765afdfb3b2fc503cc3e89b8daff3781666681c0ba09e59b815e4

337cd3fb7c89d3c7776f96b1f7957a724b9eb17b3c76f1798888eb9b50e828e6

c5cb8a6fb326cbafc7dc115131f0ec805341916953155c24a246758e92db12e4

3ed8f2a66c5ad7c9b30ad2053dc213ae9ab49b93d9212f59755b27fa9904f324

7a377eb28ee152337bf10cc14628f183e28b2e572c82a1b46bce450c85fe74d6

b37c3e7a661bffb9f6b29d7580d2adf553c8660eb6a9ff6609b46d2e0de29935

193372a6ffd6f71e0dfad70bd05c089edbf14df47036c5a130d12cb28aacc892

3c8a857832e3291126bb6ecf2f00572d0606071b3f217fda48d1b796a8ef362a

3de3ad2557e10f82511513d261fc824bcaa7b316ea22c0ac517a3893a968442f

effd2162bb4c2db7210ec49092ed2c57fb60b6c7c71fcda1c270483d7355d129

81c58ba428dbe339cc079336c96caad1eeda0c0638bacf9ea849f72b018c3a30

1a8165cfa4a6abf8e5afc57a55d7a49cbb1d75cd24aa9b717498db4b79f6a53c

eb6eb6a9aa93b2220d385153e36741ded84aca845e3893587d4d05d644411a87

2ac9f96343d1d68669e319860c7456f30fbdd0407e608db6900bc2a0f7d74e9a

3ad253eea5d9f5aa29f4cf64353bb79cf3f2140f6de22b9313460015e152edfa

e4e5eda69dab8451a98390eebcf7cb098d226e214f091ade7c5bac75f16d4f33

5f09d4b86ae26e49162d3284f2aae4761eede20f275a804b73452eb29cc6273f

962bac7bb572b215e603a374166cc7f377f99c9c4273364216d86343bd003965

d410ede2519348e5e71e1bcef5df8f477e44a457903fe41c29c41c5d8d1398c3

a4fe1db085801e1a5de559f231793c167aee202ff921f5defa0a804c53b9f80e

9efa4efdc5e80d4562f6c943c86950be3cbff75862bfccaddc0140080d271617

38b45cc229a2d6ab8f401162230cd7425e0e9eebac03fe99fdd65130070cb68e

0958d9dbeccc5ca72e7821ddce9e34209e390c15e94fb6ca412666a31c44b416

70bf8c8ac0d7d9716c3d78038455ff35e94d617c55605f5edcc4ed824dc57fb4

fa526ca5cf6a35e6f2d1cd9c1f2166d2b3621666c204009d4739d6e4613e0174

239d009203c26cc7142ae50064a85a4acbab8fce738333ff912810604340c119

b7b4d0657ca3cbe74621a7a053c1957db847e688204467ad872529f0ed2897c2

b3bf27c2c2919aadc41312dcce3795f88dd716b665eae70a45134b99da918afb

737017e3ede8680e1a5c50942d30ccb12149e536566e76f75c547dafb26ae15c

e47ba6efdf931fda5fface7003fc4b483d946cffa7a09d84121022e708c4f07c

ffcb639fb16ab011897e12422a81dfdd1ea2093fb35c6ff56c712c39264967f6

ea01c816c8df75bd118ea2b849f17ac7658dd95bbe4a8f05eb4ec691c73ce3b1

e8494f672d276084d5fadba6a0e7c296db1055f513e127629a45ef3b3c9d863a

a61c395b0fca05b2bda21194c96f17110a77173b22a954efe2f59825f1ed238b

c3319a8863d5e2dc525dfe6669c5b720fc42c96a8dce3bd7f6a0072569933303

5673ad3287bcc0c8746ab6cab6b5e1b60160f07c7b16c018efa56bffd44b37aa

f3208ae62655435186e560378db58e133a68aa6107948e2a8ec30682983aa503

4795d3a3e776baf485d284a9edcf1beef29da42cad8e8261a83e86d35b25cafe

cf23f7b98abddf1b36552b55f874ae1e2199768d7cefb0188af9ee0d9a698107

b5311cadc0bbd2f47549f7fc0895848adb20cc016387cebcd1c29d784779240c

9bbbcb6eae33314b84f5e367f90e57f487d6abe72d6067adcb66eba896d7ce33

10e6587a90efa843012d32d7613c9a7089411c46ddca3e7f9855e5c32e5a418e

6d4a53da259c3c8c0903b1345efcf2fa0d50bc10c3c010a34f86263de466f5a1

829bc0d5c92591ddecdf672f506c5c0b2e1433acde354953fad07ff2b8666de1

609edc93e075223c5dc8caaf076bf4e28f81c5c6e4db0eb6f502dda91500aab4

0c9ecc1da02c0eb656fad6b29f0beaaaa8e2186700f9c63d2303e5c347c0986a

4cfeab122e0a748c8600ccd14a186292f27a93b5ba74c58dfee838fe28765061

b3e8ab81d0a559a373c3fe2ae7c3c99718503411cc13b17cffd1eee2544a787b

8e458df6ff36780bbb2a644906221149831b297350e019b008526e0558e32da0

2aae8e206dd068135b16ff87dfbb816053fc247a222aad0d34c9227e6ecf7b5b

cb035f440f728395cc4237e1ac52114641dc25619705b605713ecefb6fd9e563

60e87c0fe7c3904935bb1604bdb0b0fc0f2919db64f72666b77405c2c1e46067

1e18a1e6268178552c7d1e557299149c7524747ab0fa477eddd1a34ed02de2aa

0a7f6b4a0d5459a9c4078c134e78e35744f2021e92363a4e39374f2eb4f94744

Packages

bf596502f05062d156f40322bdbe9033b28df967ce694832a78482b47dcdd967

53cad386b6af155952380eb8050eebef368836bcb035dffe2ca8a58ae22c055c

5576f8e746f206f9a682b9bbb4a623c72b60892c96979fbe2ffab3b32d6aea7e

bb20c46a817a7c0cdffb513ec4d14bd2026ea70b8f1a0ec07bb699cd0d70a29a

Charges actives

0e5a768a611a4d0ed7cb984b2ee790ad419c6ce0be68c341a2d4f64c531d8122

b04ea3c83515c3daf2de76c18e72cb87c0772746ec7369acce8212891d0d8997

ad1d1b6fea71c28a555341f8591c59272b0509df9b2c75519a813066c3053ff6

9e6aa602427a41bcf12c5ffa022941a6eb1d51be71e36ecebd714e6c9e9ab51e

3150ef6e48e403c8667aea84bfa1585878df68c0cea1925edcc2a745759b119e

17ac16f1cd25ea3b31b2a89b193d51c7b1959d48cb72364eb05081d806178f1d

1b3c1501b3fbcd0a4fbcb1f8bbc21a34f89232aa1e794dc2821cc92eee4ce44c

721df71a5491d481044c149d24e19ca6dbce34baf6ad98fe4f4cc66af0d1826b

f847d48b3007ab27c5b3207d41cb36a7f5b15f2192d1bbb7cec58f371fdce685

c5399f7e0adefb814ae8b921273f96c612e20fc66dd9d3048749a2ee9e39850e

2bbc6b9dd5e6d0327250b32305be20c89b19b56d33a096522ee33f22d8c82ff1

30aa90270ca9f04c554b2a6e17d22b49e5e3f6fb526e133fd35364b08784925d

906c7cf78cff18b7d43c4137937a75b3be41eaf654e835afb473168b7ed24f2d

5201e12cfdbeb48488599eefc84e9bafd9feabf208da15b3c25c56243de1eba7

e407403a0ab5fcd89fa7bafb82de1d6261b9260398122d105cd1a97f4258ac1f

92706a73c54332b33f845adb4ed8f0e2fbbb6cba0cae53a0e695257621ba269e

1af14cc00b1044636f6623f5f26343dfef3003f1c2a0181c995a573eae832c7a

0b188c53a446ce7b8acbc58d4e0b02ba4b87ece9c9b9bb14bf10e8d9c34d26cd

0c4eb3c0537182c4cd5281f08559534b2eb44ae20b91867c115b9fc404c1b425

11cdb65e5b007e249a51a7410da0653ec6c6b28f68b33e1de88ac3989dd745d6

YARA

rule crimeware_shadow_vector_svg

{

    meta:

        description = "Detects malicious SVG files associated with Shadow

Vector's Colombian campaign"

        author = "Acronis TRU"

        date = "2025-06-06"

        file_type = "SVG"

        malware_family = "Shadow Vector"

        threat_category = "Crimeware / Malicious Image / Embedded Payload"

        tlp = "TLP:CLEAR"

 

    strings:

        $svg_tag1 = "<?xml" ascii

        $svg_tag2 = "<svg" ascii

        $svg_tag3 = "<!DOCTYPE svg" ascii

        $svg_tag4 = "http://www.w3.org/2000/svg" ascii

 

        //used by Shadow Vector (possibly generated in batch)

        $judicial = "juzgado" ascii nocase

        $judicial_1 = "citacion" ascii nocase

        $judicial_2 = "judicial" ascii nocase

        $judicial_3 = "despacho" ascii nocase

        $generado = "Generado" ascii nocase

 

    condition:

        filesize < 3MB and

        3 of ($svg_tag*) and

        (1 of ($judicial*) and $generado)

}

Références

MuchoHacker. “Correos de hospital y Rama Judicial en Colombia son usados para enviar correos falsos con archivos SVG que podrían contener malware” (« Les adresses e-mail de l'hôpital et de l'appareil judiciaire Rama en Colombie sont utilisées pour envoyer de faux e-mails contenant des fichiers SVG qui pourraient être infectés par un malware »). Le 31 octobre 2024.

https://muchohacker.lol/2024/10/correos-de-hospital-y-rama-judicial-en-colombia-son-usados-para-enviar-correos-falsos-con-archivos-svg-que-podrian-contener-malware

SciLabs. “Red Akodon: A new threat actor distributing RAT to Colombia”. (« Red Akodon : un nouveau groupe distribue un cheval de Troie RAT en Colombie. ») Le 27 mai 2024.

https://blog.scilabs.mx/en/2024/05/27/red-akodon-a-new-threat-actor-distributing-rat-to-colombia