В этом блоге мы кратко расскажем, что происходит после шифрования ИТ-инфраструктуры, что чувствует жертва, какие действия предпринимаются ею для восстановления своей инфраструктуры. Что следует и не следует делать пострадавшим от атаки вымогателей, что могут предложить им ИБ-компании в таких случаях, рассказал Андрей Жданов, главный специалист по анализу вредоносного кода и проактивному поиску угроз Лаборатории цифровой криминалистики F.A.C.C.T.
На конкретном примере продемонстрируем нестандартный подход по поиску решения по расшифровке данных.
Любую жертву сразу после атаки с использованием программ-вымогателей волнует, прежде всего, ключевой вопрос, возможна ли расшифровка данных. Пострадавшие начинают активный поиск возможных решений, скачивают бесплатные декрипторы с ресурсов по расшифровке, создают ветки в форумах. И в большинстве случаев это оказывается безрезультатным. Все эти эмоциональные действия очень напоминают ужасную ситуацию с человеком, который внезапно узнал, что у него опасная болезнь.
В данной ситуации жертва находится как бы «в тумане», она готова на необдуманные и рискованные шаги ради скорого своего исцеления, и поэтому нередко становится жертвой шарлатанов и других мошенников. Мошенники, пользуясь таким состоянием жертвы, предлагают ей за небольшую плату простое «спасительное решение» в виде расшифровки или восстановления данных (рис. 1).
Эта история не исключительно российская, так устроена человеческая психология, люди и мошенники похожи везде (рис. 2).
Удивительно, что на своих сайтах и каналах YouTube мошенники часто демонстрируют полное отсутствие элементарных технических знаний по данному вопросу, но мало, кто замечает это. Далеко не все разбираются в этих технических тонкостях (рис. 3).
Чаще всего владельцы подобных сайтов и каналов YouTube – обычные посредники, у которых налажен контакт со злоумышленниками. В лучшем случае они могут оказать содействие в получении декриптора у злоумышленников, за что получат свои комиссионные, а злоумышленники получат свой выкуп. Возможно, жертва и заплатит несколько ниже первоначально заявленной суммы. Однако, как показывает практика, что грамотно организованные переговоры позволяют снизить сумму выкупа еще больше.
Но часто жертве предоставляется бесполезная «пустышка» или бесплатная легитимная утилита, например, декриптор с ресурса NoMoreRansom или средство восстановления данных, которые вполне можно найти и самостоятельно. Во всех неудачах при расшифровке мошенники обвиняют жертву, что это ее неправильные действия приводят к таким неудовлетворительным результатам. Под различными предлогами у жертвы вытягиваются еще и еще деньги, и, в конце концов, злоумышленники просто перестают выходить на связь. Множество таких случаев во всех подробностях изложены самими пострадавшими на тематических форумах. Мы всегда подчеркиваем своим клиентам, если вы стали жертвой вымогателей, не становитесь еще и жертвой мошенников.
Похожая ситуация обстоит и с восстановлением данных. К примеру, программа-вымогатель STOP / Djvu шифрует в файлах всего лишь один блок размером 153 600 байт. Медиафайлы, файлы баз данных в таких случаях можно частично восстановить специализированным программным обеспечением. Но чудес не бывает, файл будет корректно открываться, можно даже искренне радоваться своим возвращенным фотографиям и видео, но какая-то зашифрованная часть данных все же будет безвозвратно потеряна. К сожалению, многие разработчики такого программного обеспечения, осознав, что их программами пользуются для восстановления данных после шифрования, и что они лишаются своей части «пирога», подняли стоимость за их использование или вовсе сделали их платными.
А как же расшифровка? Возможна ли она? Надо признать, в большинстве случаев расшифровка файлов невозможна. Есть надежда на развитие технологий, в том числе квантовых, что в ближайшем будущем удастся расшифровать данные. Например, практически во всех программах-вымогателях семейства Phobos более 5 лет используется один и тот же ключ RSA-1024. Казалось бы, что может проще!? Надо просто разложить следующее полупростое число на два множителя — простых числа:
133250507753262098260237500379202456033297018735730184784616976604627471369258649755690391171372057253986737556516613140541336988267736936053734906649471438239686546953687331690524788687957623347604956929716282949481552654067847162185115767984313537409069827202097918441412365724640931857690709265100371110583
Причем, последняя цифра множителей точно не будет 0, 2, 4, 6, 8. Однако в настоящее время это пока технически невозможно.
Мошенники правы в одном (рис. 1), никогда не следует спешить отчаиваться. Платить или не платить злоумышленникам – это личное дело каждого. Но заплатив, жертва, по сути, инвестирует в этот криминальный бизнес, который существует до тех пор, пока злоумышленникам исправно платят выкупы. Каждая такая выплата порождает новых жертв.
Если не платить выкуп, что делать с зашифрованными данными? Если ли есть такая возможность, определенно имеет смысл оставить наиболее важные зашифрованные файлы с максимально возможным контекстом, в надежде, что их расшифровка станет возможной в ближайшем будущем или правоохранительные органы заполучат в свое распоряжение инфраструктуру злоумышленников, в том числе и закрытые ключи шифрования.
Очевидно, что лучше предотвращать такие атаки, использовать различные защитные решения, чем исправлять возникшую после атаки ситуацию. Но если такая беда случилась, не следует становиться жертвой других мошенников, необходимо обращаться за помощью только к профессионалам. В России достаточно ИБ-компаний с весьма профессиональными специалистами.
Злоумышленниками используется огромное многообразие программ-вымогателей (https://id-ransomware.blogspot.com/), и некоторые из них не лишены изъянов, в результате чего в редких случаях становится возможной расшифровка данных. Компания F.A.C.C.T. и все наши коллеги пытаются найти такие ошибки, чтобы помочь восстановить инфраструктуру не только своим клиентам, но и просто обычным людям. Компания F.A.C.C.T. за последнее время безвозмездно помогла большому количеству жертв, их общая сумма выкупа составила более полумиллиона долларов. Анализируя инструменты, использованные злоумышленниками в атаке, мы различными способами пытаемся оценить возможность расшифровки.
Наши коллеги опубликовали исследование программы-вымогателя ShrinkLocker, которая представляет собой VBS-скрипт. Указанный скрипт использует для шифрования дисков штатное средство Windows BitLocker. Не будем повторять технических подробностей программы-вымогателя, они отлично изложены коллегами.
Мы рассмотрим непосредственно часть, касающуюся генерации пароля BitLocker (рис. 4).
Если взглянуть более пристально на данный код, реализация генерации пароля в программе совершенно не выглядит безупречной. Первое, что бросается в глаза, это получение seed. Для инициализации генератора псевдослучайных чисел VBS используются различные варьируемые системные параметры: объем используемой оперативной памяти, объемы занятого и свободного дискового пространства и т.п. Эти значения в виде строк склеиваются в одно большое число, которое преобразуется в действительное число. Первые 3 параметра определяют цифры мантиссы, а остальные – степень числа.
Но если на проблему посмотреть под совсем другим углом, то оказывается все еще намного проще. Стоит только залезть под капот VBS, немного пореверсить его код и далее реализовать этот функционал на любом удобном для решения задачи языке программирования. Мы выбрали для этой цели Go. В результате скоротечного анализа были созданы аналоги функций VBS на языке программирования Go (рис. 5).
Функция VBRandomize (рис. 5) в дальнейшем не используется для реализации задачи, но она очень наглядно демонстрирует, что в нашем случае все значения seed с плавающей точкой сводятся к целочисленным значениям в диапазоне от 0 до 65535. Следовательно, всего существует 65536 вариантов паролей, и любой сгенерированный пароль будет входить в этот список.
Функция получения пароля в зависимости от целочисленного seed будет иметь следующий вид (рис. 6).
А дальше простая реализация перебора паролей и сохранения их в текстовый файл (рис. 7).
Далее полученный файл с паролями (рис. 8) можно использовать в качестве словаря для подбора пароля BitLocker в специализированном программном обеспечении, таком как, например, Passware.
Перебор 65536 паролей не займет много времени даже с учетом использования высокозатратной функции получения ключа, такой как PBKDF2 (Password-Based Key Derivation Function 2) (RFC 2898).
Если нет возможности использования Passware, но позволяет время, на базе данной программы возможно создать автономный многопоточный брутер. Собственно по этой причине и был изначально выбран язык программирования Go. В данном случае придется самостоятельно реализовать криптосхему BitLocker и использовать для подбора пароля соответствующий зашифрованный сектор диска. Но и эта задача не является трудновыполнимой.
Приоритетом компании F.A.C.C.T. является предотвращение инцидентов, помощь в расследовании и устранении последствий. Для некоторых семейств программ-вымогателей специалистами компании разрабатываются программы расшифровки для восстановления данных.
Напомним, что более подробную техническую информацию о программах-вымогателях и группах вы можете найти на тематическом гитхабе компании F.A.C.C.T. — https://github.com/facct-ransomware.
Комментарии (14)
MountainGoat
30.05.2024 14:19+1Выплату денег вымогателям нужно рассматривать в суде как соучастие в дальнейших действиях этого вымогателя.
merr1um
30.05.2024 14:19+1Для человека, не знакомого с шифратора и/дешифраторами и прочим вытекающим было интересно почитать. Хотелось бы увидеть пост про более сложные ключи шифрования и как плясать с ними
sashocq
30.05.2024 14:19+1Знакомые вот недавно поймали Fast.exe. Ооочень быстро шифрует даже большие файлы (несколько ГБ). И переименовывает их в *.id[...][email].deep.
Зашифровал ВСЁ что можно было :-(
Под это дело начал изучать IDA Pro, чтобы хоть понять что он там делает.
dprotopopov
30.05.2024 14:19Надо просто разложить следующее полупростое число на два множителя — простых числа
Почитайте за алгоритм Шора, за квантовые вычисления, посмотрите на цены на Azure Quantum - поймёте что это уже давно всё лечится - классическая криптография, как она развивалась последние 100 лет, умерла
rivitna
30.05.2024 14:19+1Вы желаемое выдаете за действительное, наука за Вами не поспевает, пока лишь RSA-250 факторизовано
dprotopopov
30.05.2024 14:19я понимаю - ваше образование позволяет вам только перепечатывать чужое
а некоторые, типа вас, до сих пор в комментах мне пишут - что квантовые вычисления не возможны теоретически (тоже приводят ссылки на публикации)
rivitna
30.05.2024 14:19Я искренне восхищен вашими знаниями, думаю, что другие тоже.
Конкретно, что вы кроме балабольства можете предложить знакомым sashocq? Их файлы, кстати, зашифрованы как раз Phobos. Факторизуйте полупростое число из статьи, вы поможете не только им, но и другим тысячам пострадавшим от Phobos, не только по России, но и по всему миру. Можете также помочь и тысячам пострадавшим от LockBit 3, в России сейчас это один из самых активных шифровальщиков. Никто не откажется вам скинуться по соточке, помимо почета и уважения получите миллионы долларов.
Никто не отрицает, что за квантовыми технологиями будущее, но пока для решения практических задач время еще не пришло. Классическую криптографию хоронят уже давно, но что-то пока не получается
dprotopopov
30.05.2024 14:19ну возьмите код алгоритма Шора здесь (у микрософт) https://github.com/microsoft/qsharp/blob/main/samples/algorithms/Shor.qs
модифицируйте его для работы не с типом Int, а используйте BigInteger https://learn.microsoft.com/ru-ru/dotnet/api/system.numerics.biginteger?view=net-8.0 для работы с большими числами в классических вычислениях
оплатите вычисления на портале Azure Quantum https://quantum.microsoft.com/
профит
зы. ах да - вы не знаете как удешевить вычисления - и алгоритм переписать не сможете и не сможете заменить квантовую часть на другие квантовые алгоритмы
dprotopopov
30.05.2024 14:19... наука за Вами не поспевает ...
не путайте чужие публикации с наукой
ps. а как вы считаете - возможно ли нахождение корней квадратичного уравнения? ах - да - уже 21 век на дворе - школьники этот вопрос пролетают на уроке за пять минут.
rivitna
30.05.2024 14:19К сожалению, не могу дискутировать с вами на достойном уровне, я - простой реверсер, мои задачи очень приземленные, наша задача помочь пострадавшим от шифровальщиков. И об этом, кстати, и статья
Может, вы не заметили, но в этой статье есть конкретное решение для пострадавших от конкретного шифровальщика. Чтобы расшифровать диски, понадобится всего несколько часов или еще меньше. Мы его ниоткуда не перепечатали, просто до нас никто до этого не догадался :-)
Hve2024
30.05.2024 14:19начали статью за здравие, закончили за упокой
и да, те же правоохранительные органы получив ключ к расшифровке, сами будут барыжить и никто вам бесплатно дешифровщик не выложит)))
rivitna
30.05.2024 14:19Вот, пожалуйста, полностью бесплатно :-)
https://github.com/facct-ransomware/Ransomware/tree/main/ShrinkLocker
kbnrjlvfrfrfrf
Скажите спасибо что такие добренькие и хотя бы бэкап сделали и зашифровали. А могли бы просто всё стереть в ноль.
rivitna
Спасибо
itshnick88
Спасибо