Новый бэкдор Mustang Panda маскируется под SolidPDF и использует сложное многоэтапное шифрование

APT

Специалисты по информационной безопасности зафиксировали новую кампанию группировки Mustang Panda, в рамках которой злоумышленники распространяют вредоносную DLL под видом легитимного продукта SolidPDF Creator. Данный образец представляет собой многоступенчатый бэкдор с продвинутой системой закрепления в системе и многослойной обфускацией полезной нагрузки. Целью атаки являются организации, чьи сотрудники могут открыть фишинговое письмо с вложенным ZIP-архивом.

Описание

Согласно данным анализа образца, начальным вектором инфицирования служит целевой фишинг (spear-phishing). Пользователь получает архив с именем "Письмо Его Превосходительству Президенту", внутри которого находится папка с исполняемым файлом, маскирующимся под документ. Исполняемый файл имеет двойное расширение, а при стандартных настройках Windows скрытие известных расширений делает его похожим на обычное письмо. При запуске этот файл загружает вредоносную библиотеку SolidPDFCreator.dll из той же папки, используя технику подмены библиотек (DLL side-loading). Фактически исполняемый файл легитимен и обычно является частью настоящего SolidPDF Creator, но злоумышленники распространяют его вместе с собственной вредоносной DLL.

Вредоносная DLL имеет экспорт с именем GetSPApp, который вызывается загрузчиком сразу после запуска. Реализованная в этой функции логика выполняет тройное ветвление в зависимости от того, откуда запущена библиотека. Если DLL находится в каталоге C:\ProgramData\IDM\logs, то она считает себя уже установленной и переходит к выполнению зашифрованного шелл-кода. Если же DLL запускается из другого места (например, из папки Загрузки), то она копирует себя и загрузчик в указанный каталог, создаёт вложенную структуру папок, а затем регистрирует задачу в планировщике Windows под названием MediumNetMonIt. Задача настроена на ежедневный запуск с правами системы (NT AUTHORITY\SYSTEM). Таким образом, после первой установки на каждом последующем входе в систему бэкдор автоматически активируется.

Механизм проверки местоположения выполняется дважды подряд. Это сделано для защиты от попыток инъекции в процесс со стороны средств защиты: если между двумя вызовами путь изменится (например, антивирус подменит значение), программа корректно завершится без выполнения вредоносного кода.

После того как DLL оказывается в постоянном каталоге, вызывается функция построения шелл-кода. Шелл-код изначально зашифрован в теле DLL в виде 186 блоков по 187 байт каждый. Алгоритм расшифровки каждого блока включает побайтовое XOR с циклическим ключом длиной 34 символа (маскируется по 32 байтам), а затем четырёхпроходное обращение порядка байтов, которое в итоге сводится к однократному реверсу всего блока. Последний, 187-й блок длиной 34 байта является "хвостом", который при расшифровке ключом даёт все нули - это приём для сокрытия истинного размера полезной нагрузки. Полученный расшифрованный массив размером около 34 килобайт затем копируется в выделенную область памяти, которая с помощью VirtualProtect становится исполняемой (RWX - чтение, запись, исполнение). Управление передаётся на смещение 0xD0 от начала массива через вызов EnumSystemLocalesA - штатной функции Windows, принимающей в качестве аргумента указатель на callback-функцию. Такой обходной манёвр позволяет обойти многие средства мониторинга памяти, так как вызов выглядит легитимным.

Внутри расшифрованного шелл-кода аналитики обнаружили 54 внутренние функции и процедуру разрешения API-имен через хеширование (в частности, хеш 0x72ABEDD7, характерный для ROR-13). Шелл-код выполняет обход PEB (Process Environment Block) для поиска импортируемых функций. После завершения этих подготовительных этапов управление передаётся второй стадии, которая, по оценкам экспертов, может быть C2-беаконом или модулем для загрузки дополнительных компонентов.

С точки зрения MITRE ATT&CK, данный образец использует тактику закрепления через запланированные задачи (T1053) и подмену библиотек (T1574.002). Обфускация данных (T1027) реализована через многослойное XOR-шифрование с реверсом. Обход песочницы (T1497) обеспечивается двойной проверкой пути установки. Выполнение кода в памяти через EnumSystemLocalesA (T1055.001) позволяет скрыть активность от эвристик.

Последствия такой атаки включают полную компрометацию системы: злоумышленник получает контроль с правами системы, может выполнять команды, похищать данные и использовать инфицированный хост как точку входа в корпоративную сеть. При этом вредонос не имеет встроенного механизма удаления, поэтому для очистки требуется вручную удалить файлы из C:\ProgramData\IDM\logs, отменить запланированную задачу MediumNetMonIt и уничтожить именованный объект события uydgcfteionxcfd.

Стоит отметить, что группировка Mustang Panda уже не первый год использует подобные цепочки атак с подделкой легитимных продуктов и многоэтапной обфускацией. Применение двойного расширения в имени файла и подмена библиотек остаются излюбленными приёмами этой группы. Для защиты организаций рекомендуется блокировать создание новых задач планировщика с нехарактерными именами, а также отслеживать появление файлов в папке IDM внутри ProgramData, так как это расположение не является стандартным для настоящего Internet Download Manager.

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

MD5

  • 8cb0c9f7871834ee23e9d55a0fe7c0e6

SHA1

  • 2643a8e6a37f839e0cfedda3de836365948fb760

SHA256

  • 6c8784885506b0fa3b0543be3c5caec1a4b3c689331d1012847505c61440b2be

YARA

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