Исследователи разобрали VECT 2.0 и нашли у него проблему, которая делает атаку опаснее обычного вымогательства. Этот вредонос может повредить файлы так, что даже дешифратор самих операторов атаки не восстановит данные надёжно. Для жертвы это означает, что даже оплата выкупа не поможет вернуть документы, базы, архивы и виртуальные диски.
Обычная логика вымогателя строится на сделке: злоумышленники шифруют данные, требуют деньги и обещают ключ или программу для расшифровки. У VECT 2.0 эта схема ломается технически. Вредонос не просто закрывает файлы «на замок». В ряде случаев он оставляет их в нестабильном состоянии: переименованными, частично измененными, поврежденными или зашифрованными без нужных служебных данных для обратного восстановления.
VECT 2.0 — 64-битная программа-вымогатель для Windows. В связанных исследованиях также упоминаются сборки семейства VECT под Linux и VMware ESXi, а часть вариантов встречалась под брендингом DEVMAN 3.0. Это не единичный учебный образец, а развивающаяся линейка вредоносного ПО, рассчитанная на бизнес-данные.
Под удар попадают не только привычные документы. VECT следует по доступным путям и исключает лишь часть системных директорий, защищенных имён и исполняемых файлов. В зоне риска оказываются PDF, таблицы, архивы, базы данных, резервные копии, рабочие документы, сетевые папки и виртуальные диски. Такой подход особенно опасен для компаний: один зараженный узел может добраться даже до расшаренных файлов, общих хранилищ и резервных каталогов, если у пользователя или процесса есть права записи.
Главная техническая ошибка начинается с порядка обработки файла. VECT сначала добавляет к имени расширение .vect, а уже потом открывает новый путь и начинает менять содержимое. Поэтому файл с .vect — это не доказательство успешного шифрования. Он может быть только переименован, частично обработан, поврежден после сбоя или зашифрован по одному из внутренних сценариев.
Вторая проблема — почти полное отсутствие метаданных. Нормальный шифровальщик, который рассчитывает на последующую расшифровку, обычно оставляет достаточно служебной информации: версию формата, исходный размер, параметры шифрования, таблицу обработанных участков, зашифрованный ключ или маркер. VECT оставляет только 12-байтный хвост с последним nonce для ChaCha20-IETF.
Самая болезненная ошибка проявляется на больших файлах. Для файлов больше 128 КБ VECT делит содержимое на четыре части и шифрует 32 КБ в начале каждой части. Для каждого участка используется отдельный nonce. Но на диск сохраняется только последний. Первые три исчезают. В итоге три из четырёх зашифрованных блоков оказываются без параметров для восстановления.
Nonce — это одноразовое значение, которое нужно для корректной работы потокового шифра. Это не пароль, но без него невозможно воспроизвести нужный поток для обратной операции. Если nonce потерян, соответствующий участок файла нельзя нормально расшифровать даже при наличии ключа.
Порог в 128 КБ очень низкий. Под него попадает почти все, что важно бизнесу: договоры с вложениями, презентации, PDF, базы, архивы, резервные копии, файлы 1С, образы виртуальных машин, почтовые архивы, экспортированные отчёты и рабочие документы. Формально файл может быть «зашифрован», но фактически часть его содержимого уничтожена с точки зрения обратного восстановления.
Из-за этого VECT 2.0 ближе к вайперу, чем к аккуратному вымогателю. Вайпер — это вредоносная программа, которая уничтожает данные. VECT мог не задумываться как вайпер, но ошибки в реализации приводят к похожему результату. Данные не просто заблокированы, а могут быть испорчены.
Windows-версия добавляет еще несколько проблем. Для файлов от 32 до 128 КБ найден путь обработки с несоответствием размера буфера. Вредонос может попытаться прочитать больше данных, чем выделено под рабочий буфер. Результат зависит от конкретного запуска: файл может остаться только переименованным, обработка может оборваться, содержимое — стать неконсистентным.
Еще одна ошибка связана с многопоточностью. VECT обрабатывает файлы несколькими рабочими потоками, но использует общие буферы для критичных данных: путей к файлам и содержимого чтения. Если два потока работают одновременно, один может перезаписать данные, которые ещё нужны другому. В результате, часть файлов шифруется, часть ломается, часть остается в промежуточном состоянии.
Для администраторов это превращает восстановление в неприятный разбор завалов. Расширение .vect показывает только факт, что вредонос добрался до файла. Оно не показывает, что именно произошло внутри. Поэтому массовое восстановление по одному универсальному сценарию может не сработать.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.