Вредоносное ПО VOID#GEIST
Исследователи в области кибербезопасности обнаружили сложную многоэтапную кампанию вредоносного ПО, которая использует пакетные скрипты для доставки зашифрованных троянских программ удаленного доступа (RAT). Кампания, получившая название VOID#GEIST, использует несколько семейств RAT, включая XWorm, AsyncRAT и Xeno RAT.
Цепочка атак использует обфусцированный пакетный скрипт, который инициирует последовательность действий, предназначенных для избежания обнаружения. Эти действия включают запуск дополнительного пакетного скрипта, подготовку легитимной встроенной среды выполнения Python и расшифровку зашифрованных полезных нагрузок шеллкода. Шеллкод выполняется непосредственно в памяти после внедрения в отдельные экземпляры процесса Windows explorer.exe с использованием метода, известного как асинхронный вызов процедуры (APC) Early Bird.
Оглавление
Доставка вредоносных программ с помощью скриптов: современная модель угроз.
Современные злоумышленники все чаще отказываются от традиционных автономных исполняемых вредоносных программ в пользу многоуровневых, основанных на скриптах систем доставки, имитирующих поведение легитимных пользователей. Вместо использования обычных исполняемых файлов (PE) злоумышленники организуют многокомпонентные конвейеры, объединяющие несколько легитимных технологий и сред написания скриптов.
В рамках этих фреймворков обычно используются следующие компоненты:
- Пакетные скрипты, используемые для организации последовательности заражения.
- Команды PowerShell, облегчающие скрытую подготовку полезной нагрузки.
- Встроенные легитимные среды выполнения, обеспечивающие переносимость между системами.
- Необработанный шелл-код, выполняемый непосредственно в памяти для обеспечения устойчивости и контроля.
Такой подход к выполнению без использования файлов значительно снижает возможности обнаружения на диске. Каждый отдельный этап при независимом рассмотрении кажется относительно безобидным и часто напоминает обычную административную деятельность, что позволяет злоумышленникам действовать в скомпрометированных средах, не вызывая немедленного оповещения о нарушениях безопасности.
Первоначальный доступ через фишинг и инфраструктуру Cloudflare.
Точкой входа в атаку является вредоносный пакетный скрипт, распространяемый через фишинговые электронные письма. Скрипт загружается из инфраструктуры, размещенной в домене TryCloudflare. После выполнения скрипт намеренно избегает попыток повышения привилегий и вместо этого работает строго в рамках прав доступа текущего пользователя.
Эта стратегия позволяет вредоносному ПО закрепиться на начальном этапе, незаметно внедряясь в обычные операции пользователя. Избегая действий, требующих повышенных привилегий, атака снижает вероятность срабатывания предупреждений системы безопасности или запросов от администратора.
Визуальное отвлечение и методы скрытного исполнения.
После запуска на первом этапе вредоносная программа запускает документ-приманку, чтобы отвлечь жертву. Открывается Google Chrome в полноэкранном режиме, отображающий финансовый документ или счет-фактуру в формате PDF. Пока пользователь сосредоточен на документе, вредоносная активность продолжается в фоновом режиме.
Одновременно выполняется команда PowerShell для перезапуска исходного пакетного скрипта со скрытыми параметрами выполнения. Использование параметра -WindowStyle Hidden предотвращает появление видимого окна консоли, гарантируя, что вредоносная активность останется скрытой от пользователя.
Обеспечение устойчивости на уровне запуска на уровне пользователя.
Для обеспечения устойчивости после перезагрузки системы вредоносная программа размещает вспомогательный пакетный скрипт в каталоге автозагрузки пользователя Windows. Это гарантирует автоматическое выполнение скрипта при каждом входе жертвы в систему.
Этот механизм обеспечения устойчивости намеренно скрыт. Вместо использования более интрузивных методов, таких как изменение ключей системного реестра, создание запланированных задач или установка служб, вредоносная программа полагается исключительно на стандартное поведение при запуске на уровне пользователя. Поскольку такой подход работает исключительно в контексте привилегий текущего пользователя, он избегает запуска запросов на повышение привилегий и снижает вероятность обнаружения инструментами мониторинга реестра.
Структура для извлечения и расшифровки полезной нагрузки
На следующем этапе цепочки заражения вредоносное ПО связывается с доменом TryCloudflare для получения дополнительных компонентов полезной нагрузки, упакованных в ZIP-архивы. Эти архивы содержат модули, необходимые для расшифровки и выполнения финальных компонентов вредоносного ПО.
Загруженный архив обычно содержит следующие компоненты:
- runn.py – загрузчик на основе Python, отвечающий за расшифровку и внедрение зашифрованных модулей шеллкода в память.
- new.bin – зашифрованный шеллкод, связанный с XWorm.
- xn.bin – зашифрованный шеллкод, соответствующий Xeno RAT.
- pul.bin – зашифрованный шеллкод, соответствующий AsyncRAT.
- a.json, n.json и p.json — ключевые файлы, используемые загрузчиком Python для динамического расшифрования полезной нагрузки шеллкода во время выполнения.
Такая модульная конструкция позволяет злоумышленникам независимо друг от друга размещать различные полезные нагрузки и активировать их только при необходимости.
Встроенная среда выполнения Python для обеспечения переносимости и скрытности.
После извлечения архива вредоносная программа развертывает легитимную встроенную среду выполнения Python, полученную непосредственно с сайта python.org. Встраивание легитимного интерпретатора исключает зависимость от любой установленной на скомпрометированной системе версии Python.
С точки зрения злоумышленника, этот шаг предоставляет ряд стратегических преимуществ. Вредоносное ПО становится самодостаточной средой выполнения, способной расшифровывать и внедрять полезные нагрузки без необходимости использования внешних зависимостей. Это повышает переносимость между различными системами, увеличивает надежность и способствует скрытности операций за счет использования легитимных программных компонентов.
Выполнение нескольких полезных нагрузок RAT в оперативной памяти
Встроенная среда выполнения Python затем используется для выполнения скрипта загрузчика runn.py. Загрузчик расшифровывает шеллкод, связанный с XWorm, и внедряет его в запущенный экземпляр explorer.exe с помощью внедрения Early Bird APC.
Для развертывания Xeno RAT вредоносная программа использует легитимный исполняемый файл Microsoft под названием AppInstallerPythonRedirector.exe, который используется для вызова Python и выполнения необходимых компонентов. Та же техника внедрения впоследствии используется для развертывания AsyncRAT, гарантируя, что все полезные нагрузки выполняются полностью в памяти, не оставляя традиционных исполняемых файлов на диске.
Система управления и контроля с помощью маяков и модульная архитектура
Заключительный этап атаки включает отправку минимального HTTP-маяка на управляемую злоумышленником инфраструктуру управления и контроля (C2), размещенную на TryCloudflare. Этот маяк подтверждает, что система успешно скомпрометирована и готова к получению дальнейших инструкций.
Хотя конкретные цели кампании остаются неизвестными, цепочка заражения демонстрирует высокомодульную архитектуру. Вместо развертывания одной крупной вредоносной программы злоумышленники внедряют компоненты постепенно на нескольких этапах. Такая конструкция повышает операционную гибкость и устойчивость.
С точки зрения обнаружения, на протяжении всей кампании выявляется один заметный поведенческий индикатор: многократное внедрение процесса explorer.exe с короткими интервалами времени. Эта закономерность может служить сильным сигналом для специалистов по кибербезопасности, пытающихся сопоставить подозрительную активность на разных этапах жизненного цикла атаки.