Возвращение Фантомаса, или как мы расшифровали Cryakl

В начале февраля этого года бельгийские правоохранительные органы изъяли C&C-серверы печально известного шифровальщика Cryakl. После этого полиция передала приватные ключи нашим экспертам, которые обновили бесплатную утилиту RakhniDecryptor, предназначенную для восстановления зашифрованных зловредом файлов. Вымогатель, несколько лет атаковавший пользователей в России, а через партнеров — и в ряде других стран, наконец был остановлен.

Для «Лаборатории Касперского» эта победа стала развязкой более чем трехлетней истории наблюдения за Cryakl, изучения его различных модификаций — работы, которая в итоге привела к успеху в борьбе со злоумышленниками. Эта история наглядно иллюстрирует, как совместными усилиями можно рано или поздно саботировать деятельность любого преступника.

Этой весной исполнилось четыре года с момента первых атак зловреда, и на фоне общего спада активности шифровальщиков-вымогателей (об этом вы можете прочитать в нашем отчете) мы решили вернуться к теме Cryakl и рассказать подробно о том, как менялся и совершенствовался один из ярких представителей этого вымирающего вида.

Способы распространения

Впервые мы столкнулись с Cryakl, еще не зная, что он из себя представляет, весной 2014 года. Тогда шифровальщик начал активно распространяться, в основном посредством спам-рассылок. Сначала вредоносные вложения обнаруживались в письмах, отправленных якобы Высшим арбитражным судом РФ в связи с некими правонарушениями, а спустя какое-то время сообщения стали приходить и от других ведомств, в частности от ТСЖ.

В типичном вредоносном письме содержалось вложение одного из следующих типов:

  • Офисный документ с вредоносным макросом
  • JS-скрипт, загружающий троянца
  • PDF документ с ссылкой на исполняемый файл

Примерно тогда же зловред и обрел свое второе имя: одна из вариаций Cryakl (Trojan-Ransom.Win32.Cryakl.bo) после окончания шифрования файлов на диске пользователя меняла картинку на Рабочем столе на обращение от лица ретро-злодея Фантомаса из одноименного французского фильма:

Позднее, в 2016 году, мы обнаружили интересную модификацию шифровальщика, распространявшуюся по довольно хитрой схеме. Это сегодня атакой с привлечением стороннего, специализированного ПО вряд ли кого-то удивишь, а для «Фантомаса» разлива 2016 года такое не было в порядке вещей — злоумышленники рассылали зловред в виде скрипта для популярной в России бухгалтерской программы и средства организации бизнес-процессов предприятия. Коварство такого вектора атаки очевидно: сотрудники, получив письмо с просьбой «обновить классификатор банков», открывали исполняемый файл.

В выборе не было ничего удивительного: в основном Cryakl был нацелен на пользователей из России, и в большинстве случаев требование выкупа было написано на русском языке. Однако дальнейшее исследование показало, что киберпреступники, распространявшие «Фантомаса», решили не ограничивать себя российским рынком.

В 2016 году мы наблюдали растущую сложность и разнообразие программ-вымогателей, в том числе и появление готовых решений типа «вымогатель как услуга» (Ransomware-as-a-Service, RaaS) для тех, у кого недостаточно навыков, ресурсов или времени на создание собственного шифровальщика. Распространялись подобные услуги через расширяющуюся и все более эффективную подпольную экосистему.

Именно по этому пути и пошли изготовители Cryakl: «партнеры» покупают его билд, чтобы применять его для атак на пользователей в других регионах, а авторы монетизируют свой исходный продукт по второму кругу.

Статистика

Расширяя свою инфраструктуру, Cryakl расширял и географию атак. Со времени первых заражений до сегодняшнего дня мы защитили от действий «Фантомаса» более 50 тыс. человек в России и тысячи — в Японии, Италии, Германии.

Географическое распределение пользователей, атакованных Cryakl

Если посмотреть на данные об активности Cryakl в разные годы, становится видно, что первые заметные признаки жизни зловред начал подавать в 2014 году.

Количество уникальных пользователей, у которых был задетектирован Cryakl, 2014–2018 гг.

Примерно в то время, когда авторы шифровальщика обратились к модели RaaS, «Фантомас» действительно разбушевался, увеличив количество атак более чем в шесть раз.

Отличительные особенности

Несмотря на количество и разнообразие модификаций, наличие «партнеров» и долгой истории, нельзя сказать, что зловред претерпевал существенные изменения — разница между версиями была незначительна. Это позволяет выделить основные особенности «Фантомаса».

Cryakl написан на Delphi, при этом крайне плохо: это сразу бросилось нам в глаза, когда мы впервые изучили одну из его первых версий. Файловые операции производились чрезвычайно неэффективно, а алгоритм шифрования был элементарным и нестойким. Мы даже подумали, что имеем дело с тестовой сборкой (тем более, что внутренняя версия была обозначена как 0.0.0.0). В результате возникало впечатление, что автор Cryakl был не слишком опытным вирусописателем. Возможно, в силу возраста — как тут не вспомнить, что все начиналось с рассылок писем о военном призыве.

Первая обнаруженная версия зловреда не меняла имена зашифрованных файлов, но помещала в конец каждого файла текстовую структуру, содержащую MD5 от заголовка, MD5 от самого файла, его оригинальный размер, оффсеты и размеры зашифрованных кусков. Заканчивалась она маркером {CRYPTENDBLACKDC}, необходимым, чтобы отличать зашифрованные файлы от незашифрованных.

Мы продолжали свои наблюдения и в последующие месяцы регулярно обнаруживали все новые и новые версии Cryakl: 1.0.0.0, 2.x.0.0, 3.x.0.0, …, 8.0.0.0. В разных версиях злоумышленники вносили изменения в алгоритм шифрования, а также в схему именования файлов (они стали получать расширения вида .id-{….08.2014 16@02@275587800}-email-mserbinov@aol.com-ver-4.0.0.0.cbf). Многократно изменялась и текстовая структура в конце файла, в нее добавлялись новые данные, участвующие в шифровании и расшифровке, а также разнообразная служебная информация.

После этого мы обнаружили версию Cryakl CL 0.0.0.0 (не путать с 0.0.0.0), заметно отличавшуюся от предыдущих модификаций: вдобавок к шифрованию некоторых частей файла самописным симметричным алгоритмом троянец по непонятным причинам стал шифровать другие его части алгоритмом RSA. Другим заметным изменением стала отправка ключевых данных, использующихся при шифровании, на командные серверы злоумышленников. Структура в конце зашифрованного файла стала обрамляться новыми тегами ({ENCRYPTSTART}, {ENCRYPTENDED}), нужными для его определения.

Изображение в одной из модификаций Cryakl CL 0.0.1.0

В версии CL 1.0.0.0 троянец перестал пересылать ключи через интернет, вместо этого необходимые для расшифровки данные он стал шифровать RSA и помещать в структуру в конце файла.

В последующих версиях CL 1.1.0.0 — CL 1.2.0.0 принципиально ничего не менялось, только увеличивался размер используемых ключей RSA. Это в целом повысило уровень шифрования, но не изменило ситуацию кардинальным образом.

Изображение в одной из модификаций Cryakl CL 1.2.0.0

Начиная с версии CL 1.3.0.0 троянец — снова по непонятным причинам — перестал шифровать регионы в файлах алгоритмом RSA. Алгоритм стал использоваться только для шифрования ключей, а содержимое файлов обрабатывалось претерпевшим некоторые изменения самописным симметричным алгоритмом.

Изображение в одной из модификаций Cryakl CL 1.2.0.0

В качестве способа связи злоумышленники во всех версиях зловреда оставляли различные адреса электронной почты. Эти адреса содержатся в именах зашифрованных файлов (например, email-eugene_danilov@yahoo.com.ver-CL 1.3.1.0.id-….randomname-FFIMEFJCNGATTMVPFKEXCVPICLUDXG.JGZ.lfl) и на картинке, устанавливаемой троянцем в качестве обоев Рабочего стола. В ответ на письма жертвы получали сумму выкупа в Bitcoin и адрес криптовалютного кошелька.

После поступления средств на счет преступники отправляли пострадавшему утилиту-декриптор и ключевой файл.

Сроки выплаты варьировались — например, уже упомянутый нами Trojan-Ransom.Win32.Cryakl.bo требовал от жертвы произвести оплату в течение 48 часов. Причем злоумышленник не указывал сразу, какую конкретно сумму он хочет получить за свою «помощь», и сообщал о стоимости дешифратора лишь в ответном письме. Не исключено, что она варьировалась в зависимости от количества и качества зашифрованных файлов. Например, в одном из случаев заражения, злоумышленники запросили $1000. Перед этим, по словам жертвы, они подключились к пострадавшему компьютеру и удалили с него все резервные копии.

Смерть «Фантомаса»

Проблема с Cryakl заключалась в том, что в его наиболее свежих версиях применялось ассиметричное шифрование RSA. В теле зловреда содержались публичные ключи, которые использовались для шифрования данных пользователей. Без знания соответствующих приватных ключей мы не могли создать утилиту для расшифровки. Изъятые бельгийскими правоохранительными органами и переданные нам ключи позволили расшифровать несколько версий вымогателя.

Фрагмент приватных ключей RSA

Используя полученные ключи, мы добавили в утилиту Rakhni Decryptor функциональность для восстановления файлов, зашифрованных следующими версиями Cryakl:

Версия троянца Почта злоумышленников
CL 1.0.0.0 cryptolocker@aol.com
iizomer@aol.com
seven_Legion2@aol.com
oduvansh@aol.com
ivanivanov34@aol.com
trojanencoder@aol.com
load180@aol.com
moshiax@aol.com
vpupkin3@aol.com
watnik91@aol.com
CL 1.0.0.0.u cryptolocker@aol.com_graf1
cryptolocker@aol.com_mod
byaki_buki@aol.com_mod2
CL 1.2.0.0 oduvansh@aol.com
cryptolocker@aol.com
CL 1.3.0.0 cryptolocker@aol.com
CL 1.3.1.0 byaki_buki@aol.com
byaki_buki@aol.com_grafdrkula@gmail.com
vpupkin3@aol.com

Публикации на схожие темы

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *