Описание вредоносного ПО

Новый троянец CryWiper прикидывается шифровальщиком

Большинство кибератак имеют финансовую мотивацию, однако в последнее время возросло число атак, цель которых — не обогащение, а нанесение ущерба жертве. Одним из инструментов таких атак являются вайперы (от англ. wiper) — программы, которые уничтожают данные без возможности восстановления. К наиболее известным вайперам, появившимся в 2022 году, относятся DoubleZero, IsaacWiper, HermeticWiper, CaddyWiper, WhisperGate, AcidRain, Industroyer2 и RuRansom.

Осенью 2022 года наши решения зафиксировали попытки ранее неизвестного троянца, которого мы назвали CryWiper, атаковать сеть организации в Российской Федерации. Изучив образец вредоносного ПО, мы выяснили, что этот троянец, хотя и маскируется под шифровальщика и вымогает у жертвы деньги за «расшифровку» данных, в действительности не шифрует, а целенаправленно уничтожает данные в пострадавшей системе. Более того, анализ программного кода троянца показал, что это не ошибка разработчика, а его изначальный замысел.

Технические детали CryWiper

Попавший к нам образец CryWiper — это 64-битный исполняемый файл под ОС Windows. Зловред разработан на языке C++ и собран с помощью набора инструментов MinGW-w64 и компилятора GCC. Это не самый распространенный подход среди разработчиков вредоносного ПО на C/C++ под Windows — для таких целей чаще используют среду разработки Microsoft Visual Studio. Сборка с помощью MinGW целесообразна либо при разработке кросс-платформенного приложения под разные ОС (например, под Windows, Linux и/или FreeBSD), либо если сам разработчик в качестве основной ОС использует что-либо отличное от Windows. Отметим, что в случае CryWiper первый вариант маловероятен, так как троянец использует много вызовов WinAPI-функций.

Дата сборки образца, в соответствии с полем PE заголовка: 2022-09-06 11:08:54.
Образец троянца был обнаружен по следующему пути:

Алгоритм работы CryWiper

Создание задачи в планировщике

После запуска CryWiper с помощью планировщика заданий (Task Scheduler) и команды schtasks create создает задачу для запуска собственного файла каждые 5 минут.

Создание задачи в планировщике

Создание задачи в планировщике

Коммуникация с C&C

Затем троянец обращается к своему командному серверу с помощью запроса HTTP GET и в виде параметра передает имя зараженного компьютера.

Создание задачи в планировщике

Запрос CryWiper и ответ от C&C

В ответ сервер C&C отправляет строку run либо do not run, которая управляет поведением троянца. Если вернулось run, то CryWiper сразу приступит к вредоносной активности.

Во всех остальных случаях исполняется особая логика, которая, судя по результатам нашего анализа, задумана как отсрочка выполнения на 4 суток (345 600 секунд). Однако реализована она неудачно: код написан так, что зловред ни при каких условиях не будет ждать указанное время и просто завершит исполнение, если не получил команду run. CryWiper сохраняет текущее время в реестре (параметр HKCU\Software\Sysinternals\BrowserUpdate\Timestamp) сразу перед проверкой ответа от сервера. Получив команду do not run или не получив указаний, он вычисляет, сколько секунд прошло с сохраненного момента, и, если это значение меньше 345 600 секунд, завершает работу. При этом оно никогда не будет больше 345 600 секунд — в действительности проверка занимает лишь доли секунды. А при следующем запуске (см. выше — для этой цели троянец создавал задачу в планировщике) CryWiper снова перезапишет значение Timestamp.

Код, замеряющий время и проверяющий ответ от C&C

Код, замеряющий время и проверяющий ответ от C&C

Остановка процессов, изменение настроек

Получив ответ run, CryWiper с помощью команды taskkill останавливает процессы, относящиеся к работе серверов баз данных MySQL и MS SQL, почтового сервера MS Exchange и веб-служб MS Active Directory. Троянец делает это для того, чтобы иметь доступ к файлам, которые были бы заняты этими процессами в случае их нормальной работы.

Остановка процессов и удаление теневых копий

Остановка процессов и удаление теневых копий

Кроме того, троянец удаляет теневые копии файлов при помощи команды vssadmin delete shadows /for=c: /all, что, однако, затрагивает только диск C:. Вероятно, это еще одна оплошность злоумышленника.

Также интересная деталь связана с изменением параметра реестра HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\fDenyTSConnections, который отвечает за запрет подключения к системе по протоколу удаленного рабочего стола (RDP). При атаках с использованием программ-вымогателей злоумышленники зачастую выставляют значение этого параметра на 0, чтобы разрешить к системе доступ по RDP, — например, с целью горизонтального распространения в скомпрометированной сети.

Здесь же мы наблюдаем противоположное поведение: CryWiper устанавливает значение 1, что запрещает доступ по RDP.

Запрет доступа по RDP

Запрет доступа по RDP

Цель этого действия не вполне ясна. Возможно, таким образом разработчик троянца пытается усложнить жизнь ИБ- и IT-специалистам, которые будут участвовать в реагировании на инцидент, — из-за этой настройки они не смогут без дополнительных действий удаленно подключиться к зараженной системе.

Уничтожение данных

Для уничтожения пользовательских файлов CryWiper генерирует последовательность данных при помощи известного генератора псевдослучайных чисел «Вихрь Мерсенна» и записывает эти данные вместо оригинального содержимого файла.

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

Игнорируемые расширения файлов Подстроки в пути к игнорируемым директориям
.exe C:\Windows
.dll tmp
.lnk winnt
.sys temp
.msi thumb
.CRY System Volume Information
Boot
Windows
Trend Micro

Файлы с испорченным содержимым получают дополнительное расширение .CRY.

Запрет доступа по RDP

Часть процедуры, реализующей ГПСЧ «Вихрь Мерсенна». Выделены характерные константы

Примечательно, что точной такой же алгоритм генерации псевдослучайных чисел использовал другой вайпер — IsaacWiper. Впрочем, никакой иной взаимосвязи между ними обнаружить не удалось. Кроме того, они использовались в атаках на разные цели. Так, IsaacWiper был замечен в атаках на государственный сектор Украины, а CryWiper, по имеющимся у нас данным, атаковал организацию в Российской Федерации.

Часть процедуры, уничтожающей содержимое файлов

Часть процедуры, уничтожающей содержимое файлов

CryWiper маскируется под шифровальщика и сохраняет в файле README.txt требования о выкупе. В тексте требований используются типичные для вымогательского ПО формулировки, а также приводится адрес Bitcoin-кошелька для оплаты выкупа, адрес почты для связи со злоумышленниками и ID заражения.

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

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

Текст требований CryWiper

Текст требований CryWiper

Связь с другими семействами

С точки зрения кода и функциональности CryWiper — новый зловред, не связанный с уже существующими семействами. Однако среди вайперов редко используется генерация случайных значений при помощи «Вихря Мерсенна» — чаще встречаются более простые варианты. Выбор алгоритма в CryWiper совпадает с ранее упомянутым IsaaсWiper – единственным из популярных вайперов, который генерирует псевдослучайные значения с помощью этого алгоритма.

Еще одно довольно интересное пересечение с другим вредоносным ПО мы нашли при анализе адреса электронной почты в записке. Оказалось, что этот адрес уже использовался ранее, но не в вайперах: он содержался в нескольких образцах шифровальщиков (например, MD5: 4A42F739CE694DB7B3CDD3C233CE7FB1, 71D9E6EE26D46C4DBB3D8E6DF19DDA7D, 0C6D33DA653230F56A7168E73F1448AC). Два из них относятся к программам-вымогателям хорошо известного семейства Trojan-Ransom.Win32.Xorist, третий является не получившим большой известности образцом из семейства Trojan-Ransom.MSIL.Agent. Самый ранний образец, использующий этот адрес, датирован серединой июня 2017 года.

Заключение

CryWiper позиционирует себя как программа-вымогатель, то есть утверждает, что файлы жертвы зашифрованы и в случае оплаты выкупа их можно восстановить. Однако это обман: на самом деле данные уничтожены и вернуть их нельзя. Деятельность CryWiper в очередной раз показывает, что оплата выкупа не гарантирует восстановление файлов.

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

  • Защитные решения с возможностью поведенческого анализа файлов, выявляющие и блокирующие вредоносное ПО, — например, KES.
  • MDR— и SOC-сервисы, позволяющие своевременно обнаружить вторжение и принять меры по реагированию.
  • Динамический анализ почтовых вложений и блокировка вредоносных файлов и URL-адресов. Это затруднит атаки по электронной почте — одному из наиболее распространенных векторов. Такая функциональность есть, например, в Kaspersky Anti Targeted Attack (KATA).
  • Проведение регулярных тестирований на проникновение и RedTeam-проектов. Это поможет выявить уязвимые места инфраструктуры организации, защитить их и тем самым значительно уменьшить поверхность атаки для злоумышленников.
  • Мониторинг данных об угрозах. Для своевременного обнаружения и блокировки вредоносной активности необходимо располагать актуальной информацией о тактиках, инструментах и инфраструктуре злоумышленников. Для этого нужны потоки данных об угрозах, например Kaspersky Threat Data Feeds.

IoC

14808919a8c40ccada6fb056b7fd7373 — Trojan-Ransom.Win64.CryWiper.a
c:\windows\system32\browserupdate.exe — путь к образцу троянца в системе
hxxp://82.221.141.8/IYJHNkmy3XNZ — сервер C&C

Новый троянец CryWiper прикидывается шифровальщиком

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

 

  1. Андрей

    14808919a8c40ccada6fb056b7fd7373 — обнаружение на образец не отрывается на VirusTotal

    1. Securelist

      Андрей, добрый день!

      Образцы, собранные нашими решениями, относятся к данным клиентов, поэтому мы не публикуем их в открытом доступе, в том числе на VirusTotal.

Отчеты

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

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

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

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

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