Быть или не быть. Вопросы расшифровки данных после атаки программ-вымогателей
Эксперты F6 показали, какие ошибки могут допустить жертвы шифровальщиков, как не попасть в ловушки мошенников, предлагающих декриптор, какие шаги следует предпринять для спасения данных.
В этом блоге мы кратко расскажем, что происходит после шифрования ИТ-инфраструктуры, что чувствует жертва, какие действия предпринимаются ею для восстановления своей инфраструктуры. Что следует и не следует делать пострадавшим от атаки вымогателей, что могут предложить им ИБ-компании в таких случаях. На конкретном примере продемонстрируем нестандартный подход по поиску решения по расшифровке данных.
Любую жертву сразу после атаки с использованием программ-вымогателей волнует, прежде всего, ключевой вопрос, возможна ли расшифровка данных. Пострадавшие начинают активный поиск возможных решений, скачивают бесплатные декрипторы с ресурсов по расшифровке, создают ветки в форумах. И в большинстве случаев это оказывается безрезультатным. Все эти эмоциональные действия очень напоминают ужасную ситуацию с человеком, который внезапно узнал, что у него опасная болезнь.
В данной ситуации жертва находится как бы «в тумане», она готова на необдуманные и рискованные шаги ради скорого своего исцеления, и поэтому нередко становится жертвой шарлатанов и других мошенников. Мошенники, пользуясь таким состоянием жертвы, предлагают ей за небольшую плату простое «спасительное решение» в виде расшифровки или восстановления данных (рис. 1).
-
Рис. 1. Текст с сайта по расшифровке данных.
-
Рис. 2. Текст с англоязычного сайта по расшифровке данных.
-
Рис. 3. Текст с англоязычного сайта с техническими подробностями по программе-вымогателю LockBit 3 (Black).
Но часто жертве предоставляется бесполезная «пустышка» или бесплатная легитимная утилита, например, декриптор с ресурса NoMoreRansom или средство восстановления данных, которые вполне можно найти и самостоятельно. Во всех неудачах при расшифровке мошенники обвиняют жертву, что это ее неправильные действия приводят к таким неудовлетворительным результатам. Под различными предлогами у жертвы вытягиваются еще и еще деньги, и, в конце концов, злоумышленники просто перестают выходить на связь. Множество таких случаев во всех подробностях изложены самими пострадавшими на тематических форумах. Мы всегда подчеркиваем своим клиентам, если вы стали жертвой вымогателей, не становитесь еще и жертвой мошенников.
Похожая ситуация обстоит и с восстановлением данных. К примеру, программа-вымогатель STOP / Djvu шифрует в файлах всего лишь один блок размером 153 600 байт. Медиафайлы, файлы баз данных в таких случаях можно частично восстановить специализированным программным обеспечением. Но чудес не бывает, файл будет корректно открываться, можно даже искренне радоваться своим возвращенным фотографиям и видео, но какая-то зашифрованная часть данных все же будет безвозвратно потеряна. К сожалению, многие разработчики такого программного обеспечения, осознав, что их программами пользуются для восстановления данных после шифрования, и что они лишаются своей части «пирога», подняли стоимость за их использование или вовсе сделали их платными.
А как же расшифровка? Возможна ли она? Надо признать, в большинстве случаев расшифровка файлов невозможна. Есть надежда на развитие технологий, в том числе квантовых, что в ближайшем будущем удастся расшифровать данные. Например, практически во всех программах-вымогателях семейства Phobos более 5 лет используется один и тот же ключ RSA-1024. Казалось бы, что может проще!? Надо просто разложить следующее полупростое число на два множителя — простых числа:
133250507753262098260237500379202456033297018735730184784616976604627471369258649755 690391171372057253986737556516613140541336988267736936053734906649471438239686546953 687331690524788687957623347604956929716282949481552654067847162185115767984313537409 069827202097918441412365724640931857690709265100371110583
Причем, последняя цифра множителей точно не будет 0, 2, 4, 6, 8. Однако в настоящее время это пока технически невозможно.
Мошенники правы в одном (рис. 1), никогда не следует спешить отчаиваться. Платить или не платить злоумышленникам — это личное дело каждого. Но заплатив, жертва, по сути, инвестирует в этот криминальный бизнес, который существует до тех пор, пока злоумышленникам исправно платят выкупы. Каждая такая выплата порождает новых жертв.
Если не платить выкуп, что делать с зашифрованными данными? Если ли есть такая возможность, определенно имеет смысл оставить наиболее важные зашифрованные файлы с максимально возможным контекстом, в надежде, что их расшифровка станет возможной в ближайшем будущем или правоохранительные органы заполучат в свое распоряжение инфраструктуру злоумышленников, в том числе и закрытые ключи шифрования.
Очевидно, что лучше предотвращать такие атаки, использовать различные защитные решения, чем исправлять возникшую после атаки ситуацию. Но если такая беда случилась, не следует становиться жертвой других мошенников, необходимо обращаться за помощью только к профессионалам. В России достаточно ИБ-компаний с весьма профессиональными специалистами.
Злоумышленниками используется огромное многообразие программ-вымогателей (https://id-ransomware.blogspot.com/), и некоторые из них не лишены изъянов, в результате чего в редких случаях становится возможной расшифровка данных. Компания F6 и все наши коллеги пытаются найти такие ошибки, чтобы помочь восстановить инфраструктуру не только своим клиентам, но и просто обычным людям. Компания F6 за последнее время безвозмездно помогла большому количеству жертв, их общая сумма выкупа составила более полумиллиона долларов. Анализируя инструменты, использованные злоумышленниками в атаке, мы различными способами пытаемся оценить возможность расшифровки.
Наши коллеги опубликовали исследование программы-вымогателя ShrinkLocker, которая представляет собой VBS-скрипт (https://securelist.ru/ransomware-abuses-bitlocker/109591/). Указанный скрипт использует для шифрования дисков штатное средство Windows BitLocker. Не будем повторять технических подробностей программы-вымогателя, они отлично изложены коллегами.
Мы рассмотрим непосредственно часть, касающуюся генерации пароля BitLocker (рис. 4).
-
Рис. 4. Генерация пароля для BitLocker в VBS-скрипте.
Но если на проблему посмотреть под совсем другим углом, то оказывается все еще намного проще. Стоит только залезть под капот VBS, немного пореверсить его код и далее реализовать этот функционал на любом удобном для решения задачи языке программирования. Мы выбрали для этой цели Go. В результате скоротечного анализа были созданы аналоги функций VBS на языке программирования Go (рис. 5).
-
Рис. 5. Реализация на Go функций VBS генерации псевдослучайных чисел.
Функция получения пароля в зависимости от целочисленного seed будет иметь следующий вид (рис. 6).
-
Рис. 6. Функции получения пароля на Go.
-
Рис. 7. Функция перебора паролей на Go.
-
Рис. 8. Фрагмент текстового файла со сгенерированными паролями BitLocker.
Если нет возможности использования Passware, но позволяет время, на базе данной программы возможно создать автономный многопоточный брутер. Собственно по этой причине и был изначально выбран язык программирования Go. В данном случае придется самостоятельно реализовать криптосхему BitLocker и использовать для подбора пароля соответствующий зашифрованный сектор диска. Но и эта задача не является трудновыполнимой.
Приоритетом компании F6 является предотвращение инцидентов, помощь в расследовании и устранении последствий. Для некоторых семейств программ-вымогателей специалистами компании разрабатываются программы расшифровки для восстановления данных.
Напомним, что более подробную техническую информацию о программах-вымогателях и группах вы можете найти на тематическом гитхабе компании F6 (https://github.com/facct-ransomware)