Специалисты «Лаборатории Касперского» обновили свой отчет, посвященный шифровальщику Bad Rabbit. Согласно обновленным данным, эксперты обнаружили два недочета в работе малвари, которые потенциально могут помочь пострадавшим в вопросе восстановления информации.
Во-первых, было замечено, что Bad Rabbit не удаляет теневые копии файлов после их шифрования. Это означает, что если служба теневого копирования была включена до заражения, и полное шифрование диска по какой-то причине не произошло, жертва может восстановить зашифрованные файлы, используя стандартные средства Windows или сторонние утилиты.
Во-вторых, обнаружился интересный нюанс, связанный с паролями для дешифровки данных. Так, данные, которые отображаются на экране зараженной машины как «personal installation key#1», это зашифрованная RSA-2048 и закодированная base64 двоичная структура, которая содержит следующую информацию из зараженной системы:
Злоумышленники могут использовать свой секретный ключ RSA для расшифровки этой структуры и отправить жертве пароль для расшифровки диска. Но специалисты подчеркивают, что значение поля id, которое передается dispci.exe — просто 32-битное число, используемое чтобы различать зараженные компьютеры, а вовсе не ключ AES для шифрования диска, как говорилось в отчетах ранее.
«В процессе анализа мы под отладкой извлекли пароль, создаваемый вредоносным ПО, и попытались использовать его на заблокированной системе после перезагрузки — пароль подошел, и загрузка продолжилась», — рассказывают аналитики.
К сожалению, расшифровать данные на дисках без ключа RSA-2048 злоумышленников невозможно: симметричные ключи безопасно генерируются на стороне малвари, что исключает возможность их подбора. Но в коде dispci.exe была обнаружена ошибка: сгенерированный пароль не удаляется из памяти, что оставляет небольшой шанс на его извлечение до завершения процесса dispci.exe. На скриншоте ниже можно увидеть, что, хотя переменная dc_pass (которая будет передана драйверу) будет безопасно стерта после использования, это не относится к переменной rand_str, которая содержит копию пароля.
Читайте также
Последние новости