Эксперты компании ESET обнаружили новый вирус-вымогатель, которому присвоили название HybridPetya — он напоминает уже известные варианты Petya/NotPetya, но при этом обладает способностью обходить механизм безопасной загрузки в системах с UEFI, эксплуатируя уже исправленную в этом году уязвимость.
Источник изображений: welivesecurity.com
Образцы HybridPetya были загружены на платформу VirusTotal в феврале 2025 года. Вирус устанавливает вредоносное приложение в системный раздел EFI. Установщик вносит изменения в загрузчик UEFI, чтобы внедрить буткит. Это вызывает «синий экран смерти» (BSoD) — сбой в системе гарантирует, что после перезагрузки буткит автоматически запустится, и начнётся процесс шифрования. Вирус включает в себя два компонента: установщик и буткит, то есть вредонос, который исполняется ещё до загрузки операционной системы. Буткит отвечает за загрузку конфигурации и проверяет статус шифрования, который может принимать три значения:
Если значение равно «0», буткит меняет его на «1» и шифрует файл «\EFI\Microsoft\Boot\verify» алгоритмом Salsa20, используя указанные в конфигурации ключ и одноразовый код. Он также создаёт файл «\EFI\Microsoft\Boot\counter» в системном разделе EFI, после чего шифрует файл Master File Table (MFT), содержащий метаданные всех файлов в разделе формата NTFS, а затем и остальные данные всех разделов NTFS; файл «counter» используется для отслеживания уже зашифрованных кластеров диска. В это время пользователю выводится имитация экрана CHKDSK — у жертвы создаётся иллюзия, что система исправляет ошибки на диске.
Имитация экрана CHKDSK
Если буткит обнаруживает, что диск зашифрован, то есть статус шифрования равен «1», он выводит жертве сообщение с требованием выкупа — $1000 в биткоинах на указанный адрес кошелька. Сейчас кошелёк пуст, хотя с февраля по май 2025 года на него поступили $183,32. На том же экране есть поле для ввода ключа, который жертва покупает у оператора вируса. Если его ввести, буткит пытается расшифровать файл «\EFI\Microsoft\Boot\verify»; если указан правильный ключ, статусу шифрования присваивается значение «2», и начинается расшифровка; на первом этапе считывается содержимое файла «\EFI\Microsoft\Boot\counter». Когда количество расшифрованных кластеров достигает значения из файла «counter», процесс расшифровки останавливается; при расшифровке файла MFT показывается текущий статус всего процесса. На этапе расшифровки также из созданных ранее резервных копий восстанавливаются легитимные загрузчики: «\EFI\Boot\bootx64.efi» и «\EFI\Microsoft\Boot\bootmgfw.efi». По окончании процесса жертве предлагают перезагрузить компьютер.
Схема работы HybridPetya
Некоторые варианты HybridPetya эксплуатируют уязвимость CVE-2024-7344 (рейтинг 6,7 из 10) в приложении Reloader UEFI (файл «reloader.efi»), позволяющую запускать удалённое выполнение кода в обход безопасной загрузки. Для маскировки буткит переименовывает файл приложения в «bootmgfw.efi» и загружает файл «cloak.dat» с зашифрованным XOR кодом буткита. Когда во время загрузки запускается переименованный в «bootmgfw.efi» файл, он ищет «cloak.dat» в системном разделе EFI и «загружает из него встроенное приложение UEFI крайне небезопасным способом, полностью игнорируя все проверки целостности, тем самым обходя UEFI Secure Boot», отметили в ESET. Microsoft закрыла эту уязвимость в январе 2025 года. В отличие от варианта NotPetya, который просто уничтожает данные, HybridPetya позволяет их восстановить: заплатив выкуп, жертва получает от оператора уникальный ключ, на основе которого формируется ключ для расшифровки данных.
Свидетельств того, что HybridPetya использовался на практике, экспертам ESET обнаружить не удалось — есть версия, что это исследовательский проект, не имеющий цели заработка на противоправной деятельности. Тем не менее, его появление свидетельствует, что обойти UEFI Secure Boot не просто возможно — такие средства распространяются и становятся всё более привлекательными как для исследователей, так и для злоумышленников, заключили в ESET.