Mustang Panda: многослойная цепочка заражения с полиморфным загрузчиком и развитой системой плагинов

APT

Группировка Mustang Panda, известная своими атаками на государственные и дипломатические структуры, вновь привлекла внимание исследователей. В этот раз они проанализировали не просто очередной вариант вредоносного ПО, а тщательно выстроенную цепочку заражения, каждый этап которой маскируется под легитимные действия системы. Особый интерес вызывает использование сразу нескольких техник обфускации, включая полиморфный shellcode-генератор, который затрудняет сигнатурное обнаружение.

Описание

Входной точкой служит файл ярлыка с именем, имитирующим PDF-документ. Вместо открытия файла он запускает сложную команду через rundll32 и conhost.exe с параметром --headless. Такой обходной манёвр преследует несколько целей: скрыть консольное окно, усложнить чтение дерева процессов и придать цепочке более "родной" для Windows вид. Команда загружает с удалённого сервера файл, который оказывается CHM-архивом (компилированный HTML-файл справки). Как рассказали аналитики в своём отчёте, использование CHM позволяет доставить несколько компонентов без подозрительных скриптов или сторонних распаковщиков. После распаковки система получает три элемента: документ-приманку, заархивированную полезную нагрузку и новый ярлык‑установщик.

Установщик (второй LNK-файл) открывает документ‑приманку, чтобы отвлечь пользователя, а затем с помощью встроенной утилиты Windows tar.exe распаковывает архив в папку %APPDATA%\BaiduNetdisk. В этой папке лежит подписанный исполняемый файл ShellFolder.exe, вредоносная библиотека ShellFolderDepend.dll и зашифрованный файл Shelter.ex. Так реализуется техника DLL-подмена (sideloading): легитимный процесс загружает зловредную DLL, которая выполняет всю дальнейшую работу. Функция RigsterHook из этой DLL расшифровывает строки, проверяет окружение, прописывает себя в автозагрузку под видом службы BaiduNetdisk, а затем запускает скрытый процесс, читает Shelter.ex и дешифрует его с помощью функции SystemFunction033.

Shelter.ex оказывается не конечной нагрузкой, а загрузчиком, написанным в виде shellcode. Этот код самостоятельно подгружает минимальный набор API из kernel32 и ntdll, выделяет память, распаковывает следующий слой с использованием RtlDecompressBuffer и вручную отображает PE-образ в память. При этом применяется алгоритм рандомизации байт, который меняет сигнатуру на каждом экземпляре. Исследователи отмечают, что данный этап напоминает полноценный полиморфный движок: он генерирует случайные инструкции, вставляет мусорные байты и обёртки с переходами, чтобы затруднить статический и динамический анализ.

После ручного отображения в память управление передаётся модулю, который исследователи идентифицировали как PlugX - известный бэкдор, используемый, в том числе, китайскими APT-группировками. При старте модуль получает указатель на небольшой контекстный блок, в котором содержится адрес зашифрованного конфигурационного блоба и его размер. Конфиг размером 0x1858 байт проходит двойное шифрование: сначала внешнее XOR-преобразование, затем RC4 с ключом qwedfgx202211 для каждого поля. Анализ по шаблону использования API позволил восстановить структуру конфига: там и адреса командных серверов, и пути для закрепления, и имена служб, и ключи шифрования трафика.

Инфраструктура связи с командным центром (C2) поддерживает сразу четыре протокола: HTTP/HTTPS, чистый TCP, UDP поверх порта 53 и DNS-туннелирование. Последний канал особенно интересен с точки зрения скрытности: данные упаковываются в поддомены DNS-запросов, что позволяет обходить фильтрацию, если обычный HTTP заблокирован. Весь трафик дополнительно сжимается, шифруется RC4 и оборачивается в пакеты с магической сигнатурой 0x20200208, что служит чётким индикатором для тех, кто может перехватывать сетевые потоки.

Внутренняя архитектура вредоноса предусматривает гибкую систему плагинов. Среди них - диспетчер файлов, кейлоггер, средство удалённого рабочего стола, захват экрана, управление службами, реестром, процессами, а также работа с базами данных через ODBC и интерактивная командная оболочка по именованному каналу. Наличие ODBC-модуля указывает, что операторы нацелены не только на фрагменты файловой системы, но и на информацию, хранящуюся в корпоративных базах данных.

Сравнение с более простыми вариантами PlugX показывает, что данная модификация рассчитана на долгосрочное присутствие в сетях с высоким уровнем защиты. Длинная многоступенчатая цепочка загрузки, использование только подписанных или системных компонентов, полиморфизм shellcode и мультипротокольная связь делают обнаружение и анализ этого образца значительно более трудоёмкими. Исследователи подчёркивают, что такой уровень проработки свидетельствует о серьёзных ресурсах группы и её целенаправленной активности.

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

IPv4 Port Combinations

  • 91.193.17.117:443

URLs

  • www.360printsol.com/2026/alfadhalah/thumbnail?img=index.png

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