Аналитики информационной безопасности обнаружили свежую волну атак с применением известного модульного удалённого трояна PlugX (также известного как KorPlug). Злоумышленники используют подписанный установщик MSI, который маскируется под продукт корпорации Microsoft, и внедряют вредоносную нагрузку через механизм подмены DLL-библиотек. Эта кампания представляет угрозу для государственных учреждений, оборонных предприятий, технологических и медицинских организаций - именно те сектора, где PlugX ранее проявлял себя наиболее активно.
Описание
PlugX - это модульный троян удалённого доступа, впервые задокументированный около 2008 года. За прошедшие полтора десятилетия его неоднократно использовали китайские APT-группировки (целевые постоянные угрозы), такие как APT41, APT10 и Mustang Panda. Отличительной чертой PlugX всегда был метод доставки через подмену DLL-библиотек: злоумышленники упаковывают легитимный исполняемый файл с цифровой подписью вместе с поддельной DLL, которая имеет то же имя, что и импортируемая легитимной программой библиотека. Windows загружает вредоносную DLL из папки приложения раньше, чем из системных каталогов, поэтому код выполняется под прикрытием доверенного процесса.
В ходе анализа новой кампании специалисты обнаружили установочный пакет MSI, в котором поле "Автор" подделано под "Microsoft Corporation", а дата создания файла указана как май 2026 года. Внутри установщик содержит три файла со случайными именами без расширений. После извлечения они переименовываются: легитимный исполняемый файл AVKTray.exe от антивирусного продукта G DATA, вредоносная библиотека AVK.dll и зашифрованный контейнер с полезной нагрузкой AVKTray.dat. Именно AVK.dll играет ключевую роль: легитимный AVKTray.exe импортирует функцию ModuleMain из AVK.dll, и злоумышленники подменяют оригинальную библиотеку своей собственной.
Вредоносная DLL размером всего 5,6 килобайта технически является самой сложной частью цепочки. Она использует динамическое разрешение API через обход списка загруженных модулей в структуре PEB (блок среды процесса) и вычисляет хеши имён модулей и функций по алгоритму djb2. Это позволяет скрывать обращения к системным функциям от статического анализа. После загрузки библиотека расшифровывает путь к файлу AVKTray.dat, открывает его и считывает содержимое в буфер памяти. Затем она меняет защиту памяти на исполняемую и регистрирует этот буфер как callback-функцию системного пула потоков через вызов RtlRegisterWait. Данная техника (T1055) позволяет выполнить вредоносный код из контекста рабочего потока ntdll.dll, что менее заметно для систем обнаружения, чем прямой запуск потока через CreateThread.
Сам контейнер AVKTray.dat - это двухслойная структура: начальный загрузчик, а затем DLL, зашифрованная простым XOR-ключом (0xA8). После расшифровки получается рефлексивная DLL размером более 600 килобайт. Она экспортирует одну функцию со случайным именем cuxHeaSmzkjm, которая при вызове выполняет рефлексивную загрузку копии самой себя в память: разрешает импорты, применяет релокации, устанавливает защиту и вызывает DllMain. Такой подход позволяет избежать записи DLL на диск и снижает вероятность обнаружения файловыми сканерами.
Конфигурация PlugX хранится внутри тела DLL в зашифрованном с помощью RC4 виде. После расшифровки становятся доступны ключевые параметры: адрес сервера управления (C2) dalerocks.com:443, запасной порт 5000, интервал опроса 60 секунд, а также ключевой материал для RC4. Для проверки доступности сети троян использует обращение к www.bing.com:443. Весь сетевой трафик строится на WinHTTP: используется метод POST, заголовок Content-Type: application/octet-stream и User-Agent, имитирующий браузер Chrome. Такой подход помогает маскировать активность под обычный веб-трафик.
Для закрепления в системе PlugX создаёт запись в реестре: ключ автозапуска HKCU\Software\Microsoft\Windows\CurrentVersion\Run с именем "G Data". Путь к ключу записывается в закодированном виде и расшифровывается непосредственно перед записью, что затрудняет статический анализ. Кроме того, DLL модифицирует ветки реестра, связанные с COM-объектами (Software\CLASSES\ms-pu). Троян также извлекает из своего тела и открывает на экране обманный документ - текстовый файл с именем "TIN BUỒN.docx" (на вьетнамском языке, что может указывать на целевые атаки на вьетнамские организации). Этот документ служит прикрытием: жертва видит открывшийся файл, в то время как в фоне выполняется вредоносный код.
Дополнительно в библиотеке обнаружены вспомогательные функции для запуска процессов (ShellExecuteW, cmd.exe), работы с легитимными инструментами Windows (LOLBin pcalua), завершения процессов (taskkill, TerminateProcess) и очистки следов с использованием задержки ping 127.0.0.1 -n 5. Эти элементы указывают на то, что кампания рассчитана на долговременное присутствие в системе и содержит механизмы защиты от обнаружения.
Особую тревогу вызывает то, что данная атака полностью работоспособна на современных версиях Windows. Использование легитимного антивирусного бинарного файла с цифровой подписью G DATA в качестве загрузчика даёт атакующим дополнительный уровень доверия: система и средства защиты обычно не блокируют подписанные исполняемые файлы. Метод подмены DLL через импорт библиотеки по-прежнему эффективен, поскольку Windows по умолчанию ищет DLL в папке приложения.
Хотя кампания не демонстрирует принципиально новых технических приёмов, она объединяет в одной цепочке несколько проверенных тактик: установщик MSI с поддельной подписью, подмена DLL, шифрование на нескольких этапах, выполнение через пул потоков, рефлексивная загрузка и скрытие конфигурации. Это делает её сложной для автоматического анализа и требует от специалистов по безопасности ручной разборки каждого этапа.
На данный момент известно, что сервер управления dalerocks[.]com активен и использует стандартный порт 443. Организациям, работающим с критической инфраструктурой, рекомендуется усилить контроль за запуском подписанных исполняемых файлов, особенно из нестандартных каталогов, и внедрить правила мониторинга вызовов RtlRegisterWait в сочетании с созданием ключей автозапуска. Однако общего рецепта защиты не существует: лучший ответ - это сочетание обновлённых сигнатур, поведенческого анализа и своевременного обучения персонала.
Кампания с использованием PlugX вновь доказывает, что даже устаревшие, но проверенные временем методы остаются смертоносными. Техника подмены DLL не требует эксплуатации уязвимостей - она использует штатное поведение операционной системы. Пока разработчики не изменят порядок поиска библиотек, злоумышленники будут продолжать вкладывать легитимный код в свои цепочки атак.
Индикаторы компрометации
IPv4
- 104.21.81.33
- 172.67.137.209
Domains
- dalerocks.com
SHA256
- 1399a3c3567940678911262f45e8e6df4e08508deb44fca4fe47fc1f35b0faa5
- 91af8218c450d18ce231b2a2604f1fae68c825d04203fd312efc45263847ad5c