Многоэтапное ВПО использует Python и Donut в цепочке загрузки

Вредоносное программное обеспечение использует многоэтапную цепочку загрузки, в которую входят обфусцированный байт-код Python, выполнение шеллкода, полезная нагрузка, сгенерированная Donut, загрузчик на основе PE-файлов laZzzy и зашифрованные ресурсы .NET. Исходный файл имеет формат модуля CPython 3.13 с расширением .pyc.

Расшифровка начальных этапов

После деобфускации в восстановленном коде Python обнаруживается блок шеллкода. Он зашифрован алгоритмом RC4 и закодирован в Base64. Скрипт декодирует этот блок, расшифровывает его, копирует в исполняемую память и передаёт ему управление.

Первый этап шеллкода сгенерирован с помощью Donut. Этот инструмент упаковывает исполняемые файлы или сборки .NET в позиционно-независимый шеллкод для архитектуры x86-64. Вместе с полезной нагрузкой Donut встраивает метаданные и модуль. Извлечение этих компонентов позволяет получить следующий исполняемый этап.

Следующий этап использует загрузчик шеллкода laZzzy. В отличие от позиционно-независимого шеллкода, он формирует полный исполняемый файл Windows в формате PE. Встроенный шеллкод laZzzy хранит с применением шифрования AES-CBC и последующего преобразования XOR.

Во время выполнения PE-заглушка laZzzy расшифровывает полезную нагрузку и выполняет её с помощью инъекции в текущий или удалённый процесс.

Статическое извлечение и загрузка .NET-модуля

Для статического извлечения исследователи идентифицировали скомпилированную подпрограмму расшифровки AES-CBC по сигнатуре паттерна инструкций. Затем они разрешили RIP-относительные ссылки, чтобы определить ключ AES, вектор инициализации, шифртекст и размер полезной нагрузки. После этого операции AES и XOR воспроизвели в автономном режиме.

Такой подход не требует отладки, эмуляции или выполнения кода. Восстановленный шеллкод содержит второй слой Donut. Его расшифровка и извлечение дают ещё одну пару метаданных и модуля. В этом случае модулем служит встроенная DLL для .NET.

DLL можно декомпилировать стандартными инструментами анализа .NET. Её ресурсы также зашифрованы. Вредоносное программное обеспечение разбирает эти ресурсы, загружает выбранные секции в память в виде шеллкода и передаёт им управление.

Отчет получен из сервиса CTT Report Hub. Права на отчет принадлежат его владельцу.

Ознакомиться подробнее с отчетом можно по ссылке.

Технологии киберугроз
Автор: Технологии киберугроз
Технологии киберугроз – технологическая компания, специализирующаяся на решениях по анализу угроз для предприятий любого размера. Мы собираем, нормализуем, обогащаем информацию о киберугрозах со всего мира. Нашими источниками являют более 260 открытых фидов, более 100 открытых поставщиков Threat Intelligence-отчетов, открытые online sandbox, социальные сети и репозитории GitHub. Мы также предоставляем ряд сервисов по: семантическом анализу Threat Intelligence-отчетов и приведения их в машиночитаемый формат STIX 2.1, проверки IoC на потенциальные ложноположительные сработки, а также получению WHOIS-записей для доменных имен.
Комментарии:

Как мы обрабатываем данные: политика обработки персональных данных