Mustang Panda применяет многослойное шифрование и подмену DLL в кампании PlugX

APT

Новый анализ раскрыл сложную цепочку заражения, характерную для группировки Mustang Panda и семейства вредоносных программ PlugX. Злоумышленники доставляют многоступенчатую сборку под видом безобидного обновления браузера, а для скрытного запуска применяют легитимный исполняемый файл известного антивируса. Подобные атаки представляют серьёзную угрозу для организаций и государственных структур, поскольку каждая ступень по отдельности почти не содержит очевидных признаков вредоносной активности, а полная картина раскрывается только при отслеживании всей последовательности действий.

Описание

Начальным этапом служит запуск программы Browser_Updater.exe, которая имитирует окно установки обновления с кнопками "Установить" и "Отмена". Файл снабжён действующей цифровой подписью некой китайской компании, что помогает обходить проверки репутации. При нажатии кнопки "Установить" троян выполняет запрос к удалённому серверу 45[.]251[.]243[.]210 для загрузки файла iis.jpg. Несмотря на имя, этот документ не содержит изображения, а представляет собой установочный MSI-пакет. Именно он распаковывает в скрытую папку три ключевых компонента: Avk.exe, Avk.dll и AVKTray.dat.

Центральным приёмом на этом этапе становится методика, известная как боковая загрузка DLL (DLL sideloading). Злоумышленники взяли оригинальный исполняемый файл антивируса G DATA (Avk.exe), не тронув его цифровую подпись. Когда система запускает этот легитимный процесс, он по стандартной логике загружает библиотеку Avk.dll из своего каталога. Однако вместо настоящей библиотеки там оказывается вредоносный загрузчик. Так код атакующих выполняется внутри процесса, которому традиционные средства защиты склонны доверять.

Библиотека Avk.dll выполняет роль промежуточного звена. Она не содержит явных строк с именами системных функций, а вычисляет их адреса по хешам, что затрудняет статический анализ. Её главная задача - прочитать, расшифровать и передать управление следующей ступени из файла AVKTray.dat. При этом запуск полезной нагрузки происходит не прямым вызовом, а через регистрацию функции обратного вызова в пуле потоков с помощью функции RtlRegisterWait. В результате стек вызовов при переходе к вредоносному коду указывает на системную библиотеку ntdll, а не на Avk.dll, что способно запутать средства обнаружения, отслеживающие подозрительные переходы исполнения.

Файл AVKTray.dat не является настоящим файлом данных. Его внутреннее содержимое - это зашифрованная полезная нагрузка без стандартного PE-заголовка, которая после расшифровки в памяти превращается в полноценный исполняемый модуль. Здесь применяется многослойная обфускация: сначала снимается слой XOR с ключом 0x63, затем в дело вступает функция-загрузчик, которая вручную отображает PE в память. Данный механизм называется ручным отображением (manual mapping). Он позволяет загрузить модуль в обход штатного загрузчика Windows, разрешить все необходимые зависимости и подготовить код к запуску, не создавая временных файлов на диске. Подобный подход прямо соответствует тактике обфускации файлов, но выводит скрытность на новый уровень, изолируя вредоносную логику в оперативной памяти.

После развёртывания финальный модуль приступает к закреплению в системе. При первом запуске он копирует всё ту же тройку файлов (Avk.exe, Avk.dll, AVKTray.dat) в папку %PUBLIC%\GData. Выбор имени каталога вновь обыгрывает легенду: G Data - это реальный поставщик оригинального Avk.exe, и нахождение программ в подобном каталоге может не вызвать немедленных подозрений у администратора. Далее в реестре создаётся ключ автозагрузки в разделе HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\G Data со значением "C:\Users\Public\GData\Avk.exe" 688 768. Числа 688 и 768 не несут функциональной нагрузки; это лишь заполнители, которые увеличивают количество аргументов командной строки до трёх. Когда пользователь входит в систему и происходит автозапуск, вредоносный код анализирует число аргументов и понимает, что это не первичная установка, а возврат к работе после перезагрузки. Такой трюк позволяет избежать повторного копирования файлов и корректно перейти в режим связи с командным центром.

Как показало недавнее детальное исследование образца, встроенные строки конфигурации, включая адрес управляющего сервера и мьютекс, дополнительно защищены двухслойным шифрованием. Сначала применяется RC4 с ключом VOphJo, а затем каждый текстовый блок раскодируется побайтовым оператором XOR. Извлечённая конфигурация раскрывает мьютекс aumhYjQIQ (для предотвращения запуска нескольких копий), а также указывает на командно-контрольный сервер (C2) fruitbrat[.]com:443. Связь с C2 устанавливается через WinHTTP с поддельным заголовком User-Agent, имитирующим современный браузер Edge, что позволяет маскировать вредоносный трафик под обычную веб-активность.

Финальный модуль предоставляет атакующим широкий набор возможностей для удалённого управления. Через команды с C2 можно загружать дополнительные исполняемые файлы и запускать их, собирать информацию о системе и пользователе, осуществлять навигацию по файловой системе, передавать файлы, а также получать вывод консольных команд. Отдельный интерес представляет наличие заглушек для загрузки внешних плагинов - классическая черта архитектуры PlugX, позволяющая наращивать функциональность уже после первичного заражения.

Для специалистов по информационной безопасности данная атака служит важным напоминанием: полагаться исключительно на индикаторы компрометации (IoC) вроде конкретных хешей файлов или доменных имён недостаточно. Злоумышленники активно меняют ключи шифрования, имена мьютексов и адреса серверов, что подтверждается и недавним обнаружением похожего варианта, нацеленного на пользователей во Вьетнаме. Там при аналогичной структуре использовался уже другой ключ RC4, иной мьютекс и управляющий сервер dalerocks[.]com, а также добавлялся отвлекающий документ-приманка на вьетнамском языке. Поэтому наиболее надёжная стратегия защиты заключается в детектировании аномальных поведенческих цепочек: подозрительная связка легитимной программы с неверифицированной библиотекой, выделение памяти с правами на исполнение для файла данных, передача управления через пул потоков ntdll и последующее создание ключей автозапуска. Мониторинг подобных последовательностей позволит выявлять даже те образцы, которые ещё не попали в базы антивирусных сигнатур.

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

Domain Port Combinations

  • fruitbrat.com:443

URLs

  • 45.251.243.210/iis.jpg

SHA256

  • 4cd81d26289c4d8383a0ffa34397f0b03941554eac04f1b420269b831accf90e
  • b52c484a3cc383dd3b4dc79c207946b603a810edf74bff76dca7ad29d4de4167
  • d4bc21e12360af2f2cb55872a90b62805150d498c452b2b1c6a05a806cbb3187

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