Clop выбрала следующую жертву — PTC Windchill. И снова написала под неё персональный веб-шелл

Схема та же, инструмент — новый.


2vj9j9lqrq4v7oky7ffgp52hfpf90n3n.jpg

Группировка Clop , вероятно, использует специальный веб-шелл для кражи данных с серверов PTC Windchill и FlexPLM. Вредоносная программа рассчитана именно на внутреннее устройство Windchill: подключается к базе данных штатными средствами приложения, расшифровывает сохранённые учётные данные, находит документы в файловых хранилищах, скачивает их и запускает дополнительный Java-код внутри процесса Windchill. ReliaQuest обнаружила инструмент при расследовании атак, где злоумышленники, предположительно, проникали на серверы через критическую уязвимость CVE-2026-12569 .

CVE-2026-12569 позволяет удалённо выполнить код в уязвимых версиях Windchill и FlexPLM без предварительной авторизации. PTC выпустила исправления для затронутых систем в июне, а 25 июня американское агентство CISA внесло уязвимость в каталог Known Exploited Vulnerabilities, куда попадают бреши с подтверждённой эксплуатацией в реальных атаках. Федеральным ведомствам США предписали установить исправления в течение трёх дней.

В июле появились сведения об атаках на доступные из интернета серверы Windchill и FlexPLM. После эксплуатации CVE-2026-12569 злоумышленники размещали на них веб-шеллы в формате JSP, то есть серверные Java-страницы, через которые можно удалённо выполнять команды и обращаться к данным приложения. Первоначально связь кампании с Clop оставалась неподтверждённой, однако позднее появилось несколько совпадающих признаков. В письмах с требованиями выкупа использовались контактные адреса с сайта утечек Clop, а в сетевых запросах встречался HTTP-заголовок X-windchill-req, который применяется и найденным веб-шеллом. Характер атаки также совпадает с прежней практикой группировки: массово взломать один широко распространённый корпоративный продукт, похитить данные и затем требовать деньги у пострадавших организаций.

Clop уже неоднократно выбирала программные платформы, через которые компании хранят или передают большие объёмы документов. В предыдущих кампаниях группировка использовала уязвимости Accellion FTA, GoAnywhere MFT, SolarWinds Serv-U, Cleo и MOVEit Transfer . Для некоторых атак Clop заранее готовила отдельные веб-шеллы под конкретный продукт. После взлома Accellion FTA применялся DEWMODE, а при эксплуатации MOVEit Transfer злоумышленники использовали LEMURLOOT. Новый инструмент для Windchill продолжает ту же схему, но его разработчики глубже задействовали внутренние механизмы приложения.

Веб-шелл написан на JavaServer Pages и напрямую импортирует классы Windchill MethodContext, WTConnection и WTKeyStoreUtil. Через них вредоносная программа обращается к базе данных, хранилищу ключей и другим компонентам приложения без отдельных внешних утилит. Разработчикам пришлось разобраться во внутренних API Windchill, структуре базы данных, способе хранения зашифрованных параметров и организации файловых хранилищ. Универсальный веб-шелл подобных знаний не содержит.

Подключение к базе данных заслуживает особого внимания. Вредоносная программа использует классы MethodContext и WTConnection, поэтому запросы выполняются от имени уже работающего приложения, а не через созданную злоумышленниками учётную запись. В журналах базы данных вредоносные операции могут поэтому связываться с обычной служебной учётной записью Windchill. Средства защиты, которые ищут прежде всего новые учётные записи или соединения с незнакомых узлов, рискуют не заметить часть активности.

Для управления веб-шеллом злоумышленники используют собственный протокол через HTTP-заголовок X-windchill-req. Управляющая последовательность содержит восемь символов. Первый символ обозначает команду, оставшиеся семь должны совпасть с заранее заданным значением. Дополнительные параметры передаются через заголовок X-windchill-prm. Такой механизм позволяет отдавать вредоносной программе команды обычными HTTP-запросами.

Команда S извлекает секреты Windchill. Веб-шелл читает конфигурационный файл ieStructProperties.txt, обращается к хранилищу ключей приложения и вызывает штатную функцию WTKeyStoreUtil.decryptProperty(). Через неё программа расшифровывает пароль учётной записи администратора LDAP и другие защищённые значения, которые Windchill хранит в зашифрованном виде. ReliaQuest установила, что результат возвращается оператору уже открытым текстом.

Команда L помогает быстро разобраться, какие файлы находятся на сервере. Веб-шелл делает запросы к базе Windchill и получает имена документов, размеры и пути к физическому хранилищу. При анализе обнаружились обращения к таблицам ApplicationData, FVITEM, FVMOUNT и MasteredOnReplicaItem. Собранный перечень сохраняется в файл flst.txt. После этого оператор может скачать каталог и выбрать конкретные документы для кражи.

Команды D и G дают доступ непосредственно к файлам. D перечисляет содержимое указанного каталога и позволяет читать части файлов, а G возвращает содержимое выбранного файла. Команда R удаляет указанный объект. Оператор получает возможность сначала составить перечень данных через базу Windchill, а затем извлечь нужные документы непосредственно из файловой системы.

Наиболее широкие возможности даёт команда J. Веб-шелл принимает ZIP-архив в кодировке Base64 с заранее скомпилированными Java-классами, загружает содержащийся в нём байт-код в память и запускает внутри процесса Windchill. Дополнительный исполняемый файл при таком способе необязательно сохранять на диск. Оператор может расширять возможности уже установленного веб-шелла, загружая собственные Java-модули для дальнейшего доступа к сети, закрепления в инфраструктуре или других действий. ReliaQuest также указывает, что тот же механизм технически позволяет запускать код для шифрования данных.

Ещё две команды выполняют служебные функции. O сообщает название операционной системы сервера. E возвращает данные, переданные через X-windchill-prm, и позволяет проверить, отвечает ли веб-шелл на запросы.

Главное отличие найденного инструмента от обычной командной оболочки заключается в готовом наборе функций именно для Windchill. После установки оператору не нужно вручную искать конфигурационные файлы, выяснять структуру базы, определять расположение документов или разбираться со способом расшифровки секретов. Веб-шелл получает необходимые сведения через внутренние механизмы приложения и может начать кражу учётных данных и файлов сразу после запуска. ReliaQuest описывает его как специализированную платформу для вымогательских атак, которой не нужны дополнительные инструменты для первоначального сбора данных.

Windchill используют для управления жизненным циклом продукции и хранения связанных с разработкой материалов, включая инженерные данные и проектную документацию. Поэтому доступ к файловым хранилищам способен дать атакующим ценные корпоративные сведения, а украденные пароли увеличивают ущерб. Если полученные учётные данные используются и в других системах организации, злоумышленники могут попытаться выйти за пределы взломанного сервера.

ReliaQuest рекомендует немедленно установить исправления PTC для CVE-2026-12569, ограничить доступ к интерфейсам Windchill из интернета и проверить каталоги приложения на неизвестные JSP-файлы. Отдельно стоит искать файлы с упоминанием X-windchill-req. Если компрометация сервера подтверждена или вероятна, удалением веб-шелла ограничиваться нельзя. Пароль администратора LDAP и остальные секреты из хранилища ключей Windchill следует считать похищенными и заменить, включая учётные данные, которые повторно используются на других серверах и в базах данных.