Атака на KnowledgeDeliver: общие ключи ASP.NET открыли путь для удалённого выполнения кода

security

В конце 2025 года специалисты Mandiant отреагировали на инцидент, связанный с компрометацией веб-сервера, на котором работала система управления обучением KnowledgeDeliver, разработанная компанией Digital Knowledge. Эта платформа широко используется в Японии, поэтому атака затронула множество учебных заведений и корпоративных клиентов. Эксперты выявили критическую уязвимость, которая позволяла неаутентифицированному удалённому выполнению кода. Неизвестный злоумышленник использовал этот доступ, чтобы внедрить вредоносный код в платформу, заражая посетителей сайта.

Описание

Проблема кроется в том, что во многих инсталляциях KnowledgeDeliver применялись одинаковые предварительно заданные ключи ASP.NET machineKey, используемые для шифрования и подписи данных. Уязвимость, получившая идентификатор CVE-2026-5426, изначально эксплуатировалась как zero-day, то есть до выпуска исправлений. Атакующий мог подделать ViewState - механизм, сохраняющий состояние страницы между запросами. Зная machineKey, он отправлял вредоносную полезную нагрузку в параметре __VIEWSTATE, заставляя сервер десериализовать её. Это техника аналогична ранее описанным атакам на Sitecore и массовым атакам с использованием раскрытых ключей ASP.NET.

Mandiant в своём отчёте подробно разобрала цепочку действий злоумышленника. После получения начального доступа он развернул в памяти веб-шелл BLUEBEAM (также известный как Godzilla), работающий внутри процесса IIS w3wp.exe. Такой подход затрудняет обнаружение традиционными антивирусами, ведь вредоносный код не сохраняется на диске. Затем хакер изменил права доступа к каталогу веб-приложения с помощью утилиты icacls, предоставив группе "Все" полный контроль. После этого он модифицировал один из JavaScript-файлов платформы. Внедрённый код показывал пользователям поддельное уведомление безопасности, предлагая установить "плагин для проверки подлинности", и одновременно незаметно загружал удалённый вредоносный скрипт с контролируемого злоумышленником домена.

Жертвы, следуя инструкциям на экране, скачивали фальшивый установщик. Он заражал их рабочие станции бэкдором Cobalt Strike BEACON. Полезная нагрузка была зашифрована с использованием ключа, в который входило название скомпрометированной организации. Это говорит о том, что атакующий готовил атаку адресно, под конкретную цель. Таким образом, одна уязвимость привела к цепной реакции: от компрометации сервера до заражения десятков пользовательских машин.

Эксперты подчёркивают: основная причина - использование одинаковых machineKey в разных установках. Производитель Digital Knowledge поставлял шаблон web.config с жёстко заданными значениями, и многие организации не меняли их. Если ключи становились известны из одной инсталляции (например, после утечки), под угрозой оказывались все остальные публичные экземпляры KnowledgeDeliver. После обнаружения атаки, по данным Mandiant, компания-разработчик выпустила обновление 24 февраля 2026 года, сменив machineKey, но организации, не применившие патч, остаются уязвимыми.

Какие выводы можно сделать для специалистов по информационной безопасности? Прежде всего, необходимо немедленно сгенерировать уникальные криптостойкие machineKey для каждого экземпляра LMS. Это единственный способ исключить использование общего секрета. Кроме того, стоит ограничить доступ к системе управления обучением только доверенными IP-адресами (VPN или корпоративная сеть). Мониторинг событий приложения Windows - ключевой элемент обнаружения: событие с кодом 1316 от источника ASP.NET может указывать на попытку десериализации ViewState. Если integrity check не пройден, это атака с неверным ключом. Если проверка пройдена, но ViewState признан недействительным, это значит, что попытка десериализации могла быть успешной. Также важно отслеживать необычные дочерние процессы w3wp.exe (запуск cmd.exe, whoami, powershell.exe) и внезапные изменения в файлах JavaScript, ASPX или конфигурации внутри корня веб-сервера.

Инцидент с KnowledgeDeliver - яркий пример того, как один устаревший шаблон конфигурации может поставить под удар целую экосистему. Специалистам по безопасности стоит воспринимать эту историю как предупреждение: даже считанные байты в web.config способны привести к масштабной утечке данных и заражению вредоносным ПО. Уникальные секреты, своевременное обновление и внимательный мониторинг - три опоры, которые помогут избежать подобных последствий.

Индикаторы компрометации

SHA256

  • 7c1f99dca8e5a7897892f9d224a6495023a2cfd2671697d229d355978c415ed2

Комментарии: 0