Resumen ejecutivo
Los investigadores de Unit 42 han estado rastreando campañas de phishing que usan PhantomVAI Loader para distribuir malware que roba información a través de una cadena de infección evasiva de varias etapas. Los actores de amenazas lanzan estas campañas para distribuir scripts ofuscados y cargadores que usan técnicas de esteganografía para ocultar las cargas útiles.
El cargador utilizado inicialmente en estas campañas se denominó Katz Stealer Loader, por el malware Katz Stealer que transmite. Los hackers están vendiendo este nuevo infostealer en foros clandestinos como malware como servicio (MaaS). Recientemente, observamos que el cargador ahora entrega infostealers adicionales, como AsyncRAT, XWorm, FormBook y DCRat. Dado este comportamiento único, rastreamos el cargador con un nuevo nombre: PhantomVAI Loader. Elegimos este nombre por el sigilo del cargador y el método VAI que ejecuta.
Los actores de amenazas implementan PhantomVAI Loader en ataques en todo el mundo, dirigidos a organizaciones de diversas industrias:
- Fabricación
- Formación
- Servicios básicos
- Tecnología
- Atención de salud
- seguridad
- Gobierno
Exploramos cada etapa de la cadena de infección multicapa, desde el correo electrónico de phishing inicial hasta la implementación final de la carga útil del infostealer. También esbozamos la funcionalidad de Katz Stealer específicamente.
Los clientes de Palo Alto Networks están mejor protegidos frente a esta actividad gracias a los siguientes productos y servicios:
Si cree que puede haber resultado vulnerado o tiene un problema urgente, póngase en contacto con el equipo de respuesta ante incidentes de Unit 42.
| Temas relacionados con Unit 42 | Infostealers |
Antecedentes
El 13 de abril de 2025, un usuario llamado “katzadmin” publicó sobre un nuevo infostealer llamado Katz Stealer. El usuario subió estas publicaciones al foro clandestino BreachForums, y más tarde también a los foros exploit[.]in y xss[.]is. Katz Stealer es un tipo de MaaS que recopila datos confidenciales de diversas aplicaciones alojadas en máquinas infectadas.
Observamos que los actores de amenazas distribuyen Katz Stealer a través de correos electrónicos de phishing que contienen código JavaScript o VBS ofuscado, scripts de PowerShell y un cargador .NET. Inicialmente llamado Katz Stealer Loader, y también conocido como VMDetectLoader, este cargador ahora entrega infostealers como AsyncRAT, XWorm, FormBook y DCRat. Rastreamos este cargador con un nuevo nombre: PhantomVAI Loader.
Análisis de la cadena de infección
La cadena de ataque de PhantomVAI Loader comienza con una operación inicial de phishing y finaliza con la implementación de cargas útiles. En la Figura 1, se resumen las etapas de este proceso.

Correos electrónicos de phishing
La cadena de infección comienza con un correo electrónico de phishing que contiene un archivo adjunto malicioso. En la Figura 2, se muestra un ejemplo de uno de los correos electrónicos de phishing.

Los correos electrónicos hablan de temas como ventas, pagos y acciones legales para engañar a los usuarios objetivo y conseguir que abran el archivo adjunto malicioso. Algunos de estos correos electrónicos incorporan ataques homógrafos que consisten en sustituir los caracteres latinos del mensaje por otros caracteres Unicode o matemáticos. Los atacantes usan esta técnica para eludir las defensas del correo electrónico al disfrazar términos que los mecanismos de seguridad del correo suelen marcar como sospechosos.
Etapa 1: JavaScript y scripts VBS
Los archivos adjuntos del correo electrónico de phishing son archivos JavaScript o VBS archivados. Los actores de amenazas ofuscan estos scripts en un intento de eludir las detecciones. En la Figura 3, se muestra un ejemplo de JavaScript ofuscado de uno de estos archivos.

El script incrusta un script de PowerShell codificado en Base64 y lo ejecuta para descargar y entregar la siguiente etapa de la infección.
Etapa 2: Script de PowerShell
El script de PowerShell descodificado descarga y carga la siguiente etapa de la infección. En la Figura 4, se muestra un ejemplo de script PowerShell descodificado.

El script de PowerShell descarga un GIF u otro archivo de imagen que oculta la carga útil del cargador. Esta técnica se conoce como esteganografía. En las infecciones que observamos, los actores de amenazas usaban esta técnica para incrustar texto en la imagen. El texto es un archivo DLL codificado en Base64.
A continuación, el script extrae los datos en Base64 buscando cadenas específicas que representen el inicio y el final del texto codificado. En este caso, el script de PowerShell busca todo el texto entre <<sudo_png>> y <<sudo_odt>>. Este texto es un DLL codificado. En otros casos, los actores de amenazas insertaron el texto codificado entre diferentes cabeceras. En la Figura 5, se muestra un ejemplo de texto codificado incrustado en un archivo GIF mediante esteganografía.

Tras extraer el texto codificado del archivo de imagen o GIF, el script de PowerShell descodifica el texto y carga el DLL. El DLL cargado es la carga útil del cargador .NET que llamamos PhantomVAI Loader.
El script de PowerShell invoca un método llamado VAI dentro de PhantomVAI Loader y le proporciona varios parámetros. El primer parámetro es una URL para el servidor de comando y control (C2) que aloja la carga útil final.
Etapa 3: Ejecución de PhantomVAI Loader
PhantomVAI Loader está escrito en C#, y el método VAI tiene tres funcionalidades principales:
- Ejecución de comprobaciones de máquinas virtuales
- Establecimiento de la persistencia
- Recuperación de la carga útil final
Detección de máquinas virtuales
Cuando se ejecuta PhantomVAI Loader, realiza comprobaciones para determinar si se está ejecutando en una máquina virtual, como muestra el siguiente código. La parte del código dedicada a la detección de máquinas virtuales parece basarse en un proyecto de GitHub denominado VMDetector. Si alguna de las comprobaciones devuelve una respuesta verdadera, PhantomVAI Loader sale y deja de ejecutarse.
|
1 2 3 4 5 6 7 8 9 |
Detected as a virtual machine given key computer information. Detected as a virtual machine given bios information. Detected as a virtual machine given hard disk information. Detected as a virtual machine given PnP devices information. Detected as a virtual machine given Windows services information. |
Establecimiento de la persistencia
PhantomVAI Loader usa uno o todos los métodos siguientes para crear la persistencia:
- Una tarea programada ejecuta comandos PowerShell para descargar un archivo desde una URL controlada por el atacante. La tarea guarda el archivo con un nombre y una extensión específicos y, a continuación, lo ejecuta.
- Una tarea programada ejecuta un script utilizando wscript.exe. La ruta a este script se brinda como parámetro de la línea de comandos.
- Una clave de registro para ejecutar un archivo específico. La ruta del archivo también se proporciona como argumento en la línea de comandos.
Recuperación de la carga útil y la inyección
PhantomVAI Loader descarga la carga útil de la URL especificada como parámetro de línea de comandos en el script de PowerShell de la etapa 2. Luego, inyecta la carga útil en un proceso de destino que también se define con un parámetro de línea de comandos, usando la función vaciado de procesos. El cargador inyecta la carga útil en un proceso situado en una de las siguientes cuatro rutas, según el argumento de la línea de comandos y la arquitectura de la carga útil:
- C:\Windows\Microsoft.NET\Framework\v4.0.30319\
- C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
- C:\Windows\System32\
- C:\Windows\SysWOW64\
En la mayoría de los casos observados al escribir este artículo, PhantomVAI Loader inyectaba la carga útil en el archivo de motor de compilación de Microsoft: MSBuild.exe. En la Figura 6, se muestra un ejemplo de este tipo de inyección, en el contexto de la cadena de infección.

Katz Stealer: Un nuevo stealer de malware como servicio
PhantomVAI Loader ha evolucionado para ofrecer una serie de infostealers. Como Katz Stealer es el menos conocido y documentado, lo analizamos aquí con más detalle.
Los actores de amenazas usan Katz Stealer para robar datos de las máquinas infectadas, tales como:
- Credenciales del navegador
- Datos del navegador (como cookies, historial, datos de inicio de sesión)
- Monederos de criptomonedas
- Datos de Telegram
- Datos de Discord
- Información sobre el sistema operativo
- Datos de Steam y del juego
- Datos de VPN
- Datos de clientes FTP
- Datos de aplicaciones de comunicación y mensajería
- Datos de los clientes de correo electrónico
- Capturas de pantalla
- Datos del portapapeles
Katz Stealer también comprueba el idioma de la máquina y lo compara con una lista de códigos de país codificados mediante las siguientes API:
- GetKeyboardLayout
- GetLocaleInfoA
- GetSystemDefaultLangID
Los códigos de país que comprueba Katz Stealer forman parte de la Comunidad de Estados Independientes (CEI), como se muestra en la Figura 7. Si encuentra una coincidencia, Katz Stealer deja de ejecutarse. Esta comprobación del idioma y el comportamiento posterior podrían proporcionar una pista sobre el origen del autor del malware.

Conclusión
En este artículo, se destacan las campañas de phishing que entregan PhantomVAI Loader, también conocido como Katz Stealer Loader. Combinando ingeniería social a través de correos electrónicos de phishing, scripts ofuscados, esteganografía y un cargador .NET, esta cadena de infección en varias etapas demuestra hasta dónde son capaces de llegar los atacantes para evadir la detección y eludir las defensas.
Nuestra investigación destaca cómo ha evolucionado este cargador en el ecosistema de la ciberdelincuencia. Aunque en un principio los actores de amenazas usaban el cargador solo para distribuir Katz Stealer, las observaciones más recientes muestran que el cargador ahora distribuye otras cepas de malware, como AsyncRAT, XWorm, FormBook y DCRat.
Las ofertas de MaaS como Katz Stealer son una amenaza omnipresente que puede afectar significativamente la seguridad y la privacidad al exponer datos confidenciales como contraseñas, datos de red, correos electrónicos y archivos. Comprender las cadenas de ataque y las técnicas que usan los actores de amenazas para distribuir estas cargas útiles maliciosas es vital para garantizar la seguridad de las organizaciones.
Protección y mitigación de Palo Alto Networks
Los clientes de Palo Alto Networks están mejor protegidos frente a las amenazas mencionadas gracias a los siguientes productos y servicios:
- Los modelos de aprendizaje automático y las técnicas de análisis de Advanced WildFire se han revisado y actualizado a la luz de los indicadores compartidos en esta investigación.
- Cortex XDR y XSIAM ayudan a prevenir todas las amenazas descritas anteriormente al usar el motor de prevención de malware. Este enfoque combina varias capas de protección, entre ellas Advanced WildFire, la protección contra amenazas de comportamiento y el módulo de análisis local, para impedir que el malware, tanto conocido como desconocido, cause daños en los endpoints.
En la Figura 8, se muestran dos ejemplos de alertas de detección que los correos electrónicos de esta campaña activan en Cortex XDR.

Si cree que puede haber resultado vulnerado o tiene un problema urgente, póngase en contacto con el equipo de respuesta ante incidentes de Unit 42 o llame al:
- Norteamérica: llamada gratuita: +1 (866) 486-4842 (866.4.UNIT42)
- Reino Unido: +44.20.3743.3660
- Europa y Oriente Medio: +31.20.299.3130
- Asia: +65.6983.8730
- Japón: +81.50.1790.0200
- Australia: +61.2.4062.7950
- India: 00080005045107
Palo Alto Networks ha compartido estos resultados con nuestros compañeros de Cyber Threat Alliance (CTA). Los miembros de CTA utilizan esta inteligencia para implementar rápidamente medidas de protección para sus clientes y desarticular sistemáticamente a los ciberdelincuentes. Obtenga más información sobre Cyber Threat Alliance.
Indicadores de vulneración
Ejemplo de hash SHA256 para archivos
- 02aa167e4bb41e3e40a75954f5a0bd5915f9a16fd6c21b544a557f2a7df3c89b
Ejemplos de hashes SHA256 para JavaScript
- e663916cc91b4285a1ee762716ff7ce4537153c7893e2d88c13c7e57bbb646a9
- 45fddf55acb50df5b027701073dee604b4135f750c585b29d6dcac824f26ae00
- 9f28f82d21fe99d0efdcab403f73870d68fd94e6d0f762e658d923ccd1e7424c
- 05d66568017f2c2e417fa6680f9b4fa4a8a9bc1b7256fe46fbf3e71956b99773
- 4346c3c08df612b8bcd23a3b57845755bafb0efc57ff77203f8da3b46628a008
- 0c0dae4d7da069c928f06addb1c5c824e820e4556a1244142f56227954bf9c7d
- 3a039ce210a0b5ff65f57d304519b885bae91d1bec345c54e59e07bc39fca97e
Hashes SHA256 para PhantomVAI Loader
- 4ab4a37db01eba53ee47b31cba60c7a3771b759633717e2c7b9c75310f57f429
- 9ae50e74303cb3392a5f5221815cd210af6f4ebf9632ed8c4007a12defdfa50d
- 893ee952fa11f4bdc71aee3d828332f939f93722f2ec4ae6c1edc47bed598345
- b60ee1cd3a2c0ffadaad24a992c1699bcc29e2d2c73107f605264dbf5a10d9b6
- 0df13fd42fb4a4374981474ea87895a3830eddcc7f3bd494e76acd604c4004f7
- 6051384898e7c2e48a2ffb170d71dbf87e6410206614989a037dac7c11b8d346
- 01222c6c2dbb021275688b0965e72183876b7adb5363342d7ac49df6c3e36ebe
- 6f7c5bad09698592411560a236e87acae3195031646ff06a24f1cfada6774ba6
- 6aa2989ebb38e77a247318b5a3410b5d4f72b283c7833a0b800ea7d1de84ccc6
- 4c5d7e437f59b41f9f321be8c17ae1f128c04628107a36f83df21b33d12ff8db
- 639eb0d2c2da5487412e7891638b334927232ff270781fad81dc5371f44f7c8e
- 553d76d0c449377be550570e65e2bcae4371964fc3b539a1e1022d80699da5db
- a7993775f4518c6c68db08e226c11e51f9bc53314e4ff9385269baac582e2528
- 7ddce5be3642b66c7559821e26877c9f0242c748da64b2e68a81844bb1a6b148
- 84e0a543df302b18f1188139160fc5a8bd669da071e492453d5d6756064ee568
- 97b76d61941b790deff9f025dec55484e32ebff32b1b6e173d6fbf42cd8996ef
- bf6a5e37097330d7d68b6ac3deb6a10a1d3269be575fd51315774d1e7e1eca34
- a62a81785714844a099a918c66df9367b5eb14df06e589d59bc81f392358c5cc
- 920309f3822f993afeaa8ec70b4ef6b43dd2562be85cc2985efedc6cda2e7578
- 421c4b4b53d291da2b53c068a491b3913d92fe0eb6f330861e7b60f3d9f8eee7
- 87fae395c0e9ce3631dece94971befa578623ff0540d06539f583df921568814
- 4b8bde867c06b617d731ea9e965bf64800330701942324e475b8119352122e7c
- 3c6a8132df3351e2b7d186d0b3f41847e6920ebcb940548e3c9ed274901104c2
- 76cbb0abd9511aab2cc9dda993e3b9ab77afb09d2959f143647065ca47e725cc
- ed1b4a03595c59e5a90dd4f02f1993a2c5a43ca46a33aab0d15a1bbb1f8b3d30
- c44bac8b66ad11756b4c5ff3b1cd7e1187c634088f9e7aa2250067033df24e8d
- 63dfdb4927c0bca64f8952904f463330360eb052f2a2a749bf91a851a2be89b4
- 373c820cc395ea5b9c6f38b9470913e6684e8afea59e9dfeb3da490014074bf1
- b263df6b58c9259000e45a238327de8c07e79f2e7462c2b687c1c5771bac1dd5
- f05bc36211301087e403df09daa014ea8f04f5bdae5cef75eb866b56b82af2d6
- c45d3b6d2237fc500688a73d3ba18335d0002917f1a1f09df6934c87deaa097f
- fcad234dc2ad5e2d8215bcf6caac29aef62666c34564e723fa6d2eee8b6468ed
- e05b7f44ef8d0b58cfc2f407b84dcff1cb24e0ec392f792a49ad71e7eab39143
- 87c9bede1feac2e3810f3d269b4492fe0902e6303020171e561face400e9bdb4
- c3de728850dc1e777ad50a211a4be212ca6c4ac9d94bf7bb6d5f7fe5f4574021
- e5daa86418ac444d590a2c693cd7749d87134c47d8e0dbac30c69f23a8e8131f
Hashes SHA256 para Katz Stealer
- a6b736988246610da83ce17c2c15af189d3a3a4f82233e4fedfabdcbbde0cff0
- 74052cf53b45399b31743a6c4d3a1643e125a277e4ddcfcad4f2903b32bc7dc4
- 20bde6276d6355d33396d5ebfc523b4f4587f706b599573de78246811aabd33c
- e345d793477abbecc2c455c8c76a925c0dfe99ec4c65b7c353e8a8c8b14da2b6
- 96ada593d54949707437fa39628960b1c5d142a5b1cb371339acc8f86dbc7678
- 925e6375deaa38d978e00a73f9353a9d0df81f023ab85cf9a1dc046e403830a8
- b249814a74dff9316dc29b670e1d8ed80eb941b507e206ca0dfdc4ff033b1c1f
- 9b6fb4c4dd2c0fa86bffb4c64387e5a1a90adb04cb7b5f7e39352f9eae4b93fa
- d5ead682c9bed748fd13e3f9d0b7d7bacaf4af38839f2e4a35dc899ef1e261e2
- ece74382ec6f319890e24abbf8e0a022d0a4bd7e0aeaf13c20bab3a37035dcd1
- 2dba8e38ac557374ae8cbf28f5be0541338afba8977fbff9b732dee7cee7b43e
- 11e90765640cbb12b13afa1bcec31f96f50578a5e65e2aa7be24465001b92e41
- b2245ca7672310681caa52dc72e448983d921463c94cdab0ba9c40ad6b2a58fe
- c929ee54bdd45df0fa26d0e357ba554ef01159533501ec40f003a374e1e36974
- c0e3c93c59b45e47dda93438311f50ddb95808fd615a467285c9c359bce02cf0
- 309da3c8422422089b7f9af3b1b3f89e2d5c36e48e4d9d9faa07affb7d9a7b17
- fdc86a5b3d7df37a72c3272836f743747c47bfbc538f05af9ecf78547fa2e789
- 25b1ec4d62c67bd51b43de181e0f7d1bda389345b8c290e35f93ccb444a2cf7a
- 964ec70fc2fdf23f928f78c8af63ce50aff058b05787e43c034e04ea6cbe30ef
- d92bb6e47cb0a0bdbb51403528ccfe643a9329476af53b5a729f04a4d2139647
- 5dd629b610aee4ed7777e81fc5135d20f59e43b5d9cc55cdad291fcf4b9d20eb
- b912f06cf65233b9767953ccf4e60a1a7c262ae54506b311c65f411db6f70128
- 2852770f459c0c6a0ecfc450b29201bd348a55fb3a7a5ecdcc9986127fdb786b
Recursos adicionales
- DCRat Presence Growing in Latin America (Crece la presencia de DCRat en Latinoamérica), IBM
- AsyncRAT Remote Access Tool (Herramienta de acceso remoto AsyncRAT), Malpedia
- XWorm Malware (Malware XWorm), Malpedia
- FormBook Malware (Malware FormBook), Malpedia
- DCRat Remote Access Tool (Herramienta de acceso remoto DCRat), Malpedia
- Microsoft Build Engine (Motor de compilación de Microsoft), Microsoft Learn
- Obfuscated Files or Information: Steganography (Archivos o información ofuscados: Esteganografía), MITRE
- Process Injection: Process Hollowing (Inyección del proceso: Vaciado de procesos), MITRE
- Trusted Developer Utilities Proxy Execution: MSBuild (Ejecución del proxy de servicios de desarrollador de confianza: MSBuild), MITRE
- VMDetector, robsonfelix en GitHub
- The Ηоmоgraph Illusion: Not Everything Is As It Seems (La ilusión del homógrafo: No todo es lo que parece), Unit 42 de Palo Alto Networks