Исследователи «Лаборатории Касперского» обнаружили новое семейство программ-вымогателей, которое использовалось для целевых атак на различные организации. Сначала исследователи решили, что для шифрования данных своих жертв злоумышленники применяли небезызвестного шифровальщика Petya, который распространяется по подписке, то есть авторы малвари строят свой "бизнес" на принципе вымогатель как услуга (Ransomware-as-a-Service, RaaS). Но вскоре стало ясно, что операторы вредоносной кампании вовсе не покупали Petya, они взломали его, создав специальный модуль, который изменяет чужую малварь «на лету». В итоге вредонос получил название PetrWrap.
Специалисты рассказывают, что PetrWrap написан на С и скомпилирован в MS Visual Studio. В состав вредоноса входит вымогатель Petya (версия 3), который используется для заражения машины жертвы. Кроме того, PetrWrap оснащен собственными криптографическими алгоритмами и в процессе работы изменяет код оригинального Petya, что позволяет преступникам, стоящим за PetrWrap, скрыть факт использования Petya в процессе заражения.
Проникнув на компьютер жертвы, PetrWrap начинает вредоносную активность, выждав полтора часа. Сначала он расшифровывает основную DLL-библиотеку Petya и готовится вызвать ее экспортируемую функцию ZuWQdweafdsg345312. Данная функция обычно подготавливает Petya к последующей работе и запускает процесс перезаписи MBR. Однако перед этим PetrWrap должен перехватить ряд функций Petya, поэтому он заменяет инструкции для вызова функции DllEntryPoint на инструкции NOP (шестнадцатеричные байты 0x90). Это не позволяет Petya работать самостоятельно и позволяет PetrWrap выполнить все необходимые вычисления и приготовления, прежде чем разрешить оригиналу продолжить работу.
Когда криптографические вычисления закончены, PetrWrap перехватывает две процедуры Petya, которые отвечают за генерирование конфигурационных данных (petya_generate_config,) и за процесс перезаписи MBR (petya_infect), заменяет их на собственные (wrap_infect и wrap_generate_config) и затем передает управление Petya.
Говоря о криптографии, исследователи отмечают, что создатели PetrWrap столкнулись с проблемой: если они попытаются использовать Petya без изменений, то не смогут расшифровать файлы на компьютерах жертв, ведь для этого им понадобится секретный ключ авторов Petya. Поэтому они решили полностью заменить алгоритм ECDH, используемый в Petya, на собственную реализацию и использовать свой секретный и открытый ключи. Более подробно работа криптографических алгоритмов малвари описана в блоге компании.
«Мы наблюдаем очень интересный процесс: киберпреступники стали нападать друг на друга. С нашей точки зрения, это признак растущей конкуренции между различными группировками. Отчасти это хорошо, ведь чем больше времени злоумышленники проводят в борьбе друг с другом, тем менее организованными и эффективными будут их атаки и они сами, — говорит Антон Иванов, старший антивирусный аналитик «Лаборатории Касперского».