Расшифрованный шифровальщик
На прошлой неделе специалисты «Лаборатории Касперского» сообщили об успешной расшифровке данных, зашифрованных программой-вымогателем Yanluowang. Был опубликован краткий обзор шифровальщика, а данные для расшифровки добавлены в проект NoRansom, в котором собрана представительная коллекция инструментов для восстановления файлов.
Не все шифровальщики могут попасть в NoRansom: надежно, без ошибок в реализации, зашифрованные данные, ключ от которых хранится только у злоумышленников, восстановить невозможно. Но во многих шифровальщиках либо сам метод шифрования имеет уязвимости, либо ключи для расшифровки рано или поздно оказываются «на стороне добра», в результате получения доступа к серверной инфраструктуре атакующих. В некоторых случаях ключи для расшифровки выкладывают сами организаторы вредоносной атаки. В случае Yanluowang речь идет об уязвимости алгоритма шифрования.
Yanluowang отслеживается экспертами «Лаборатории Касперского» с декабря 2021 года, причем речь идет о единичных случаях атак. Злоумышленники явно нацелены на конкретные компании и не используют вредоносное ПО широкомасштабно. Записка с требованием выкупа от организаторов атаки выглядит так:
Перед запуском шифровальщика производится принудительная остановка процессов, чтобы освободить доступ к наиболее ценным данным. В списке на остановку присутствуют браузеры, СУБД и различные корпоративные программы. Интересно, что при запуске программа-шифровальщик требует в качестве аргумента путь к данным, которые требуется зашифровать. Это позволяет предположить, что шифрование запускается вручную, после получения доступа к системе и анализа содержимого.
Для шифрования данных используется шифр Sosemanuk, код которого распространяется свободно. Ключ для расшифровки данных сам шифруется по алгоритму RSA-1024. Публичный ключ RSA-1024 вшит в программу, но зашифрован потоковым шифром RC4. Ключ для RC4 также вшит в код программы. В зависимости от размера файла применяется один из двух методов шифрования. Файлы до 3 гигабайт шифруются целиком. Файлы размером более 3 гигабайт шифруются частично, полосами по 5 мегабайт через каждые 200 мегабайт. Алгоритм шифровки «полосами» выглядит так:
В конец каждого зашифрованного файла записывается ключ от Sosemanuk, зашифрованный с помощью RSA-1024. Полную информацию о взломе шифра специалисты «Лаборатории Касперского» не приводят, упоминается лишь, что для расшифровки применяется атака на основе открытых текстов, а значит, в многослойном методе шифрования Yanluowang была ошибка.
Инструменты для расшифровки данных были добавлены в утилиту Rannoh, наряду с другими утилитами бесплатно доступную на сайте проекта NoRansom. Так как методы расшифровки «больших» и «маленьких» файлов разные, для успешной расшифровки потребуется либо два файла размером до 3 и более 3 гигабайт, либо один зашифрованный файл размером более 3 гигабайт. Главное требование: нужно иметь хотя бы одну оригинальную версию зашифрованного файла. Если в резервных копиях найдется хотя бы один такой файл (объемом более 3 гигабайт), с его помощью можно расшифровать вообще все поврежденные данные.