Вымогатели из Даркнета: новый шифровальщик Spora

Программы-вымогатели признаны растущей угрозой: новые вымогатели появляются каждую неделю. Эксперты Лаборатории Emsisoft часто участвуют в выявлении и анализе новых угроз, и новая программа-вымогатель не стала исключением. Первоначально мы заметили этого вымогателя на сайте ID-Ransomware. Наше внимание привлекли неспецифичные для ранее известных вымогателей характеристики и довольно высокий уровень профессионализма как во внедрении шифровальщика на компьютер жертвы, так и в подаче последующей информации. В этой статье мы не только подробно рассмотрим внутренние механизмы Spora, но также уделим внимание его сложной бизнес-модели и расскажем, как Вы можете защитить себя от новейших семейств вымогателей.

Spora – новый вымогатель-шифровальщик

Spora написан на C и запакован с помощью упаковщика исполняемых файлов UPX. В отличие от большинства семейств вымогателей, Spora не переименовывает те файлы, которые шифрует, поэтому нет никаких конкретных расширений файлов, связанных именно с этим шифровальщиком. После заражения системы шифровальщик оставляет хорошо свёрстанную HTML-записку и файл с .KEY-расширением. Основное имя и того, и другого файла идентично идентификатору пользователя, который вымогатель присваивает конкретному пользователю. Записка от вымогателей написана по-русски:

Требование о выкупе на русском языке

Требование о выкупе, переведённое на английский язык

Если Вы введёте присвоенный Вам идентификационный номер и кликните по большой кнопке, то попадёте на веб-сайт вымогателей:

Веб-сайт, на который Вы попадаете после того, как кликните по записке злоумышленников.

Английская версия сайта для оплаты выкупа.

Пара моментов, на которые мы сразу обратили внимание. Во-первых, подача и сам интерфейс выглядят профессионально и почти красиво. Во-вторых, в отличие от других программ-вымогателей, сумма выкупа, требуемая создателями Spora, показалась нам сравнительно низкой. Немного позднее мы объясним, как и почему это происходит. Наличие различных «пакетов», которые программа-вымогатель предлагает оплатить своим жертвам, определённо вызывает интерес. Вы можете выбрать, за что заплатить: только за восстановление Ваших зашифрованных файлов или за удаление программы-вымогателя и создание иммунитета к будущим атакам за дополнительную плату. Поэтому в Spora есть что-то такое, чего мы раньше не наблюдали в других программах-вымогателях. На веб-сайте вымогателей работает чат, через который Вы можете связаться со злоумышленниками. Его, конечно, сложно назвать чем-то уникальным, но чат с вымогателями это определённо не самое часто встречаемое явление. Пока отмечается, что злоумышленники отвечают жертвам довольно оперативно.

Как шифровальщик Spora попадает на ПК пользователей?

В настоящее время Spora направлен только на российских пользователей. Шифровальщик распространяется посредством электронной почты, маскируясь под вложение со счётом-фактурой из бухгалтерской программы 1C, популярной в России и странах бывшего СССР. К настоящему моменту известен файл под названием «Скан-копия _ 10 января 2017г. Составлено и подписано главным бухгалтером. Экспорт из 1С.a01e743_рdf.hta». Файл имеет двойное расширение с целью обмануть пользователя, заставив его поверить, что это всего лишь очередной счёт в формате PDF, в то время как настоящее расширение файла – HTA.

HTA-файлы – это, так называемые, HTML-приложения. Идея HTML-приложения заключается в том, чтобы позволить любому пользователю написать десктопное приложение на HTML и на различных скриптовых языках. Представьте Ваш браузер, но только без механизмов безопасности, которые не дают веб-сайту изменять что-либо в Вашей системе. Два языка скриптов, которые поддерживаются HTML-приложениями в ОС Windows, это JScript и VBScript. Они оба использованы и в Spora.

Когда пользователь дважды кликает по HTA-файлу, тот создаёт в %TEMP% новый файл под названием close.js, а затем записывает зашифрованный скрипт в указанный файл. После этого выполняется JScript:

Содержание HTA-загрузчика

JScript зашифровывается с помощью стандартных алгоритмов и CryptoJS, чтобы избежать обнаружения. Если вы деобфусцировали, то Вы найдёте огромную закодированную строку BASE64, которая содержит исполняемый файл вредоносной программы. Цель скрипта – дешифровать указанную строку и поместить два файла в папку пользователя %TEMP%:

  • doc_6d518e.docx
  • 81063163ded.exe

Затем дроппер JScript попытается открыть или выполнить оба файла, после чего он завершает работу. Первый файл – это документ, содержащий неверные данные, которые приведут к отображению сообщения об ошибке при попытке открыть WordPad или Word:

Поддельно “повреждённый” документ

Мы предполагаем, что такой сценарий поведения продуман заранее, чтобы отвлечь внимание пользователя от того факта, что ожидаемый документ вообще не является тем, чем он должен быть, и сконцентрировать внимание на том, что файл был повреждён во время пересылки. “Повреждённый” документ снижает уровень подозрительности пользователя к самому вредоносному HTA-файлу, который он только что запустил. Второй файл, собственно, и является настоящим вымогателем, который шифрует данные.

Spora: генерация ключей и шифрование

Spora использует сочетание RSA и AES для шифрования данных жертвы. Чтобы облегчить шифрование в системе, используется CryptoAPI, интерфейс прикладного программирования приложений от Windows. После того, как шифровальщик оказывается в системе, Spora первым делом находит и дешифрует открытый RSA-ключ создателя вредоносной программы, встроенный внутрь исполняемого вредоносного файла, с помощью жёстко закодированного AES-ключа. После успешного извлечения открытого RSA-ключа создателя вредоносной программы, шифровальщик создаёт новую 1024-битную пару RSA-ключей, которую мы будем называть парой RSA-ключей жертвы (закрытого и открытого ключа). Также генерируется новый 256-битный AES-ключ для шифрования закрытого RSA-ключа жертвы. Как только закрытый RSA-ключ жертвы будет зашифрован, то шифруется уже AES-ключ с помощью открытого RSA-ключа автора шифровальщика. Затем зашифрованный набор ключей вместе с некоторой дополнительной информацией сохраняется внутри файла с расширением .KEY.

Чтобы зашифровать документ или файл в Вашей системе Spora сначала генерирует новый 256-битный AES-ключ. Этот ключ служит для того, чтобы зашифровать первые 5 МБ файла. После этого вредоносная программа зашифрует ключ к файлу с помощью открытого RSA-ключа жертвы, а затем этот ключ к файлу, зашифрованный с помощью RSA-ключа, присоединяется к зашифрованному файлу.

На первый взгляд, этот процесс может показаться запутанным, но, по сути, он позволяет создателю вредоносной программы действовать без необходимости в удалённом сервере, с которым зловред мог бы общаться во время заражения и который можно было бы снести. Это означает, что Spora может шифровать без Интернет-подключения. Этот вымогатель решил также проблему уязвимостей в других семействах вымогателей, например, в DMA Locker 3.0, когда открытый ключ автора вредоносной программы был напрямую использован для шифрования ключа к файлам, в результате чего декриптор для одной из жертв успешно подошёл к всем остальным жертвам этой же вредоносной «кампании».

К сожалению, после анализа способа, который используется Spora для шифрования, выявлено, что нет иного способа восстановления зашифрованных файлов, кроме как получения доступа к закрытому ключу автора вредоносной программы.

Скажи мне, кто ты, и я расскажу, сколько тебе нужно заплатить

Как мы уже говорили, Spora не похож на других вымогателей по многим параметрам. Дело даже не в том, что ему удалось осуществить процедуры шифрования с первой же попытки, что на сегодня в мире криптовымогателей не само собой разумеющееся даже с такими масштабными и профессионально проведёнными кампаниями как в случае с Cerber, когда была слабая защита при их первых попытках. Создатель Spora также внедрил уникальный механизм ценообразования, который определяет, сколько должна заплатить та или иная жертва.

Как упоминалось ранее, создаваемый вымогателем файл .KEY содержит не только закрытый RSA-ключ жертвы, но и некоторую дополнительную информацию:

Незашифрованное содержание файлов .KEY

Закрытый RSA-ключ сразу виден, и мы говорили о его значимости ранее. Но мы бы хотели обратить Ваше внимание на дополнительную информацию в самом конце. После закрытого RSA-ключа идёт дата, когда произошло заражение, юзернейм жертвы и регион заражённой системы. Следующее значение – это жёстко закодированный идентификатор. Аналогичные значения имеются у всех пользователей, ставших жертвами заражения того же образца Spora, который мы проанализировали. Мы относительно уверены в том, что это используется как идентификатор различных «кампаний», чтобы отслеживать их эффективность и выплачивать долю полученных выкупов тем лицам, которые отвечают за проведение этих кампаний, предполагая, что Spora может быть предложена как «программа-вымогатель-как-сервис».

Следующие шестизначные величины особенно интересны. При выборе целей для шифрования, Spora будет сортировать файлы по шести категориям в зависимости от расширения:

Категории типов файлов, согласно определению Spora

Затем эти статистические данные включаются в файл.KEY в качестве части шестизначных значений. Более того, эти данные будут определять размер выкупа, который можно требовать у данной жертвы. Ранее мы уже сталкивались со случаями разных размеров выкупов во время целевых атак через RDP, когда хакеры проверяли, кто владеет сервером и какие файлы там содержатся, ещё до шифрования. Однако создатели Spora пошли дальше и не только ввели эту тактику в мейнстрим, но и полностью автоматизировали её. Это также объясняет, почему расценки для нашей тестовой системы были столь низки: там практически не было никаких файлов, которые бы создатель вредоносной программы посчитал ценными.

Кроме того, содержание блока .KEY и статистические данные также используются для создания идентификатора пользователя, который необходимо ввести, чтобы получить доступ к веб-панели в первый раз. Типичный идентификатор может выглядеть вот так:

US741-85RZR-TRTZT-ZTFFT-ZYYYY

Идентификаторы Spora будут всегда присутствовать в пятизначных блоках, разделённых дефисом. Первые два знака (US) – это двухзначный код страны. Следующие 5 знаков (75185) – это первые пять знаков MD5-хеша, рассчитанного из незашифрованного содержимого .KEY-файла. Следующие буквы (RZRTRTZTZTFFTZ) – это строчка с данными из зашифрованного .KEY-файла с простым подстановочным шифром. Все символы конвейеризации (|) замещены T-знаками. Остальные подмены можно увидеть в следующем фрагменте кода:

Таблица подстановок, используемая Spora для шифрования статистических данных в идентификаторе пользователя

Таблица подстановок, используемая Spora для шифрования статистических данных в идентификаторе пользователя

Если последний блок не сводится к 5 символам, он заполняется Y-символами. Основываясь на этом, можно отследить количество файлов, зашифрованных Spora, используя один только идентификатор. В настоящее время мы работаем вместе с такими платформами как «ID Ransomware» и «No More Ransom», чтобы собрать статистические данные, основанные на идентификаторах, содержащихся в загруженных записках вымогателей.

Как я могу защитить себя от Spora?

Как мы уже объясняли в одной из статей нашего блога, лучшей защитой, по-прежнему, остаётся надёжная и зарекомендовавшая себя стратегия создания резервных копий. Тем более, что шифрование, используемое Spora, является надёжным. И единственный способ получить обратно свои данные – обратиться к создателю программы-вымогателя. Помимо необходимости регулярного резервного копирования, другой подтверждённой лучшей защитой является технология “Анализ поведения”, которая используется в Emsisoft Anti-Malware и Emsisoft Internet Security. Благодаря “Анализу поведения” программа-вымогатель выявляется раньше, чем файл будет выполнен. И это в очередной раз защищает наших пользователей от этого вымогателя и от сотен других программ семейств вымогателей даже без необходимости в их сигнатурах.

Пользователи Emsisoft Anti-Malware и Emsisoft Internet Security защищены от Spora и других программ-вымогателей с помощью Анализа поведения, вне зависимости от того, используется JScript или просто исполняемый файл.

Хотя мы и считаем вымогателей-шифровальщиков одной из самых больших угроз прошлого года, но мы планируем и дальше делать всё от нас зависящее, чтобы пополнять список обезвреженных нашими продуктами угроз, чтобы наши пользователи были всегда максимально защищены.