Шифровальщик с ироничным названием Data Keeper является типичным зловредом, распространяемым по модели Ransomware-as-a-Service (RaaS). Это означает, что использовать его может буквально любой желающий злоумышленник – достаточно зайти на сайт в сети Tor и создать персональный исполняемый файл троянца с нужными настройками. Главное, не забывать, что создатели «генератора» не занимаются благотворительностью, т.е. определенную долю от собранного выкупа придется отдать им.
Технические детали
Вот перечень настроек, доступных желающему создать свой Data Keeper:
- Запуск дополнительного файла (полезной нагрузки или легальной программы для отвлечения внимания жертвы);
- Указание списка расширений файлов для шифрования;
- Включение шифрования сетевых ресурсов в локальной сети;
- Запуск от имени администратора для получения повышенных привилегий в системе;
- Распространение по локальной сети с помощью утилиты PsExec.
Процесс запуска DataKeeper состоит из нескольких стадий. Код каждой написан на .NET и защищен с помощью ConfuserEx. Кроме того, строки дополнительно зашифрованы XOR с 32-байтовым ключом и закодированы Base64. Ресурсы упакованы с помощью алгоритма Deflate, также зашифрованы XOR и закодированы Base64.
Последовательность исполнения выглядит следующим образом:
- Стартует изначальный исполняемый файл. Он распаковывает из собственных ресурсов исполняемый файл второй стадии, сохраняете его в директории %LocalAppData% с псевдослучайным именем и расширением .bin, а затем запускает.
- Файл второй стадии (тот самый .bin) распаковывает библиотеку DLL третьей стадии, загружает ее в память и передает ей управление (на диске библиотека не сохраняется).
- Получив управление, библиотека третьей стадии с помощью WMI проверяет, установлен ли в системе какой-нибудь антивирусный продукт. Если нет, то немедленно приступает к работе. Если да, то выжидает случайный промежуток времени от 30 до 60 секунд, и только затем распаковывает из своих ресурсов DLL четвертой стадии, загружает ее в память и передает ей управление (на диске библиотека также не сохраняется). Кроме того, в коде этой стадии содержится функция определения запуска на виртуальных машинах (VmWare и VirtualBox), однако, в исследованном нами образце этот код не вызывается.
- DLL четвертой стадии представляет собой основную полезную нагрузку шифровальщика.
Шифрование файлов
Авторы троянца решили использовать стандартную схему шифрования AES+RSA. В ресурсах DLL четвертой стадии содержится список расширений файлов, подлежащих шифрованию, публичный мастер-ключ RSA, текст требований, ID образца трояна и другая вспомогательная информация.
В процессе исполнения зловред генерирует ID заражения, случайный ключ, вектор инициализации (IV) и шифрует файлы с подходящими расширениями алгоритмом AES в режиме CBC. В конец каждого файла помещается ID заражения.
Ключ и вектор инициализации не меняются от файла к файлу. Для обеспечения возможности расшифровки Data Keeper шифрует эти ключевые данные алгоритмом RSA и сохраняет результат в файле с требованиями, который имеет имя !!! ##### === ReadMe === ##### !!!.htm
Схема организована таким образом, что DataKeeper не требует соединения с интернетом при шифровании. Для расшифровки жертве придется самостоятельно зайти на страницу оплаты, ссылка на которую есть в файле с требованиями.
Распространение по сети
Как упоминалось выше, DataKeeper может распространяться по локальной сети, используя утилиту PsExec. Интересно отметить, что соответствующий исполняемый код всегда присутствует в теле троянца, однако в зависимости от того, была ли при генерации шифровальщика выбрана возможность самораспространения, в ресурсах может отсутствовать исполняемый файл PsExec.
Таким образом, если при генерации образца DataKeeper возможность самораспространения включена, то в ресурсах PsExec присутствует, в противном случае ресурс с именем PsExec остается пустым и самораспространение не функционирует.
Способ распространения Data Keeper остается на усмотрение участника RaaS-программы, троянец может как использоваться для таргетированных атак, так и стать частью вредоносной спам-рассылки. Однако мы пока не наблюдаем сколько-нибудь массовые атаки с использованием «сгенерированных» троянцев.
Продукты «Лаборатории Касперского» детектируют образцы Data Keeper как HEUR:Trojan-Ransom.Win32.Generic и PDM:Trojan.Win32.Generic.
MD5: 75dd2cdf1a2d2cafcd90f34214f5f037
Data Keeper: троянец-шифровальщик к вашим услугам