Zscaler: новый загрузчик 2CLoader доставляет стиллеры Vidar и Remus
Новый загрузчик 2CLoader доставляет стиллеры Vidar и Remus
В августе 2026 года исследователи Zscaler ThreatLabz обнаружили новый загрузчик вредоносного ПО, получивший название 2CLoader. Загрузчик использовался для распространения стиллеров Vidar и Remus, а также RAT-трояна XWorm. 2CLoader применяет ряд техник для противодействия анализу и уклонения от обнаружения, включая непрямые системные вызовы и установку хуков Windows API. Исследование ThreatLabz раскрывает технические детали работы 2CLoader, его конфигурацию, сетевое взаимодействие, методы дешифровки и выполнения полезной нагрузки.
2CLoader использует непрямые системные вызовы и хуки API
2CLoader применяет технику непрямых системных вызовов для обхода средств обнаружения, использующих хуки API. Для вызовов функций Nt* загрузчик отображает новую копию ntdll.dll из файла, находит адреса экспорта необходимых API и проверяет их на соответствие определенным шаблонам. При обнаружении совпадения извлекается идентификатор системного вызова. Загрузчик также сканирует секции ntdll.dll в памяти для поиска гаджета syscall (0F 05 C3). Найденные адреса гаджетов сохраняются для последующего использования. В случае сбоя инициализации непрямых системных вызовов используется резервный механизм с вызовом GetProcAddress. Для уклонения от обнаружения 2CLoader также внедряет inline trampoline hooks в Windows API, если установлен соответствующий флаг в конфигурации (0x400).
Загрузчик противодействует анализу и виртуализации
2CLoader включает комплексные механизмы противодействия анализу. Флаг opt_flag в конфигурации управляет их активацией. Значение 0x1 включает проверку на виртуальную машину (VM). Проверка включает как жесткие условия (например, проверка CPUID, MAC-адресов, имен процессов и ключей реестра, связанных с VM), так и оценку на основе множества факторов (количество процессов, ядер, объем памяти, размер диска, время работы системы, разрешение экрана и активность пользователя). При обнаружении VM или при низком балле система считается физической, и загрузчик прекращает работу. Флаг 0x10 активирует проверки на отладку, включая вызовы IsDebuggerPresent, CheckRemoteDebuggerPresent и проверку времени выполнения цикла. При обнаружении отладчика полезная нагрузка не расшифровывается. Флаг 0x40 проверяет активность пользователя, отслеживая положение курсора и нажатия клавиш.
Загрузчик использует ресурсы PE для хранения конфигурации и полезной нагрузки
Конфигурация и зашифрованная полезная нагрузка 2CLoader хранятся в ресурсах PE-файла. Ресурс состоит из зашифрованной полезной нагрузки, опциональной дополнительной нагрузки, опционального сообщения для MessageBoxW и блока конфигурации. Блок конфигурации занимает последние 0xDC байт и начинается с магического значения 2C 3D 4E 5F. Он содержит параметры, такие как опции выполнения полезной нагрузки, размеры, ключи шифрования AES-GCM, параметры дешифровки, настройки персистентности и опции уклонения. После первоначальной дешифровки с помощью двухслойного XOR, загрузчик извлекает AES-ключ из собственного образа, вычисляя SHA256 его первого исполняемого раздела. Затем этот ключ используется для дешифровки AES-GCM зашифрованной полезной нагрузки. После дешифровки первая часть данных рассматривается как основная полезная нагрузка, которая может быть распакована с использованием Xpress Huffman, если указан ненулевой размер после распаковки.
2CLoader обеспечивает персистентность и устанавливает полезную нагрузку
2CLoader поддерживает несколько механизмов обеспечения персистентности, управляемых полем persistence_option в конфигурации. Эти методы могут быть активированы одновременно. В каждом случае запись персистентности указывает на путь к текущему файлу вредоносного ПО. Загрузчик также может использовать различные методы выполнения полезной нагрузки, такие как RunPE или LoadPE, в зависимости от флага 0x20 в opt_flag. При создании процесса для опциональной полезной нагрузки (флаг 0x80) загрузчик подменяет родительский процесс на explorer.exe и включает SeDebugPrivilege. Для предотвращения одновременного запуска нескольких экземпляров вредоносного ПО с одинаковым идентификатором (флаг 0x100) создается временный файл-блокировщик в папке %TEMP%.
Обновление до версии 2025.11.7 или установка плагина безопасности
Пользователям TeamCity следует обновить свои установки до версии 2025.11.7 или установить плагин безопасности, чтобы устранить уязвимость. Локальные установки TeamCity требуют ручного обновления. Облачные установки TeamCity были закрыты для предотвращения эксплуатации уязвимости.
Опубликовано в канале 30 сентября, 19:08
Каждый материал сайта выходит в канале в тот же момент.
Источник: Zscaler ThreatLabz