Los atacantes desplegaron contra una versión personalizada de Windows 10, reservada a entidades gubernamentales de Asia, un marco de carga de ensamblados .NET hasta ahora no documentado llamado NetamLoader, según informó The Hacker News, citando la investigación que Kaspersky detalló esta semana. El marco permite a los atacantes descargar y ejecutar cargas adicionales dentro de procesos de Windows, mientras borra archivos y rastros de ejecución.
La telemetría de Kaspersky identificó una víctima en Asia. La actividad no se ha atribuido a ningún actor de amenazas conocido, y sigue sin estar claro si la intrusión se extendió a más de un sistema o si provocó el robo de información sensible.
No se reveló el país objetivo. The Hacker News sugirió a China como posibilidad probable porque Microsoft ofrece Windows 10 China Government Edition para entidades gubernamentales y estatales chinas. Se trata de una inferencia de la publicación, no de una identificación confirmada de la víctima.
Un archivo en el directorio de actualizaciones inicia la cadena
Kaspersky detectó el artefacto en la primera mitad de 2026 dentro de un archivo de gabinete de Windows, o archivo CAB, almacenado en un directorio utilizado para los paquetes de actualización del sistema operativo:
C:\Windows\SoftwareDistribution\Download\e4537a1762fcafd2fd96bfc825bad34f9db9a24
El contenido del archivo se extrajo en C:\Windows\SoftwareDistribution\Download\Install\. Se desconoce su método de entrega. Se sospecha de un compromiso de la cadena de suministro que involucra a un proveedor externo de confianza, aunque no está confirmado.
El CAB contenía siete archivos: fabric.config, Microsoft.HostIntegration.Connectors.dll, PatchMyPC-Enum.dll, PatchMyPC-Models.dll, PatchMyPC-ScriptRunner.exe, PatchMyPC-ScriptRunner.exe.config y Resources.resx. Cuatro eran componentes legítimos de Patch My PC, un producto de gestión de endpoints. Solo Resources.resx incrustaba código malicioso.
La ejecución comenzó con PatchMyPC-ScriptRunner.exe. La cadena abusaba de la inyección de AppDomainManager, que secuestra el mecanismo de .NET Framework encargado de inicializar los dominios de aplicación cuando arranca una aplicación. Como ocurre con el DLL sideloading, permite ejecutar código malicioso dentro del proceso de una aplicación legítima.
En este caso, el ejecutable analizó PatchMyPC-ScriptRunner.exe.config, lo que provocó la ejecución de Microsoft.HostIntegration.Connectors.dll. Ese componente localizó y analizó el archivo adyacente fabric.config y, después, cargó Resources.resx.
El archivo de recursos contenía varias capas de contenido codificado, comprimido o cifrado, incluidos archivos XAML, ensamblados .NET y datos JSON. Cada componente decodificaba y cargaba el siguiente, trasladando la ejecución a lo largo de una cadena de dos etapas.
Cargas en capas evaden el análisis y eliminan rastros
El primer cargador XAML, al que los investigadores denominan XAML-1, cargó una carga incrustada llamada XAML-2. Esa carga inicializó la segunda etapa al cargar dos archivos XAML comprimidos y codificados en Base64: XAML-2-1 y XAML-2-2. XAML-2-1 proporcionaba una evasión de la Antimalware Scan Interface, o AMSI, es decir, de la interfaz de análisis antimalware.
XAML-2-2 contenía un módulo .NET llamado .NET 1 Loader y una carga JSON llamada JSON-1. Los datos JSON se dividían en dos componentes: JSON-1-c almacenaba la configuración de comando y control, mientras que JSON-1-p contenía un ensamblado codificado en Base64 llamado .NET 2 Plugin, además de plantillas XAML comprimidas y cifradas que se usaban para construir XAML-3.
Después de que XAML-2-2 cargara .NET 1 Loader, ese módulo descifró, ensambló y cargó XAML-3. También notificaba su estado al servidor de comando y control y eliminaba los archivos maliciosos extraídos del CAB, los registros de uso de CLR y los archivos de caché Prefetch de Windows para ocultar los rastros de ejecución.
XAML-3 se ejecutó dentro de dllhost.exe, donde descodificó, descomprimió y cargó .NET 2 Plugin. El plugin cargó su configuración de comando y control, recopiló información del sistema desde el Registro de Windows y comprobó si su proceso host actual era dllhost.exe.
Un objetivo exclusivo de gobiernos y comunicaciones con retardos
El ataque se centra en una versión de Windows exclusiva para gobiernos. En el contexto político relacionado, The Hacker News citó un informe de Bloomberg de agosto según el cual el Ministerio de Seguridad del Estado de China había ordenado a algunas agencias gubernamentales sustituir «Government Edition» de Windows por distribuciones de Linux fabricadas en China, para reducir la dependencia de tecnología extranjera. Bloomberg atribuyó la instrucción a preocupaciones de seguridad de datos, citando a personas familiarizadas con el asunto.
La valoración más amplia de Kaspersky es que los países que desarrollan sus propios sistemas operativos y otras plataformas básicas obtienen control sobre el desarrollo, la operación y las actualizaciones, pero también asumen la responsabilidad de proteger el ecosistema que los rodea. Según la compañía, llevar su operación y mantenimiento a un nivel de madurez requiere tiempo.
Para los profesionales que analizan esta cadena, el comportamiento de comunicación documentado incluye retardos considerables. En la muestra detectada durante la primera mitad de 2026, .NET 2 Plugin esperaba un tiempo aleatorio de entre 20 y 40 minutos antes de realizar su primera solicitud a openaigpt4v[.]com. Después, obtenía periódicamente un archivo XAML y lo ejecutaba en un AppDomain aislado.
Una respuesta válida de comando y control activaba una pausa de 5 a 6 minutos antes de la siguiente solicitud. De lo contrario, el plugin esperaba entre 22 y 28 horas, comprobando cada 10 minutos si ese intervalo había transcurrido.




