Исследование

Locky: кругосветный шифровальщик

В феврале 2016 года интернет потрясла эпидемия нового троянца-шифровальщика Locky (вердикт «Лаборатории Касперского» — Trojan-Ransom.Win32.Locky). Активность распространения зловреда не утихает и по сей день, продукты «Лаборатории Касперского» зафиксировали попытки заражения пользователей этим троянцем в 114 странах мира.

Анализ образцов показал, что это абсолютно новый представитель класса вымогателей, написанный с нуля. Что же из себя представляет Locky, и как от него защититься?

Распространение

Для распространения троянца злоумышленники осуществляют массированные рассылки спама с прикрепленными вредоносными загрузчиками.

Сначала вредоносные спамовые письма содержали во вложении DOC-файл с макросом, который загружал с удаленного сервера и запускал на исполнение троянец Locky.

Locky: кругосветный шифровальщик

Письмо из первых рассылок с прикрепленным вредоносным документом

Locky: кругосветный шифровальщик

Фрагмент вредоносного макроса

Продукты «Лаборатории Касперского» детектируют файлы с вредоносными макросами как Trojan-Downloader.MSWord.Agent и HEUR:Trojan-Downloader.Script.Generic.

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

В настоящее время рассылка вредоносного спама продолжается, но к письмам прикреплены уже не DOC-файлы, а ZIP-архивы, которые содержат один или несколько обфусцированных скриптов на языке JavaScript. Язык писем в основном английский, но встречаются и двуязычные варианты.

Locky: кругосветный шифровальщик

Письмо на английском языке с прикрепленным архивом

Locky: кругосветный шифровальщик

Письмо на немецком и английском языках с прикрепленным архивом

Запустить скрипты жертве предлагается вручную.

Locky: кругосветный шифровальщик

Содержимое прикрепленного к письму архива

Locky: кругосветный шифровальщик

Фрагмент скрипта из архива

После запуска скрипт загружает с удаленного сервера и запускает на исполнение троянец Locky.

Такие скриптовые загрузчики продукты «Лаборатории Касперского» детектируют как Trojan-Downloader.JS.Agent и HEUR:Trojan-Downloader.Script.Generic.

География атак

По данным KSN, атаки Locky были зафиксированы в 114 странах.

TOP 10 стран

Страна Количество атакованных пользователей
Франция 469
Германия 340
Индия 267
США 224
ЮАР 182
Италия 171
Мексика 159
Бразилия 156
Китай 126
Вьетнам 107

Отметим, что это статистика только по детектированию самого троянца, в ней не учитываются детекты на ранних стадиях атаки (вредоносный спам и загрузчики).

map_1_ru

География атак Trojan-Ransom.Win32.Locky (количество атакованных пользователей)

Как мы видим, троянец атакует практически все регионы. Мы можем предположить, на какие страны злоумышленники нацелились в первую очередь, на основе списка языков на странице оплаты выкупа (об этом рассказано ниже).

Схема работы троянца

Троянец Locky представляет собой исполняемый файл размером около 100 Кб. Зловред написан на языке С++ с использованием STL и скомпилирован в MS Visual Studio. После старта он копируется в %TEMP%\svchost.exe и удаляет у своей копии NTFS-поток Zone.Identifier (это сделано, чтобы при запуске файла Windows не выводила предупреждение о том, что файл скачан из интернета и потенциально опасен). Затем троянец запускается из %TEMP%.

Запустившись, троянец проверяет наличие и содержимое приведенных ниже ключей реестра.

Путь Тип Значение
HKEY_CURRENT_USER\Software\Locky\id REG_SZ Идентификатор заражения
HKEY_CURRENT_USER\Software\Locky\pubkey REG_BINARY Открытый ключ RSA в формате MSBLOB
HKEY_CURRENT_USER\Software\Locky\paytext REG_BINARY Текст, демонстрируемый жертве
HKEY_CURRENT_USER\Software\Locky\completed REG_DWORD Статус (завершено ли шифрование)

Если в ключах реестра уже есть данные (например, в случае, если зловред запустился не в первый раз, но его работу что-то прервало), Locky считывает их и продолжает заражение.

Если же это первый запуск, троянец выполняет следующие действия:

  1. Связывается с командным сервером и рапортует о заражении;
  2. Получает с сервера открытый ключ RSA-2048 и ID заражения, сохраняет их в реестре;
  3. Отправляет на сервер информацию о языке зараженной ОС, получает текст с требованиями злоумышленников, который впоследствии будет показан жертве, и сохраняет этот текст в реестре;
  4. На локальных дисках ищет и шифрует файлы с определенными расширениями;
  5. Удаляет теневые копии («shadow copies») файлов;
  6. Прописывается в автозагрузку (HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run);
  7. На сетевых дисках (в том числе и на сетевых файловых ресурсах, которым не присвоена буква диска) ищет и шифрует файлы с определенными расширениями;
  8. Показывает жертве требования злоумышленников;
  9. Завершает свой процесс и самоудаляется.

Locky: кругосветный шифровальщик

Фрагмент кода для получения информации о языке системы

Шифрование файлов

Зловред производит поиск файлов для шифрования по заданному списку расширений.

Locky: кругосветный шифровальщик

Список расширений файлов для шифрования

Для каждого найденного файла Locky генерирует новый 128-битный ключ и шифрует содержимое файла алгоритмом AES-128 в режиме CTR. Зашифрованный файл получает имя вида <16 hex-символов ID><16 случайных hex-символов>.locky. В конец файла помещается структура:

Locky: кругосветный шифровальщик

Структура, которую Locky помещает в конец зашифрованного файла

В синтаксисе языка C эту структуру можно описать так:

Описание добавленной структуры в синтаксисе языка С

Требования злоумышленников

После того, как файлы зашифрованы, зловред демонстрирует жертве текст с требованиями злоумышленников.

Locky: кругосветный шифровальщик

Требования злоумышленников на английском языке

Locky: кругосветный шифровальщик

Требования злоумышленников на немецком языке

Сообщение содержит адрес «секретного сервера» злоумышленников, где они разместили информацию о выкупе, которую они требуют заплатить за программу для расшифровки. Все четыре ссылки в сообщении ведут на один и тот же сайт в сети Tor.

В период первых волн рассылки Locky дизайн страницы оплаты выкупа выглядел так:

Locky: кругосветный шифровальщик

Страница Locky с условиями оплаты программы для расшифровки (ранняя версия)

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

Впоследствии дизайн и содержимое страницы поменялись. На сегодняшний день она поддерживает более двух десятков языков (выпадающий список) и выглядит так:

Locky: кругосветный шифровальщик

Страница оплаты выкупа Locky (современная версия)

Если рассмотреть исходный код этой страницы, то мы увидим полный список поддерживаемых языков. Очевидно, именно на те страны, где используются языки из списка, злоумышленники и нацеливают троянца-вымогателя. Что интересно, в списке отсутствует русский язык и языки стран СНГ. Видимо, по каким-то причинам злоумышленники не стремятся атаковать жертв в соответствующих странах, что подтверждается статистикой KSN.

Locky: кругосветный шифровальщик

Список языков, которые поддерживает страница оплаты выкупа Locky

Коммуникация с командным сервером

В коде троянца содержатся от одного до трех IP-адресов C&C. Вдобавок к этому в зловреде реализован алгоритм генерации новых адресов C&C (DGA, domain generation algorithm) в зависимости от текущего дня, месяца и года. С помощью этого алгоритма генерируется шесть адресов C&C в сутки. Псевдокод, иллюстрирующий алгоритм DGA Locky, показан на скриншоте ниже.

locky_rus_16

Псевдокод алгоритма генерации адресов C&C Locky

Взаимодействие с командным сервером происходит по протоколу HTTP. Троянец отправляет POST-запрос на адрес вида http://<cnc_url>/main.php, пересылаемые данные шифруются простым симметричным алгоритмом.

Рассмотрим возможные типы передаваемых параметров.

  1. Нотификация о заражении и запрос ключа.
    id=<id заражения>
    &act=getkey&affid=<id партнера, содержится в теле трояна>
    &lang=<язык системы>
    &corp=<корпоративная ли ОС>
    &serv=<серверная ли ОС>
    &os=<версия ОС>
    &sp=<версия сервис-пака ОС>
    &x64=<битность системы>

    Судя по параметру affid, Locky распространяется партнерской программой.

  2. Отправка списка зашифрованных путей.
    id=<id заражения>
    &act=report&data=<список путей>

    Для каждого обработанного диска троянец отправляет на сервер список всех путей ко всем зашифрованным файлам.

  3. Отправка статистики по каждому обработанному диску.
    id=<id заражения>
    &act=stats&path=<путь>
    &encrypted=<число зашифрованных файлов>
    &failed=<число ошибок>
    &length=<общий размер зашифрованных файлов>

Отметим, что зловред собирает очень подробную статистику по каждому заражению. Другие ранее исследованные нами семейства вымогателей не отличались такой скрупулезностью.

Противодействие

Продукты «Лаборатории Касперского» защищают от троянца-вымогателя Locky на всех этапах атаки:

  • Модуль антиспама детектирует письма, рассылаемые распространителями троянца;
  • Скриптовые загрузчики детектируются статическими и эвристическими сигнатурами почтового и файлового антивирусов с вердиктами Trojan-Downloader.MSWord.Agent, Trojan-Downloader.JS.Agent, HEUR:Trojan-Downloader.Script.Generic;
  • Исполняемый файл троянца детектируется сигнатурами файлового антивируса с вердиктом Trojan-Ransom.Win32.Locky;
  • Неизвестные образцы Locky проактивно детектируются модулем «Мониторинг активности» с вердиктом PDM:Trojan.Win32.Generic.

Профилактика заражения

Locky – типичный троянец-вымогатель, по внутреннему устройству и принципу работы не демонстрирующий никаких кардинальных отличий от других семейств шифровальщиков. Но внимание исследователей привлекло очень активное и широкое распространение этого зловреда. По данным KSN, продукты «Лаборатории Касперского» отразили атаки Locky в более чем 100 странах мира – до сих пор ни один другой троянец-вымогатель не атаковал столько стран одновременно.

Чтобы не стать жертвой троянца-шифровальщика необходимо выполнять следующие профилактические меры:

  • Не открывать в электронной почте почтовые вложения в письмах от неизвестных отправителей;
  • Регулярно создавать резервные копии файлов и хранить их вне компьютера на съемных носителях информации или в «облачных» хранилищах;
  • Своевременно обновлять антивирусные базы, операционную систему и другие программы на компьютере;
  • Управляя доступом к общим сетевым папкам, создавать отдельную сетевую папку для каждого пользователя.

Более подробную информацию о защите от троянцев-шифровальщиков можно найти по ссылке.

Locky: кругосветный шифровальщик

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

 

  1. Владимир

    Сегодня у брата жена открыла письмо и поймала этот шифровальщик. Систему установили недавно и Касперского еще не установили, подскажите что делать? Сам вирус здесь: ***
    Поможет ли установка антивира, сканирование и лечение или есть утилиты от этой заразы!?
    На компе семейный архив фото, документы по работе и конечно танки и все это не работает… (((( СПАСИТЕ!!!

  2. ivica

    Пожалуйста, вы можете мне помочь? Сa Интернет я случайно взял вирус под названием –Cerber-
    Необходимо, чтобы файлы, которые он запирал, их отперить, чтобы они могли быть использованы снова.
    Спасибо за вашу помощь !!

Отчеты

CloudSorcerer: новая APT-угроза, нацеленная на российские государственные организации

«Лаборатория Касперского» обнаружила новую APT-угрозу CloudSorcerer, нацеленную на российские государственные организации и использующую облачные службы в качестве командных серверов аналогично APT CloudWizard.

StripedFly: двуликий и незаметный

Разбираем фреймворк StripedFly для целевых атак, использовавший собственную версию эксплойта EternalBlue и успешно прикрывавшийся майнером.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике