Clop apunta a PTC Windchill como su nueva víctima y vuelve a crear un web shell a medida

Clop apunta a PTC Windchill como su nueva víctima y vuelve a crear un web shell a medida

La jugada es la misma; solo cambia la herramienta.

image

El grupo Clop probablemente utiliza un web-shell especial para robar datos de los servidores PTC Windchill y FlexPLM. El software malicioso está diseñado específicamente para el componente interno de Windchill: se conecta a la base de datos con los recursos habituales de la aplicación, descifra las credenciales almacenadas, localiza documentos en los repositorios de archivos, los descarga y ejecuta código Java adicional dentro del proceso de Windchill. ReliaQuest descubrió la herramienta al investigar ataques en los que los atacantes, supuestamente, accedieron a servidores a través de la vulnerabilidad crítica CVE-2026-12569.

CVE-2026-12569 permite la ejecución remota de código en versiones vulnerables de Windchill y FlexPLM sin autorización previa. PTC publicó correcciones para los sistemas afectados en junio, y el 25 de junio la agencia estadounidense CISA incluyó la vulnerabilidad en el catálogo Known Exploited Vulnerabilities, que reúne brechas con explotación confirmada en ataques reales. A las agencias federales de EE. UU. se les ordenó instalar las correcciones en un plazo de tres días.

En julio surgieron reportes de ataques contra servidores Windchill y FlexPLM accesibles desde internet. Tras la explotación de CVE-2026-12569, los atacantes colocaron web-shells en formato JSP, es decir, páginas Java del lado del servidor que permiten ejecutar comandos de forma remota y acceder a los datos de la aplicación. Al principio la vinculación de la campaña con Clop no estaba confirmada, pero más tarde aparecieron varios indicios coincidentes. En las cartas de demanda de rescate se usaron direcciones de contacto del sitio de filtraciones de Clop, y en las solicitudes de red apareció el encabezado HTTP X-windchill-req, que emplea también el web-shell detectado. El modo de ataque coincide además con la práctica anterior del grupo: comprometer masivamente un producto corporativo muy extendido, robar datos y luego exigir dinero a las organizaciones afectadas.

Clop ya ha elegido repetidamente plataformas de software por las que las empresas almacenan o transfieren grandes volúmenes de documentos. En campañas anteriores el grupo se aprovechó de vulnerabilidades en Accellion FTA, GoAnywhere MFT, SolarWinds Serv-U, Cleo y MOVEit Transfer. Para algunos ataques Clop preparó web-shells específicos para cada producto. Tras el compromiso de Accellion FTA se usó DEWMODE, y en la explotación de MOVEit Transfer los atacantes emplearon LEMURLOOT. La nueva herramienta para Windchill mantiene el mismo esquema, pero sus desarrolladores emplearon con más profundidad los mecanismos internos de la aplicación.

El web-shell está escrito en JavaServer Pages e importa directamente las clases de Windchill MethodContext, WTConnection y WTKeyStoreUtil. A través de ellas el software malicioso accede a la base de datos, al almacén de claves y a otros componentes de la aplicación sin utilidades externas separadas. Los desarrolladores tuvieron que comprender las API internas de Windchill, la estructura de la base de datos, la forma de almacenar parámetros cifrados y la organización de los repositorios de archivos. Un web-shell genérico no incorpora esos conocimientos.

La conexión a la base de datos merece especial atención. El software malicioso utiliza las clases MethodContext y WTConnection, de modo que las consultas se ejecutan en nombre de la propia aplicación en ejecución y no mediante una cuenta creada por los atacantes. Por eso, en los registros de la base de datos las operaciones maliciosas pueden atribuirse a una cuenta de servicio habitual de Windchill. Las medidas de defensa que buscan principalmente cuentas nuevas o conexiones desde nodos desconocidos podrían no detectar parte de la actividad.

Para controlar el web-shell los atacantes emplean un protocolo propio a través del encabezado HTTP X-windchill-req. La secuencia de control contiene ocho caracteres. El primer carácter designa el comando; los siete restantes deben coincidir con un valor predefinido. Parámetros adicionales se envían mediante el encabezado X-windchill-prm. Este mecanismo permite emitir órdenes al software malicioso mediante solicitudes HTTP ordinarias.

El comando S extrae los secretos de Windchill. El web-shell lee el archivo de configuración ieStructProperties.txt, accede al almacén de claves de la aplicación y llama a la función estándar WTKeyStoreUtil.decryptProperty(). Mediante esa función el programa descifra la contraseña de la cuenta administradora LDAP y otros valores protegidos que Windchill guarda cifrados. ReliaQuest determinó que el resultado se devuelve al operador en texto plano.

El comando L ayuda a identificar rápidamente qué archivos hay en el servidor. El web-shell realiza consultas a la base de Windchill y obtiene nombres de documentos, tamaños y rutas al almacenamiento físico. En el análisis se observaron accesos a las tablas ApplicationData, FVITEM, FVMOUNT y MasteredOnReplicaItem. La lista recopilada se guarda en el archivo flst.txt. Después de eso el operador puede descargar el catálogo y seleccionar documentos concretos para el robo.

Los comandos D y G permiten el acceso directo a los archivos. D enumera el contenido del directorio indicado y permite leer partes de los archivos, mientras que G devuelve el contenido del archivo seleccionado. El comando R borra el objeto especificado. El operador puede primero elaborar la lista de datos a través de la base de Windchill y luego extraer los documentos necesarios directamente del sistema de archivos.

El comando J ofrece las funciones más amplias. El web-shell acepta un archivo ZIP en codificación Base64 con clases Java ya compiladas, carga el bytecode contenido en memoria y lo ejecuta dentro del proceso de Windchill. De esa manera no es necesario guardar un fichero ejecutable adicional en disco. El operador puede ampliar las capacidades del web-shell instalado cargando módulos Java propios para un mayor acceso a la red, persistencia en la infraestructura u otras acciones. ReliaQuest también señala que el mismo mecanismo técnicamente permite ejecutar código de cifrado de datos.

Otros dos comandos realizan funciones de servicio. O informa el nombre del sistema operativo del servidor. E devuelve los datos enviados mediante X-windchill-prm y permite comprobar si el web-shell responde a las solicitudes.

La diferencia principal entre la herramienta encontrada y una shell de comandos habitual es el conjunto de funciones listo para usar, diseñado específicamente para Windchill. Tras su instalación el operador no necesita buscar manualmente archivos de configuración, determinar la estructura de la base de datos, localizar documentos ni averiguar cómo descifrar los secretos. El web-shell obtiene la información necesaria mediante los mecanismos internos de la aplicación y puede empezar a robar credenciales y archivos desde el inicio. ReliaQuest lo describe como una plataforma especializada para ataques de extorsión que no requiere herramientas adicionales para la recolección inicial de datos.

Windchill se utiliza para gestionar el ciclo de vida del producto y almacenar materiales relacionados con el desarrollo, incluidos datos de ingeniería y documentación de diseño. Por eso el acceso a los repositorios de archivos puede proporcionar a los atacantes información corporativa valiosa, y las contraseñas robadas aumentan el daño. Si las credenciales obtenidas se usan también en otros sistemas de la organización, los atacantes pueden intentar moverse más allá del servidor comprometido.

ReliaQuest recomienda instalar de inmediato las correcciones de PTC para CVE-2026-12569, restringir el acceso a las interfaces de Windchill desde internet y comprobar los directorios de la aplicación en busca de archivos JSP desconocidos. Es conveniente buscar por separado archivos que mencionen X-windchill-req. Si la comprometida del servidor está confirmada o es probable, no basta con eliminar el web-shell. La contraseña del administrador LDAP y los demás secretos del almacén de claves de Windchill deben considerarse robados y reemplazarse, incluidos los credenciales que se reutilizan en otros servidores y en bases de datos.