Киберпреступная группировка HoneyMyte (также называемая Mustang Panda) развернула новую версию вредоноса CoolClient в сочетании с цифрово подписанным драйвером операционной системы Windows. Этот драйвер маскирует вредоносные приложения, файлы, записи реестра и данные о подключениях к командным серверам, а также препятствует удалению или модификации защищённых компонентов. Инфицированные компьютеры обнаружены в Мьянме, Монголии, Пакистане и России, включая государственные учреждения.
Вредонос CoolClient обладает функцией логирования клавиатурного ввода, копирования буфера обмена, кража учётных данных, управление файлами и сбор системной информации. Функциональность расширяется через модули. Новая версия получила дополнительный уровень защиты: независимый драйвер работает в ядре Windows и имеет доступ к системным механизмам, недоступным обычным приложениям.
Драйвер устанавливается только при наличии соответствующих прав доступа. CoolClient проверяет полные права на контроллер услуг Windows и привилегию SeTcbPrivilege. Эта привилегия позволяет процессу функционировать как часть операционной системы. При отсутствии требуемых прав вредонос пропускает установку драйвера и сразу запускает конечный компонент бэкдора.
При атаках на организации в Мьянме злоумышленники применяли PlugX, добавляя исключения в Microsoft Defender для поддельного каталога Windows Defender и переименованного исполняемого файла. Затем в этот каталог копировались компоненты CoolClient.
Для запуска использовалась переименованная в defender.exe легальная программа Sangfor. Рядом находилась вредоносная библиотека libngs.dll. При загрузке программа Sangfor загружала библиотеку из собственного каталога, что приводило к выполнению вредоносного кода. Этот метод называют подменой загрузки DLL.
Библиотека libngs.dll расшифровывает следующий компонент loadcert.ini и передаёт ему управление. Несмотря на расширение .ini, файл содержит исполняемый код вредоноса. loadcert.ini обеспечивает сохранение CoolClient в системе, модификацию реестра, обход контроля учётных записей, внедрение кода в другие процессы, установку драйвера и запуск конечного компонента cert.ini, отвечающего за связь с командными серверами.
Для автозагрузки loadcert.ini создаёт запись goopdate в разделе автозагрузки реестра. Вредонос может также зарегистрировать службу Windows с именем media_updaten. Перед внедрением кода CoolClient пытается повысить привилегии и запуститься в более подходящем системном контексте.
Используется удалённый вызов процедур RPC с подменой идентификатора родительского процесса (PPID spoofing). Windows сохраняет информацию о процессе-родителе, и CoolClient подделывает эти данные так, чтобы новый процесс выглядел потомком другой программы. После получения повышенных прав вредонос внедряет код в процесс synchost.exe.
Если система предоставляет необходимые привилегии, loadcert.ini извлекает драйвер ядра из собственного тела, сжатый алгоритмом LZMA. Файл сохраняется как msagent.sys, создаётся соответствующая служба и запускается.
Файл msagent.sys подписан цифровым сертификатом компании Nanjing Ranyi Technology Co., Ltd., действовавшим с августа 2013 по сентябрь 2014 года. С тем же сертификатом найдены старые вредоносные драйверы 2013 года, но прямой связи между ними и текущими атаками CoolClient не установлено.
После загрузки драйвер принимает команды от пользовательской части CoolClient через запросы IOCTL. В исследованном образце использовались три основных запроса.
Запрос 0x222120 регистрирует процесс CoolClient как доверенный, разрешая ему полный доступ к собственным компонентам, даже когда msagent.sys их скрывает или защищает.
Запрос 0x2221E0 передаёт IPv4-адрес командного сервера, используемый драйвером при фильтрации сетевой информации Windows.
Запрос 0x2220F0 сообщает пути к файлам и разделам реестра для защиты. После регистрации другие программы могут потерять возможность просматривать, изменять или удалять эти объекты.
Параметры маскировки msagent.sys хранит в ветке реестра \REGISTRY\MACHINE\SYSTEM\RNG. Для каталогов, файлов, ключей реестра и процессов предусмотрены отдельные настройки.
Для контроля системы драйвер регистрирует обработчики файловой системы, реестра, процессов и загрузки исполняемых модулей. Когда Windows выполняет операцию с защищённым объектом, msagent.sys может изменить результат или заблокировать действие.
При защите процессов драйвер ограничивает права, получаемые при открытии дескриптора защищённого процесса, предотвращая завершение процесса или внедрение кода. В исследованной атаке защищался процесс synchost.exe с внедрённым кодом CoolClient.
Драйвер может полностью скрывать процессы, удаляя их записи из системного списка активных процессов Windows. Код продолжает работать, однако программы не видят скрытые записи.
Файлы и каталоги защищаются через мини-фильтр файловой системы Windows, перехватывающий обращения и возвращающий отказ в доступе. Даже если известен точный путь к файлу, операции завершатся ошибкой.
Аналогичная схема используется для реестра. Драйвер регистрирует обработчик, вмешивающийся в запросы к защищённым ключам. При перечислении содержимого раздела msagent.sys удаляет нужные записи из результатов, поэтому системные утилиты получают неполный список.
Для скрытия соединений с командным сервером руткит вмешивается в работу драйвера Windows Nsiproxy. msagent.sys фильтрует IPv4-адрес командного сервера из результатов, поэтому некоторые инструменты мониторинга могут не показать соответствующее соединение.
Всего в msagent.sys обнаружено 33 обработчика IOCTL. Драйвер содержит функции скрытия процессов и модулей ядра, модификации реестра и работы с системными уведомлениями. В исследованном образце использовались только три команды.
Обнаруженные образцы msagent.sys имеют хеши 2d7c8780e97409770a9d4f31c66c9d63 и 9460E150E1981D5C165043520c5c12fe. Для libngs.dll указаны хеши 9717f005c5fb98e08d2ad983d88f94ee и F518D8E5FE70D9090F6280C68A95998F.
HoneyMyte использовала руткиты ядра и ранее. В январе 2026 года описана другая версия CoolClient против целей в Пакистане и Мьянме. В декабре 2025 года группировка также использовала руткит ядра для загрузки бэкдора ToneShell.
Текущий драйвер CoolClient устроен похоже на компонент ToneShell, но msagent.sys имеет собственный набор IOCTL-команд для прямого взаимодействия с пользовательской частью бэкдора. CoolClient самостоятельно указывает драйверу, какой процесс считать доверенным, какие файлы защищать и какой адрес командного сервера скрывать.
