Autores: Santiago Pontiroli, Jozsef Gegeny, Ilia Dafchev
Resumen
- La Unidad de Investigación de Amenazas (TRU) de Acronis ha identificado una campaña de malware activa dirigida a usuarios de Colombia en la que se utilizan archivos maliciosos de gráficos vectoriales escalables (SVG) como vector de infección inicial.
- Los atacantes distribuyeron correos electrónicos de phishing selectivo en los que suplantaban a instituciones de confianza en Colombia, que incluían señuelos SVG con enlaces incrustados a "stagers" (cargadores iniciales) de JS/VBS alojados en plataformas públicas, o archivos ZIP protegidos con contraseña que contenían directamente las cargas útiles.
- Las cargas útiles incluían herramientas de acceso remoto (RAT) como AsyncRAT y RemcosRAT, que se distribuían mediante técnicas de carga lateral de bibiliotecas de vínculos dinámicos (DLL) y elevación de privilegios basada en controladores.
- Las campañas recientes se basan en cargas útiles ofuscadas de múltiples etapas e incluyen un cargador .NET, cuyo comportamiento es coherente con el cargador de Katz. Este cargador incluye técnicas como la evasión del Control de cuentas de usuario (UAC), mecanismos antianálisis, inyección de procesos y persistencia. Las cargas útiles a veces están ocultas en formato Base64 dentro de archivos de texto o imagen extraídos de la biblioteca Internet Archive.
- Shadow Vector combina ingeniería social tradicional, abuso de infraestructuras públicas y métodos de ejecución sigilosos, lo que refleja que los ciberdelincuentes de la región de América Latina disponen de un alto grado de flexibilidad operativa y de una madurez técnica cada vez más sofisticada.
- Actualmente, el malware tiene como objetivo principal tanto a usuarios particulares como a organizaciones, con el fin de robar credenciales (incluidas las bancarias), registrar pulsaciones de teclas y obtener acceso remoto total a los sistemas comprometidos. Aunque su uso actual se centra en el robo de datos confidenciales y sensibles, sus capacidades técnicas sugieren un potencial de evolución hacia acciones más destructivas, como el despliegue de ransomware.
Introducción
La Unidad de investigación de amenazas (TRU) de Acronis ha identificado una campaña de malware en curso bautizada como Shadow Vector, dirigida activamente a usuarios de Colombia mediante archivos SVG maliciosos que se hacen pasar por notificaciones judiciales urgentes. Estos correos electrónicos engañosos emplean SVG smuggling, una subtecnología recién incorporada al marco MITRE ATT&CK.
SVG smuggling consiste en aprovechar archivos de gráficos vectoriales escalables (SVG) para ocultar o distribuir contenido malicioso. Aunque no se trata de una táctica nueva, su reconocimiento formal pone de manifiesto el creciente uso de formatos de archivo de confianza y flexibles en el phishing y la distribución de malware modernos. Los archivos SVG se renderizan correctamente en los navegadores, admiten enlaces o scripts incrustados y a menudo evitan los controles de seguridad de correo electrónico tradicionales.

Una vez abiertos, estos archivos SVG dirigen a los usuarios a descargar y extraer cargas útiles alojadas en servicios públicos de intercambio de archivos, como Bitbucket, Dropbox, Discord e YDRAY. Los archivos descargados suelen incluir una combinación de ejecutables legítimos y DLL maliciosas, lo que inicia una cadena de infección de varias etapas que finalmente distribuye AsyncRAT y RemcosRAT, dos herramientas de acceso remoto ampliamente utilizadas para el robo de datos.

Entrega: malware servido
El mecanismo de entrega de Shadow Vector refleja una operación de phishing cuidadosamente estructurada que se aprovecha de la ingeniería social y de la confianza pública en las instituciones nacionales. Los mensajes de correo electrónico observados en esta campaña están diseñados para que parezcan notificaciones legales legítimas, y contienen archivos adjuntos SVG que se renderizan en el navegador, una táctica que ayuda a eludir el filtrado de archivos adjuntos y fomenta la interacción del usuario sin levantar sospechas.
El contenido de los archivos SVG es coherente a nivel visual, y suele imitar los formatos oficiales de las citaciones tribunales con muy pocas variaciones. Cada archivo incluye un resumen del caso seguido de un enlace incrustado, normalmente etiquetado como "acceso a documentación legal adicional". Estos enlaces redirigen a los usuarios a archivos alojados en plataformas públicas de intercambio de archivos como Bitbucket, Discord CDN y YDRAY, un método que permite que las cargas útiles se mezclen con el tráfico legítimo y eviten los sistemas básicos de detección basados en la reputación.

Cada archivo está protegido con una contraseña, que a menudo se muestra en el archivo SVG o se proporciona en el cuerpo del mensaje de correo electrónico de phishing. Esta táctica aumenta la implicación del usuario y reduce la inspección basada en la automatización, ya que requiere una extracción manual. Una vez desempaquetado, el archivo contiene un ejecutable legítimo, una DLL benigna pero vulnerable y una DLL maliciosa diseñada para cargarla lateralmente, lo que permite que el malware se ejecute en un proceso de confianza y evite ser detectado.

Cabe destacar que el Consejo Superior de la Judicatura emitió un aviso público en el que alertaba tanto a los empleados judiciales como a la ciudadanía, sobre campañas de phishing en curso que utilizaban la marca de la Rama Judicial de Colombia. El aviso hacía referencia específicamente a mensajes de correo electrónico que distribuían adjuntos maliciosos bajo el pretexto de tratar asuntos judiciales, y recomendaba extremar la precaución al recibir mensajes que solicitaran la descarga de algún documento. En el aviso también se describían los procedimientos para verificar la legitimidad de ese tipo de comunicaciones y se fomentaba que los afectados denunciaran cualquier intento de phishing sospechoso a través de los canales institucionales oficiales.
Expediente del caso: AsyncRAT a través de la carga lateral de DLL
En esta versión de la campaña Shadow Vector, las víctimas reciben un correo electrónico de phishing con un archivo SVG. A continuación, descargan un archivo protegido con contraseña y extraen su contenido. Dicho archivo contiene un ejecutable que parece legítimo y varios archivos de bibliotecas de vínculos dinámicos (DLL), uno de los cuales lleva la carga útil de AsyncRAT. El ejecutable principal suele utilizar nombres como vcredist.exe para parecer inofensivo. Un indicio habitual en estas muestras es la presencia de un archivo mscorlib.dll que siempre presenta el mismo tamaño y estructura. A pesar del nombre, este archivo no es una biblioteca .NET real, sino un archivo personalizado que se utiliza para ocultar el malware. El ataque utiliza la técnica de carga lateral de DLL, en la que el ejecutable, que parece legítimo, carga una DLL maliciosa y pone en marcha el proceso de infección con AsyncRAT.

Cadena de ejecución cargada lateralmente
El ejecutable inicial es una aplicación legítima que invoca la función BrotliEncoderCreateInstance() de la biblioteca "libbrotlicommon.dll". Debido a la secuencia de búsqueda de DLL de Windows, el sistema carga una versión maliciosa de esta DLL que se encuentra en el mismo directorio. Esta técnica de carga lateral de DLL permite la ejecución de código controlado por el atacante en un proceso de confianza y se observa de forma coherente en todas las muestras analizadas en la campaña.
Dentro de la DLL cargada, la primera acción es crear un "handle" (identificador) para el archivo mscorlib.dll situado en el mismo directorio y leer su contenido. Aunque el archivo contenga un encabezado PE válido, varias herramientas de detección lo identifican erróneamente como un binario no ejecutable. Una inspección manual en formato hexadecimal (HEX) reveló que al principio del archivo se habían insertado 9 bytes adicionales, por lo que se desplazó de forma intencionada el encabezado PE. Esta manipulación interfiere en el análisis automático y provoca errores en las herramientas de detección y descompilación de PE, por lo que actúa en la práctica como un mecanismo sencillo para evitar el análisis.

A continuación, la carga útil crea un proceso legítimo, AddInProcess32.exe, en estado suspendido, y realiza la técnica de "process hollowing" (vaciado de procesos) para inyectar y ejecutar el módulo malicioso. Esta técnica implica asignar memoria en el proceso objetivo y escribir la carga útil mediante una serie de llamadas a la API de Windows, incluidas las siguientes: NtAllocateVirtualMemory, GetProcessHeap, RtlAllocateHeap, Wow64GetThreadContext, NtWriteVirtualMemory, Wow64SetThreadContext y NtResumeThread. Esto permite que el malware se ejecute bajo el contexto de un binario de sistema de confianza, lo que le ayuda a evadir la detección.
Justo antes de la llamada a "NtWriteVirtualMemory", podemos observar que la DLL cargada en la memoria no tiene los primeros 9 bytes, tal y como ocurría en el archivo original. A continuación, el malware crea un nuevo hilo, configura su contexto de ejecución y lo reanuda. A continuación, el programa actual se cierra.

Tras inyectarse en el proceso en ejecución, la carga útil real de .NET se vuelve visible y se reconoce como un cliente de AsyncRAT, derivado de una implementación de código abierto en C#.
Configuración
Al iniciarse la ejecución, el malware carga su configuración descifrando varios valores cifrados con AES, incluidos los servidores C2, los marcadores de instalación y otros ajustes de tiempo de ejecución. La clave AES está incrustada en la muestra, codificada en Base64. La configuración se puede descifrar con herramientas públicas como CyberChef mediante una "receta" conocida para AsyncRAT.

Una vez descifrados todos los ajustes, el malware comprueba su integridad al comparar el hash del certificado del servidor descodificado con el valor esperado. A continuación, se muestra un ejemplo de una configuración descifrada obtenida durante el análisis:
Para comprobar si la carga útil maliciosa se está ejecutando en un entorno de análisis, ejecuta múltiples funciones:
Si alguna de estas funciones devuelve el valor "true", se llamará a Environment.FailFast(), lo que terminará el proceso.
Instalación y persistencia
Cuando el parámetro "Install" es "true", se ejecutará una función que establecerá la persistencia. En primer lugar, se copia a sí mismo en la nueva ruta mediante el valor de carpeta de la configuración, si está presente, y a continuación ejecuta el comando "schtasks" para establecer el autoarranque al iniciar sesión.

A continuación, se establece una clave de registro de autoarranque. La ruta de la clave se almacena en formato invertido. Por ejemplo, se utiliza "\nuR\noisreVtenrretnuC\swodniW\tfosorciM\erawtfoS" en lugar de "Software\Microsoft\Windows\CurrentVersion\Run", una técnica común (y simple) que emplea el malware para ocultar este comportamiento.
Por último, ejecuta un script por lotes que inicia la carga útil desde la nueva ubicación y elimina la versión antigua.
En cada tecla que pulse y cada paso que dé, le estarán vigilando.
Tras completar la configuración inicial, la carga útil lanza dos hilos. El primero supervisa y almacena de forma continua la marca de fecha/hora de la última entrada del usuario. La segunda funciona como un registrador de pulsaciones ("keylogger"), que establece un "hook" de ventana para rastrear el proceso activo en la pantalla y registrar cada tecla que pulse el usuario.

Para la comunicación con el servidor, la carga útil admite varios métodos de conexión en función del parámetro Pastebin. Si este parámetro se establece en "null", recurrirá a un dominio especificado en la configuración incrustada de la muestra. Primero comprueba si el nombre de dominio es válido mediante ClientSocket.IsValidDomainName(). Si es válido, intentará resolver el dominio mediante Dns.GetHostAddresses() y recorrerá cada dirección IP devuelta para intentar establecer una conexión a través de ClientSocket.TcpClient.Connect(). Si la conexión tiene éxito (ClientSocket.TcpClient.Connected), el bucle se interrumpe. Si el dominio no es válido o la resolución falla, intentará conectarse directamente mediante la cadena original y un puerto predefinido. Esta lógica proporciona redundancia para garantizar que el malware llegue a su infraestructura de mando y control (C2).
Una vez establecida la conexión, el malware transmite los detalles de la víctima, incluida la información del sistema y los metadatos sobre la muestra ejecutada.

Además, el malware comprueba la presencia de carteras de criptomonedas y extensiones específicas del navegador, inspeccionando carpetas designadas. Si las encuentra, establecerá el valor correspondiente en "true". La lista de identificadores que utiliza es la siguiente:
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
El cliente recibe los datos del servidor en un formato codificado. Primero descomprime el contenido con la función Zip.Decompress() y, a continuación, descodifica el mensaje. Después de leer un byte del mensaje, lo compara con valores predefinidos. En función del resultado, realiza diversas operaciones, como el intercambio de bytes y la conversión de los datos en tipos de datos específicos.

Cuando se recibe un comando del servidor, la carga útil lo extrae del paquete, calcula su hash y lo compara con los valores almacenados. Cada comando se compara directamente con el conjunto predefinido de comandos válidos:
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
Una vez identificado el comando adecuado, la carga útil llama a la función Plugins(), que desencadena un procedimiento específico en función del parámetro proporcionado.
Estos complementos (o "plugins") representan los componentes funcionales de cada comando. De forma predeterminada, no todos los complementos se incluyen en la carga útil inicial. En su lugar, se pueden descargar desde el servidor cuando se reciben los comandos "plugin" o "savePlugin". La lista siguiente muestra los comandos incluidos en la carga útil y sus acciones correspondientes:
Firmado y entregado: abuso de controladores vulnerables y carga lateral de DLL
Dentro del archivo ZIP encontramos un ejecutable señuelo y dos DLL, una legítima y otra con fines maliciosos. La parte ejecutable carga el archivo legítimo "CiscoSparkLauncher.dll", que a su vez activa la DLL maliciosa para descodificar y desplegar tres archivos en el directorio "%Temp%": dos controladores vulnerables utilizados para la elevación de privilegios a nivel de kernel y la carga útil final de RemcosRAT.

El ejecutable inicial llama a una función de "CiscoSparkLauncher.dll", un archivo legítimo que, a su vez, invoca a GetFileVersionInfoSizeW() desde "VERSION.dll". En este caso, "VERSION.dll" es una DLL maliciosa, lo que indica una carga lateral de DLL clásica. La DLL maliciosa emplea ofuscación del flujo de control en sus funciones, con bucles y comprobaciones condicionales para ralentizar el análisis.
A continuación, asigna un nuevo bloque de memoria de 5 982 208 bytes de tamaño y copia los datos de la sección ".rdata". De hecho, el tamaño de esta sección es de 5 989 888 bytes, y al copiarla se omiten los primeros 7680 bytes. Como resultado, solo se copiarán los datos codificados de esta sección. A continuación, comienza a resolver varias direcciones de la API de Windows desde las bibliotecas "kernel32.dll", "ADVAPI32.dll" y "ole32.dll".

A continuación, los datos que se copiaron de la sección ".rdata" se pasan a la función de descodificación. Aquí, primero construye una clave a partir de dos valores de 16 bytes y descodifica la sección mediante la operación "XOR".

Durante la ejecución, descodificará los datos adicionales de la misma forma, pero esta vez mediante una clave distinta:

Los datos descodificados incluyen un código adicional que se ejecuta después de la descodificación. En primer lugar, este código realiza comprobaciones de máquinas virtuales. Para ello, inspecciona el nombre del sistema en busca de indicadores como "vmware" o "virtualbox", y evalúa la memoria disponible, el número de CPU y la resolución de pantalla. Si alguna de estas condiciones sugiere un entorno virtualizado, el programa finaliza la ejecución.

Posteriormente el programa se copiará a sí mismo junto con los archivos "CiscoSparkLauncher.dll" y "VERSION.dll" en la carpeta "%Temp", y ejecutará el siguiente comando para establecer la persistencia:
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
Para eludir el software antimalware, comprueba la presencia de las rutas de las carpetas y, a continuación, utiliza las funciones "CreateToolHelp32Snapshoot", "Process32First" y "Process32Next" para enumerar todos los procesos en ejecución y finalizar aquellos que coincidan con la lista de nombres de procesos guardada:
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
A continuación, lee datos adicionales de la sección ".rdata", los descodifica y escribe tres archivos en la carpeta "%Temp":
Ambos controladores vulnerables se inician como servicios en modo kernel. A continuación, la muestra utiliza la función DeviceIoControl() con el código de control 0x80002010 para registrar el proceso svchost.exe descargado como autenticado y, por último, finaliza su propia ejecución.
La carga útil analizada almacena su configuración como un recurso cifrado. El primer byte indica el tamaño de la clave, seguido de la clave de cifrado RC4. Los datos restantes contienen la configuración cifrada.

La configuración descifrada revela varios parámetros operativos utilizados por el malware, incluida la dirección y el puerto del servidor de mando y control (C2), el nombre de la botnet, el tamaño máximo de los archivos de registro del registrador de pulsaciones ("keylogger"), el nombre del archivo binario y el nombre del mútex. También especifica el intervalo de captura de pantalla en segundos, los nombres de las carpetas designadas para almacenar las capturas de pantalla y grabaciones de audio, y un número de licencia, probablemente utilizado para realizar un seguimiento de las implementaciones o el uso por parte de afiliados.

Ofuscación sostenida
En el momento de redactar este artículo, se está desarrollando un nuevo capítulo de la campaña Shadow Vector, que amplía las técnicas de SVG smuggling documentadas previamente. En esta iteración, los ciberdelincuentes adoptan un enfoque modular, desplegando un cargador asociado a Katz Stealer. La cadena de infección sigue comenzando con señuelos SVG cuidadosamente diseñados, pero ahora incluye "stagers" (cargadores iniciales) de JavaScript y PowerShell, una técnica de evasión de UAC mediante cmstp.exe y una DLL de cargador dinámica .NET equipada con funciones antianálisis, inyección de procesos y mecanismos de persistencia opcionales.

Los ciberdelincuentes detrás de la actividad más reciente de Shadow Vector están utilizando varios repositorios de Bitbucket para alojar los "stagers" maliciosos de JavaScript y VBS. Uno de estos repositorios, "notificaciones-judiciales2025-2005", registró más de 170 descargas combinadas de sus cargas útiles por fases en tan solo unas horas tras su publicación en el repositorio el 28 de mayo de 2025. Este volumen de actividad sugiere que es probable que se estuviera llevando a cabo una campaña de phishing coordinada durante ese período. Entre los alias utilizados por quienes subieron los archivos maliciosos al repositorio, "TheMrHacker" destaca frente al uso constante de la etiqueta genérica "Envio", que podría ofrecer una pista sobre la identidad del operador.

La cadena de infección comienza con un archivo JavaScript que simula ser un aviso legal, en este caso denominado "001-Notificacion_electronica_demanda_judicial_Departamento_Juridico.js", que actúa como "dropper" inicial. Al ejecutarse, recupera un script de segunda fase desde Paste.ee.

Este script de seguimiento ofuscado lanza un comando de PowerShell configurado para ejecutarse en modo silencioso (-nop -w hidden) mediante Invoke-Expression, lo que le permite recuperar contenido adicional codificado a partir de dos endpoints de Paste.ee (ambos con el mismo hash SHA256).

En la fase final, el script descarga una DLL codificada en Base64 desde Internet Archive, normalmente oculta dentro de un archivo de texto alojado en archive[.]org/replace_202505/REPLACE[.]txt. En algunos casos, en su lugar recupera un archivo de imagen que contiene una carga útil codificada en Base64, oculta dentro del propio contenido de la imagen. El script extrae y descodifica la carga útil, y después carga la DLL directamente en la memoria mediante el método [Reflection.Assembly]::Load().

La cadena de infección por fases entrega una DLL de .NET que carga y ejecuta de forma dinámica el método dnlib.IO.Home.VAI(), un comportamiento coherente con muestras conocidas del cargador de Katz. Aunque el cargador coincide con varias firmas YARA vinculadas a Katz Stealer, en este caso no despliega el stealer. En lugar de ello, recupera la carga útil final en tiempo de ejecución y la ejecuta completamente en la memoria, sin dejar rastro en el disco. El cargador implementa funciones avanzadas, como comprobaciones antidepuración y antimanipulación, una evasión opcional del UAC mediante cmstp.exe y descifrado de cadenas a partir de un blob de recursos cifrado. Además, utiliza el "process hollowing" (vaciado de procesos) para inyectar código en archivos binarios legítimos y mantiene la persistencia a través de tareas programadas y modificaciones del registro. También permite configurar en tiempo de ejecución las comprobaciones contra máquinas virtuales.

Varias cadenas incrustadas en el código del cargador están escritas en portugués, incluidos mensajes como "Baixar e executar o PuTTY a cada 1 minuto indefinidamente" ("Descargar y ejecutar PuTTY cada 1 minuto indefinidamente"), "Extensão não suportada" ("Extensión no compatible"), "Recurso 'UAC.dll' não encontrado!" ("Recurso 'UAC.dll' no encontrado") y "Erro ao executar a DLL em memória" ("Error al ejecutar la DLL en memoria"). Estos mensajes, combinados con los nombres de los parámetros utilizados en el método VAI (p. ej., ‘caminhovbs’, ‘persitencia’, ‘extenção’, ‘nomedoarquivo’), sugieren que el cargador comparte elementos de diseño o reutilización de código con herramientas desarrolladas por ciberdelincuentes de habla portuguesa, en particular los implicados en campañas de malware con ánimo de lucro que tienen a Brasil en el punto de mira.
Conclusiones finales
Como evolución de sus anteriores técnicas de SVG smuggling, estos ciberdelincuentes han adoptado un cargador modular residente en memoria que puede ejecutar cargas útiles de forma dinámica y completamente en memoria, lo que deja un rastro mínimo. Este cargador se distribuye a través de una cadena de infección por fases que utiliza plataformas de alojamiento público, un enfoque que complica los esfuerzos de atribución y eliminación.
El hecho de que el cargador contenga cadenas y parámetros de métodos en portugués refleja técnicas y procedimientos que se observan con frecuencia en el malware bancario brasileño, lo que sugiere una posible reutilización de código, uso compartido de recursos de desarrollo o incluso colaboración entre ciberdelincuentes de distintas regiones.
La campaña mantiene su enfoque en objetivos latinoamericanos, recurre a la suplantación de instituciones y despliega sus componentes de forma rápida y escalable, lo que pone de manifiesto una amenaza persistente que seguirá evolucionando con el tiempo.
Detectado por Acronis
RemcosRAT

Indicadores de compromiso
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
Paquetes
bf596502f05062d156f40322bdbe9033b28df967ce694832a78482b47dcdd967
53cad386b6af155952380eb8050eebef368836bcb035dffe2ca8a58ae22c055c
5576f8e746f206f9a682b9bbb4a623c72b60892c96979fbe2ffab3b32d6aea7e
bb20c46a817a7c0cdffb513ec4d14bd2026ea70b8f1a0ec07bb699cd0d70a29a
Cargas útiles
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)
}
Referencias
MuchoHacker. "Correos de hospital y Rama Judicial en Colombia son usados para enviar correos falsos con archivos SVG que podrían contener malware". 31 de octubre de 2024.
SciLabs. "Red Akodon: A new threat actor distributing RAT to Colombia". 27 de mayo de 2024.
https://blog.scilabs.mx/en/2024/05/27/red-akodon-a-new-threat-actor-distributing-rat-to-colombia