Группировка Toy Ghouls запустила собственную программу‑вымогатель GenieLocker против российских промышленных предприятий

ransomware

С марта 2026 года в атаках на организации в России, преимущественно в сфере производства, применяется новая вредоносная программа GenieLocker. Её появление связано с группировкой Toy Ghouls, известной также под названиями Bearlyfy и Labubu. Ранее злоумышленники использовали готовые трояны‑шифровальщики RedAlert, LockBit и Babuk, однако теперь перешли на собственную разработку. GenieLocker выпущен в двух вариантах - для операционных систем Windows и для Linux, включая гипервизор ESXi.

Описание

Проникновение во внутреннюю сеть жертвы произошло через подключение по OpenVPN от внешнего партнёра. Атакующие воспользовались украденными, но действительными учётными данными, вероятно, из‑за доверительных отношений между компаниями. После получения доступа они установили на скомпрометированные узлы дополнительные инструменты: средство для удалённого доступа OpenSSH, программу сканирования сети SoftPerfect Network Scanner и утилиту для кражи паролей Mimikatz. Кроме того, злоумышленники обращались к уже установленному на некоторых машинах менеджеру паролей KeePassXC, пытаясь извлечь хранящиеся в его базах учетные данные.

Для перемещения внутри сети Toy Ghouls использовали протоколы RDP для машин под управлением Windows и SSH для Linux‑серверов. Массовое развертывание программы‑вымогателя выполнялось с помощью легитимных утилит PsExec и PAExec. Также злоумышленники создали обратный SSH‑туннель для связи со своим командным сервером. На этапе нанесения ущерба Windows‑версия GenieLocker зашифровала файлы на атакованных рабочих станциях и серверах, а на системах Linux и ESXi атакующие остановили работающие виртуальные машины и зашифровали их диски.

Характерной особенностью данной группировки является отсутствие двойного вымогательства: в ходе инцидента не обнаружено следов извлечения данных, и у Toy Ghouls нет сайта для публикации украденной информации. GenieLocker не сохраняет на заражённой системе записки с требованиями выкупа и контактами злоумышленников. Как показало исследование образцов, такой подход выбран, чтобы избежать раннего обнаружения антивирусными программами, которые зачастую срабатывают при массовом создании текстовых файлов с требованиями. Вместо этого контакты и сумма выкупа доставляются жертве вручную.

Windows‑вариант GenieLocker написан преимущественно на языке C с использованием библиотек C++ и опирается на открытую криптографическую библиотеку libsodium. При запуске программа ожидает обязательный строковый аргумент, который сравнивается с заданным хешем. Этот механизм предотвращает выполнение в изолированных средах и неавторизованное использование другими злоумышленниками. После проверки аргумента запускается фоновый поток, который каждые полсекунды проверяет наличие отладчиков. Если обнаруживается вмешательство - процесс немедленно завершается. Кроме того, программа вычисляет контрольную сумму своего исполняемого кода и при каждом цикле проверяет, не изменился ли он (например, из‑за установки точек останова).

Перед шифрованием GenieLocker останавливает процессы, которые могут мешать доступу к файлам: это программы баз данных, офисные приложения, почтовые клиенты, средства резервного копирования и виртуализации. Также завершаются соответствующие службы. После этого шифровальщик определяет все доступные диски, включая сетевые папки, и запускает потоки для обработки файлов. Имеются списки исключений: программа не трогает системные каталоги (Windows, Program Files, Boot и другие), а также файлы с определёнными расширениями (например, .dll, .exe, .sys, .ini). Зашифрованным файлам присваивается расширение .03ffc1c4a3da0f02, при этом для каждого создаются два вспомогательных файла - *.lock и *.journal - для предотвращения повторного шифрования и ведения учёта.

Сам процесс шифрования использует алгоритм XChaCha20‑Poly1305 с уникальным ключом для каждого файла. Ключ зашифрован с помощью схемы Curve25519‑XSalsa20‑Poly1305, в которую встроен открытый ключ операторов. По умолчанию программа шифрует файлы блоками по 16 мегабайт, но есть возможность задать процент содержимого, который необходимо зашифровать (первый блок всегда шифруется, даже если процент равен нулю). В конце файла добавляется метаданные для будущего восстановления: версия, процент шифрования, неиспользованный одноразовый номер, исходный размер, количество блоков, контрольная сумма BLAKE2b и другие служебные поля.

Linux‑версия GenieLocker значительно проще: в ней нет проверки секретного аргумента, антиотладки и списков исключений. Однако она поддерживает возможность выполнения в фоновом режиме с помощью двойного форка, изменение приветственного сообщения на ESXi-серверах в файле /etc/vmware/welcome, а также настройку количества потоков шифрования через аргумент -j. Путь для шифрования по умолчанию указывает на хранилище виртуальных машин ESXi - /vmfs/volumes. Оформление справочного сообщения в этом варианте напоминает стиль LockBit, что подтверждает предположение, что GenieLocker создавался как замена сторонним решениям. Криптографическая схема идентична Windows‑версии.

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

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

IPv4

  • 89.125.66.101

MD5

  • 18f61c6d686cffd131c9fd3f3437064b
  • 25480dad40152ef3d0c6d38eecc9bd9b
  • 34a7f28e0bb69b0d49bacc88bdf20ac1
  • 34b8828635f88078735799a3c1ac8e28
  • 3a4479b51890373bfc4a011ef41fe376
  • 58c0dda52b8f069660166d61fd74f911
  • 5d62c1349b8981c396c9a23f4f8f053c
  • 780c8f4c6f077da4da96582987920362
  • 7dad78584795aa5c160520cc6accf260
  • 824ca1e906cc073ee5b0f3519df69a8f
  • 9201e35e2993612612919a3c71302cab
  • 9969a8221312dba70dd5cbddf83a146c
  • 9cd514ff2809ce0b993e3b8649e82a94
  • a50eaaf514f4f84e61ca2455a8789753
  • a8842616c9057d5cf6e1fe1fa8c3c160
  • b893eafed0659f70d4ac250f09073723
  • c68b6862725777651085650db34947fc
  • d3e06eb34d8eee7ef92cac3ad0a20ff5
  • d661cf666b9acbab7cfeae1127a261a9
  • d87d0b01d95acc936b7dc47b8f41937a
  • de3cfbb50f66079bfee20a6f64e59433
  • f08f476f26b01d142ca73923de65fc0c
  • f7b9e36e94163a9a303160945f99267a
  • fd46a80c2f45577263328984edf7f4dc

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