Введение

Семейство программ-шифровальщиков GenieLocker активно функционирует с марта 2026 года и использовалось при атаках на российские компании, в основном из промышленного сектора. Исследования показали, что разработчиком этого вредоноса является киберпреступная группа Toy Ghouls (также известная как Bearlyfy, Labuib и Laboo.boo), которая специализируется на вымогательстве в целях получения финансовой выгоды.

Ранее группа использовала различные сторонние шифровальщики, включая RedAlert, LockBit и Babuk. GenieLocker является собственной разработкой группы, созданной для расширения инструментария и снижения зависимости от стороннего вредоносного программного обеспечения. Исследователи обнаружили несколько образцов GenieLocker двух типов: исполняемые файлы для операционной системы Windows и файлы в формате ELF для платформ Linux и ESXi.

Технические детали

Схема атаки

Тактики и методы, применяемые группой Toy Ghouls, были детально рассмотрены в предыдущих публикациях. В данной статье проводится подробный анализ функциональности пользовательского вредоноса-шифровальщика GenieLocker для обеих платформ. На примере атаки, произошедшей в конце марта 2026 года, рассматривается процесс развертывания GenieLocker во внутренней инфраструктуре пострадавшей организации.

Первоначальное проникновение

Киберпреступники получили первичный доступ к корпоративной сети посредством соединения OpenVPN, используя учетные данные внешней партнерской организации. Они воспользовались доверительными отношениями между организациями и похищенными учетными данными, которые на момент атаки оставались действительными.

Разведка и получение доступа к учетным данным

После проникновения в целевую сеть злоумышленники установили дополнительные инструменты на скомпрометированные компьютеры, включая OpenSSH, socks5.exe, SoftPerfect Network Scanner и Mimikatz. Для сбора информации о сети они применяли SoftPerfect Network Scanner, а для извлечения учетных данных — Mimikatz. Судебная экспертиза также выявила, что злоумышленники получили доступ к менеджеру паролей KeePassXC, установленному на нескольких взломанных компьютерах. Похоже, атакующие пытались получить сохраненные имена пользователей и пароли из хранилищ KeePass.

Боковое перемещение и взаимодействие с командным сервером

Для навигации по сети Windows злоумышленники использовали протокол RDP, а доступ к серверам Linux осуществлялся через SSH. Для масштабного распространения шифровальщика они применяли легальные утилиты PsExec и PAExec. Дополнительно они установили обратный SSH-туннель для поддержания соединения с командным сервером.

Фаза воздействия

На завершающем этапе атаки злоумышленники зашифровали файлы на компьютерах Windows, используя Windows-версию программы-вымогателя GenieLocker. На серверах Linux и ESXi они остановили функционирующие виртуальные машины и зашифровали их хранилища данных, используя версию для Linux. Применяемые методы соответствуют тем, которые ранее были зафиксированы при атаках этой группы. Как в предыдущих случаях, в процессе следственного анализа не обнаружены следы хищения информации. Группа не использует веб-сайты для публикации украденной информации и не применяет двойное вымогательство.

Программа-шифровальщик для Windows

Windows-версия GenieLocker (MD5: 5d62c1349b8981c396c9a23f4f8f053c) преимущественно разработана на языке C, но скомпилирована с использованием элементов на C++ посредством Microsoft Visual C/C++. Вредонос содержит типичные для программ-вымогателей функции: прерывание процессов, остановка служб,防защита от отладки и применение сложной криптографической схемы. Для выполнения криптографических функций используется открытая библиотека libsodium.

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

Параметры запуска и командная строка

GenieLocker поддерживает несколько параметров, которые управляют его поведением:

  • Первый параметр — секретный аргумент в шестнадцатеричном формате
  • -p, —percent N — доля содержимого файла, подлежащего шифрованию
  • -r, —recursive — рекурсивная обработка папок
  • -l, —log <имя_файла> — указание пути к файлу логирования
  • -h, —help — вывод справочной информации
  • Последний параметр — путь к файлам, подлежащим шифрованию

В качестве первого параметра вредонос ожидает шестнадцатеричную последовательность, которая служит "секретным ключом". Вероятно, это механизм предотвращения автоматического запуска в изолированных средах тестирования. Кроме того, это может ограничить несанкционированное использование инструмента другими группировками.

Секретный аргумент представляет собой шестнадцатеричную строку переменной длины (не более 4096 байт), которая преобразуется в байтовый массив. Для этого массива вычисляется хэш SHA-256 и сравнивается с заранее установленным значением. При совпадении к аргументу добавляется фиксированное слово «session», после чего полученная строка хэшируется алгоритмом BLAKE2b-256. Однако вычисленный хэш впоследствии не используется, что указывает на незавершенную разработку этой функции.

Защита от анализа

GenieLocker проверяет наличие процессов отладки несколькими методами. При запуске вредонос использует функции WinAPI IsDebuggerPresent и CheckRemoteDebuggerPresent для обнаружения отладчика. После проверки секретного ключа программа создает отдельный поток с названием «watchdog», который в бесконечном цикле с интервалом в 500 миллисекунд выполняет проверки для обнаружения инструментов анализа. При обнаружении любого из этих инструментов весь процесс GenieLocker немедленно завершается.

При инициализации потока watchdog процесс GenieLocker вычисляет контрольную сумму CRC32 для раздела .text собственного кода и запоминает это значение. На каждой итерации он пересчитывает эту сумму и сравнивает с исходной. Этот способ позволяет вредоносу обнаружить попытки модификации кода при помощи отладчика или иных утилит.

Подготовка перед шифрованием

GenieLocker содержит несколько списков исключений. Он пропускает папки с названиями из предусмотренного списка, включая системные директории Windows, шифрование которых могло бы нарушить работу ОС. Также исключены из шифрования определенные системные файлы Windows и расширения файлов, а также компьютеры, имена которых присутствуют в списке исключений (хотя в проанализированном образце этот список был пуст).

Перед началом шифрования вредонос принудительно завершает процессы, которые могут использовать целевые файлы и препятствовать их шифрованию. Это включает процессы СУБД, различные офисные приложения и другое ПО. Вредонос также отключает ряд системных служб, которые могут помешать процессу шифрования. После этого программа инициирует потоки шифрования и ищет все доступные локальные и сетевые диски.

Криптография и шифрование файлов

Расширение для зашифрованных файлов жестко закодировано в программе. В рассмотренном образце это .03ffc1c4a3da0f02. Перед шифрованием каждого файла вредонос создает вспомогательные файлы: lock-файл и файл-логирование. Lock-файл содержит идентификатор процесса и защищает файлы от многократного шифрования. Файл-логирование содержит служебную информацию о процессе шифрования.

По умолчанию вредонос шифрует файлы блоками размером 0x1000000 байт. При указании процента шифрования он рассчитывает нужное количество блоков. Первый блок в начале файла всегда шифруется.

Для шифрования содержимого используется алгоритм аутентифицированного шифрования XChaCha20-Poly1305 с уникальным ключом для каждого файла. Метаданные файла также шифруются тем же алгоритмом. Ключ файла шифруется с помощью алгоритма Curve25519-XSalsa20-Poly1305, используя публичный мастер-ключ разработчиков, внедренный в код.

Метаданные каждого зашифрованного файла содержат версию, процент шифрования, уникальный идентификатор для каждого файла, исходный размер, информацию о разбиении на блоки, контрольную сумму оригинальных данных, количество зашифрованных блоков, дополнительное расширение и проверочные теги для каждого блока, а также битовую маску для отслеживания зашифрованных блоков.

Программа-шифровальщик для Linux и ESXi

Версия для Linux и ESXi (MD5: 9201e35e2993612612919a3c71302cab) проще, чем Windows-вариант. В ней отсутствуют секретный аргумент, защита от отладчика и списки исключений. Однако она включает функции, специфичные для ESXi, включая поддержку запуска в качестве фонового сервиса и возможность изменения приветственного сообщения. Версия помечена как v1 и также использует открытую библиотеку libsodium для криптографии.

Справочная информация в командной строке оформлена в стиле LockBit, что подтверждает предположение о том, что разработчики GenieLocker пытались создать аналог LockBit для собственных операций.

На основании пути к директории шифрования по умолчанию (/vmfs/volumes) видно, что эта версия предназначена в первую очередь для ESXi, но также может запускаться в стандартной Linux-среде.

Возможности на ESXi и Linux

Эта версия поддерживает запуск в качестве фонового сервиса с помощью флага -d, реализованный классическим методом двойного вызова fork(). Также вредонос изменяет файл /etc/vmware/welcome, содержащий приветственное сообщение при входе в ESXi. В стандартных дистрибутивах Linux эта функция не работает, поскольку используются другие пути для хранения этой информации.

Версия для Linux/ESXi позволяет задать задержку перед запуском и количество потоков шифрования. Другие параметры совпадают с Windows-версией: выбор процента шифрования, целевой папки и пути к логу.

Схема шифрования файлов

Алгоритм шифрования идентичен Windows-версии: используется XChaCha20-Poly1305 для содержимого и метаданных, а также Curve25519-XSalsa20-Poly1305 для шифрования ключа.

Целевые жертвы

По данным телеметрии, большинство обнаружений GenieLocker зафиксировано на устройствах в Российской Федерации. Во время кампании в марте 2026 года максимальное количество атак пришлось на промышленные предприятия, за ними следуют строительные компании, организации финансового сектора, розничной торговли и технологические компании.

Выводы

Кампания группы Toy Ghouls против российских предприятий продолжает развиваться. Переход на собственный инструмент GenieLocker представляет значительное улучшение арсенала группы. Создав специализированный вредонос с нативными версиями для Windows, Linux и ESXi, киберпреступники уменьшили зависимость от сторонних семейств вредоносов и унифицировали криптографическую базу для атак на все целевые платформы.

Продукты компании детектируют этот вредонос как Trojan-Ransom.Win64.Agent.genie, HEUR:TrojanRansom.Win64.Generic и Trojan-Ransom.Linux.Agent.genie.