GNNCRY: macOS PoC-вымогатель с ненадёжной генерацией ключей

Программа-вымогатель GNNCRY, известная также как GonnaCry, изначально появилась как учебный proof-of-concept (PoC) для Linux в 2017 году. Исследование показало, что в последние годы этот PoC получил модификации, нацеленные на реальные системы, в том числе — на macOS. В материале — разбор ключевых технических особенностей образца для macOS, его поведения и оценки риска.

Краткая сводка

GNNCRY — демонстрационный PoC-вымогатель, который иллюстрирует механику шифрования пользовательских файлов и запрос выкупа. Несмотря на образовательное происхождение, к 2021 году появились реальные варианты для Linux, шифрующие файлы и требующие выкуп в криптовалюте. Версия для macOS повторяет алгоритм оригинала и демонстрирует аналогичное поведение при атаке на файловую систему.

Цели и механизм поиска файлов

Анализ выявил жестко закодированный список целевых расширений: в него входят разные типы документов, изображения, архивы и базы данных. Для обнаружения файлов вредонос использует рекурсивный обход каталогов через функцию _find_files(). Как только обнаружены файлы с предопределёнными расширениями, запускается процесс шифрования.

  • Категории целей: документы, изображения, архивы, базы данных и т. п.
  • Поиск — рекурсивный обход файловой системы (_find_files()).
  • Шифрование производится «на месте» — файл перезаписывается функцией _encrypt().

Алгоритм шифрования и управление ключами

GNNCRY генерирует 16-байтовый вектор инициализации (IV) и 32-байтовый ключ через функцию _generate_key. При этом фактически используемый алгоритм — Blowfish — задействует только первые 16 байт ключа. Ключевая запись сохраняется в определённом порядке: сначала 16-байтовый IV, затем 32-байтовый ключ, а после — путь к зашифрованному файлу, который получает расширение .GNNCRY. Отмечено, что исходный путь в открытом виде не сохраняется.

Критически важно, что генерация ключей выполняется с использованием стандартной функции rand() из библиотеки C, а не криптографически стойкого генератора (CSPRNG). Это вызывает серьёзные сомнения в криптографической безопасности ключей и их случайности.

Технические наблюдения

  • Поток выполнения образца повторяет оригинальную концепцию PoC для Linux, но адаптирован под macOS.
  • В бинарнике обнаружена переменная пути в открытом тексте — признак среды разработчика, что указывает на создание или тестирование в конкретной среде.
  • Шифрование выполняется локально (in-place), без использования удалённых команд шифрования.

Поведение в системе и детекция

Динамическое тестирование на macOS показало, что образец вызывает стандартные предупреждения безопасности системы, указывающие на потенциальную опасность. Антивирусные решения уже реагируют на варианты GNNCRY после появления реальных случаев шифрования файлов в Linux-окружениях.

«GNNCRY классифицируется как неотвратимая угроза для пользователей macOS; он остается тестовым PoC, демонстрирующим, как может функционировать программа-вымогатель, освещая важные технические аспекты… не представляя активной угрозы в текущем киберпространстве.»

Оценка риска и рекомендации

Хотя текущая версия для macOS остаётся PoC и не идентифицирована как широкомасштабно распространяемая угроза, она подчёркивает ряд уязвимых мест:

  • Использование нестандартного и криптографически небезопасного PRNG (rand()) — снижает стойкость ключей.
  • Жёстко заданные списки расширений и модель обхода файлов показывают, какие файлы подвергаются наибольшему риску.
  • Наличие тестовых строк пути в бинарнике облегчает атрибуцию и указывает на возможные ошибки в процессе разработки.

Рекомендации для пользователей и администраторов:

  • Регулярно обновлять антивирусное ПО и сигнатуры; следить за детекцией новых вариантов PoC-образцов.
  • Делать регулярные резервные копии критичных данных и хранить их отдельно от основной системы.
  • Ограничивать привилегии учетных записей и доступ приложений к файловой системе (по возможности — использовать принцип least privilege).
  • Мониторить необычную активность файловой системы и предупреждения macOS о потенциально опасных программах.

Вывод

GNNCRY — наглядный пример того, как PoC-вредонос может быть адаптирован под новую платформу. Несмотря на образовательное предназначение, его модификации напомнили индустрии о необходимости своевременной детекции и защиты. Текущая версия для macOS носит демонстрационный характер и не считается повсеместной угрозой, но показывает реальные техники таргетинга файлов, управления ключами и слабые места в реализации криптографии, которые могут быть использованы злоумышленниками при дальнейшей эволюции образцов.

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

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

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