Как защитится от прог­раммы‑вымога­теля Ryuk

Как защитится от прог­раммы‑вымога­теля Ryuk

Ryuk -это программный код-вымогатель, что шифрует файлы и требует с потерпевших плату в биткойнах, для того чтобы предоставить в распоряжение ключи дешифрования. Используется исключительно для целевых атак. Эта программа-вымогатель была впервые обнаружена в августе 2018 года в рамках кампании, нацеленной на несколько компаний. Наши специалисты проанализировали начальные версии вредоносной программы и выявили сходство и общие фрагменты исходного кода с программой-вымогателем Hermes. Hermes — это программа-вымогатель для массового распространения, которая продается на подпольных форумах и используется несколькими хакерскими группами. Так как защитится от прог­раммы‑вымога­теля Ryuk?

С целью собственных умышленных шагов Ryuk использует комбинацию симметричного шифрования AES (256 бит) и асимметричного шифрования RSA (2048 или 4096 бит). Симметричный ключ используется для шифрования содержимого файлов, а асимметричный открытый ключ используется для шифрования симметричного ключа. После уплаты выкупа злоумышленники предоставляют соответствующий асимметричный закрытый ключ, который можно использовать для расшифровки файлов.

Так как Ryuk применяется ради целевых атак, векторы первостепенного заражения избираются с учетом данных жертвы. Нередко такими векторами являются целевые фишинговые письма, удаленный доступ к системам с использованием украденных учетных записей и использование широко известных массовых вредоносных программ. В последнем случае для заражения Ryuk часто используется комбинация Emotet и TrickBot; Также недавно сообщалось об использовании BazarLoader.

Чреда инфицирования Ryuk зачастую наступает с спир­фишин­гового элек­трон­ного пись­ма, содержащего вредоносную ссылку или документ MS Office. С их помощью хакеры могут проникнуть в информационную среду жертвы. В некоторых случаях такой точкой доступа становятся компьютеры со скомпрометированным протоколом RDP.

Спир­фишинг (spear phishing) — это подтип фишинга, ориентированный в наиболее ограниченную группу людей ​(компанию, группу ее сотрудников или отдельное лицо)

В первом сценарии в качестве загрузчика вредоносных программ используется TrickBot или BazarLoader. В результате его выполнения другие хакеры могут получить доступ к взломанным машинам. После этого на компьютеры обычно загружается маяк Cobalt Strike для кражи имен пользователей и паролей и горизонтального перемещения по сети для захвата контроллеров домена. В результате через эти контроллеры двоичный код Ryuk распространяется на все машины. Как работает этот код? Давайте выясним.

Совокупные данные

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

Hash type Value
SHA-1 1EFC175983A17BD6C562FE7B054045D6DCB341E5
SHA-256 8F368B029A3A5517CB133529274834585D087A2D3A 5875D03EA38E5774019C8A

Окончательная полезная нагрузка Ryuk составляет 148 КБ и была скомпилирована 30 апреля 2021 года.

Антиотладка

Ryuk  неоднократно использует методы защиты от декомпиляции, чтобы затруднить статический анализ программного кода.

Прием защиты от дизассемблирования Как защитится от прог­раммы‑вымога­теля Ryuk

Метод защиты от дизассемблирования

Помимо этого, вредоносный код поддерживает методы защиты от отладки с помощью API  ZwQueryInformationProcess и различных функций (флагов), таких как ProcessDebugFlags, ProcessDebugPort и ProcessDebugObjectHandle. С их помощью программы-вымогатели могут обнаружить наличие отладчика и принудительно закрыть его.

Процесс запросаКак защитится от прог­раммы‑вымога­теля Ryuk

Процесс запроса

Кроме того, программа-вымогатель проверяет атрибут BeingDebugged в структуре PEB процесса с той же целью.

Проверка признаков отладки процесса Как защитится от прог­раммы‑вымога­теля Ryuk

Контроль симптомов отладки процесса

Выполнение

Ryuk троекратно воспроизводит себя в текущую папкус различными именами и запускает эти новые двоичные файлы с разными параметрами командной строки. Каж­дое подобное исполне­ние под­держи­вает отдель­ную фун­кцию. Имя файла для первой копии вредоносной программы создается как контрольная сумма текущего имени пользователя, к которому добавляется r.exe.

Если вредоносная программа не может получить имя пользователя, используется имя по умолчанию — rep.exe. При запуске этого файла вредоносная программа использует командную строку 9 REP. Этот процесс отвечает за саморепликацию Ryuk на других машинах в сети.

Первое исполнение Как защитится от прог­раммы‑вымога­теля Ryuk

Первое исполнение

Имя дальнейшей копии трояна генерируется беспорядочным способом и имеет суффикс lan.exe. Эта копия соответствует командной строке 8 LAN. Этот процесс отвечает за отправку пакетов Wake-On-Lan на другие компьютеры в сети.

Второе исполнение Как защитится от прог­раммы‑вымога­теля Ryuk

Второе исполнение

Имя третьей копии формируется точно так же, как и второй, с использованием той же командной строки.

Исполнение третьей копии Как защитится от прог­раммы‑вымога­теля Ryuk

Исполнение трерьей копии

Уведомление касательно выкупа

Чтобы проинформировать пользователя о том, что файлы зашифрованы, Ryuk загружает сообщение с требованием выкупа в формате HTML в каждую зашифрованную папку. Это сообщение примерно одинаково для всех вариантов Ryuk. Основное отличие в этом примере — наличие кнопки ссылки и инструкции по установке браузера Tor.

Сообщение о выкупе в формате HTML Как защитится от прог­раммы‑вымога­теля Ryuk

Уведомление о выкупе в формате HTML

При нажатии кнопки «Свя­зать­ся» (Connect) появляется всплывающее окно с инструкциями по связи с авторами программы-вымогателя.

Сообщение браузера с инструкциями

Сообщение с инструкциями

Указанная в инструкции onion-ссыл­ка ведет пользователя на коммуникационный портал. Есть специальная форма, в которой вы должны оставить свой адрес электронной почты, пароль, название организации и хакерское сообщение (в отдельном поле).

Как защитится от прог­раммы‑вымога­теля Ryuk

Вход с целью связи с хакерами, использующими Ryuk

Диверсификация разрешений дисков

Троян распознает подключенные локальные диски с помощью вызова API GetLogicalDrives и использует инструмент Windows icacls для изменения разрешений каждого диска, чтобы получить к нему полный доступ.

Исполнение команды Icacls

Вот при­мер коман­ды, которую исполнит Ryuk:

icacls "C:\*" /grant Everyone: F /T /C /Q

Принудительное прекращение процессов и служб

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

Формирование потока

В этом новом потоке Ryuk создает список запущенных процессов и служб и сравнивает его со списком из 41 процесса и 64 служб, жестко закодированных в его коде. Некоторые из этих процессов и служб связаны с антивирусами и инструментами резервного копирования, в то время как другие могут использовать файлы, зашифрованные как часть атаки.

Функции потока

Для завер­шения выпол­нения про­цес­са энко­дер исполь­зует сле­дующую коман­ду:

C:\Windows\System32\taskkill.exe /IM /F

Ко­ман­да для оста­нов­ки служб — мишеней вымога­теля:

C:\Windows\System32\net.exe stop /y

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

Принудительное отключение службы

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

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

\Windows\

Windows

boot

WINDOWS\

Chrome

Mozilla

SYSVOL

NTDS

netlogon

sysvol
 

Вре­донос так­же не шиф­рует фай­лы, в име­ни которых име­ются любые из сле­дующих строк:

RyukReadMe.html

boot

dll

ntldr

exe

.ini

.lnk

bootmgr

boot

NTDETECT

Помимо этого, Ryuk проводит проверку имени файлов на присутствие составляющей index . Если присутствует, программа вызовет функцию RyukDropRansomNoteInIndexFile.

Отслеживание файлов со строкой index в имени

В случае если файл обладает расширением .php, программа-вымогатель сгенерирует PHP-код для создания HTML-сообщения с требованием выкупа. В противном случае он перезапишет содержимое файла, используя HTML-код сообщения с притязанием на выкуп. Таким образом, при попытке доступа к сайту пользователь увидит сообщение Ryuk с требованиями киберпреступников.

Внедрение текста уведомления Ryuk о выкупе в файлы имеющие в имени index

Считается, что эта функция была добавлена ​​в новые версии вредоносных программ для атак на веб-серверы и взлома общедоступных веб-сайтов, заменяя их домашние страницы сообщениями о выкупе от Ryuk. Эта тактика никогда раньше не применялась в программах-вымогателях, конечная цель которых — заставить жертву заплатить выкуп.

Методика кодирования в последней версии Ryuk осталась как раньше. Для каждого файла программа использует случайные ключи AES-256, сгенерированные с помощью CryptGenKey API, а затем шифрует эти ключи с помощью открытого ключа RSA, встроенного во вредоносный код. С помощью этой схемы киберпреступники гарантируют безопасное кодирование а также надежное управление ключами.

Генерация ключа AES-256

Накануне обработки файла троян проводит проверку, не был ли файл уже зашифрован. Для этого осуществляется поиск по ключевым словам: HERMES для старых версий Ryuk и RYUKTM для новых. Если такие ключевые слова найдены, файл не будет использоваться и не будет зашифрован.

Проверка HERMES и RYUKTM

Пос­ле это­го тро­ян начина­ет шиф­ровать файл час­тями задан­ного раз­мера — по 1 000 000 байт.

Кодирование файла компонентами

Далее Ryuk добавляет ключевое слово RYUKTM, с целью пометить файл как зашифрованный, экспортирует ключ AES, что зашифрован открытым ключом RSA с поддержкой API CryptExportKey, и приобщает его в конец файла.

Экспорт ключа файла

Ниже приведен пример зашифрованного файла с 274 байтами метаданных, добавленных Ryuk в конец файла.

Присоединенные метаданные

Задание печати

После шифрования файлов Ryuk создает новое запланированное задание для печати 50 копий сообщения о выкупе в формате RTF на системном принтере по умолчанию. Командная строка для создания такого задания выглядит так:

SCHTASKS /CREATE /NP /SC DAILY /TN "PrintvE" /TR "C:\Windows\System32\cmd. exe /c for /l %x in (1,1,50) do start wordpad.exe /p C:\users\Public\YTKkI. dll" /ST 10:25 /SD 05/18/2021 /ED 05/25/2021

Задача будет исполнена в предписанный момент на протяжении недели. Распечатанные 50-страниц сообщения с требованием выкупа в формате RTF будет содержать пароль, который загружается в общий каталог в виде файла со случайным именем и расширением .dll.

Уведомление Ryuk о выкупе в формате RTF

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

Дистанционное подключение по сети

Процесс командной строки Ryuk 8 LAN предназначен для получения системных кэшей ARP и отправки пакетов Wake on Lan для питания удаленных компьютеров. Для загрузки таблицы ARP вредоносная программа использует API GetIpNetTable из файла iphlpapi.dll. Получив указанную таблицу, вымогатель начинает отправлять пакеты с помощью API sendto из библиотеки Winsock.

Отправка пакета Wake on Lan

Пакеты Wake on Lan Magic имеют длину 6 байтов со значением 255 (шестнадцатеричный 0xFF), за которым следует MAC-адрес назначения, записанный 16 раз. Общий размер пакета составляет 102 байта.

Пакет Wake on Lan

Последовательный перебор общих сетевых папок

Ryuk помимо прочего стремится горизонтально мигрировать к прочим хостам в сети. Ради этого программа предопределяет все P-адреса, назначенные системе, и проверяет, принадлежат ли они к диапазону частных IPv4-адресов (10.x.x.x, 172.16.x.x и 192.168.x.x). Поскольку эта проверка выполняется с помощью функции strstr, можно найти совпадения с другими общедоступными подсетями, такими как 151.192.172.1.

Контроль ошибок приватных IP-сетей

Если одна из указанных выше подсетей будет обнаружена, программа-вымогатель начнет отправлять запросы ICMP Echo с помощью API для обнаружения новых компьютеров в этой подсети. Если компьютер ответит на запрос, он будет считаться потенциальной жертвой, и Ryuk попытается зашифровать файлы на нем.

Эхо-запрос ICMP

Ryuk предпримет попытку закодировать файлы на любом обнаруженном хосте, аналогично тому, как он используется для локальных дисков. Программа-вымогатель создает UNC-путь для всех букв дисков (от A до Z) в формате \\<IP>\<drive letter>$. Потом троян предпримет попытку приобрести доступ и зашифровать по пути \\<IP>. Эта попытка показана на следующем рисунке.

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

Репликация блока серверных сообщений (SMB)

Процесс командной строки Ryuk 9 REP отвечает за репликацию вредоносного ПО на новые компьютеры, одновременно проверяя, выполняется ли этот процесс дважды. Для этого создается объект мьютекса с именем, схожим с именем пользователя машины. Если мьютекс уже присутствует, процедура будет остановлена.

Создание мьютекса

На последующем шаге Ryuk контролирует факт присутствия собственных файлов на удаленном компьютере с помощью API GetFileAttributesW. Путь к файлу UNC создается параллельно; Затем программа попытается получить доступ к папке C: \ Users \ Public на удаленном компьютере. Файл создается с именем, которое представляет собой контрольную сумму текущего имени пользователя с добавленным суффиксом r.exe.

Копирование файла Ryuk

Затем программа-вымогатель использует API CopyFileW для копирования файла на удаленный компьютер. Чтобы гарантировать, что эта копия выполняется удаленно, вредоносная программа создаст запланированную задачу со случайным именем с помощью утилиты schtasks.exe.

Создание удаленной службы

Та­ким обра­зом, для каж­дой ском­про­мети­рован­ной уда­лен­ной машины выпол­няют­ся две коман­ды:

schtasks.exe /Create /S 192.168.56.2 /TN qdpRGwh /TR "C:\\Users\\Pub- lic\\622r.exe" /sc once /st 00:00 /RL HIGHEST

schtasks.exe /S 192.168.56.2 /Run /TN qdpRGwh
 

Заключение

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

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Click to rate this post!
[Total: 0 Average: 0]

Leave a reply:

Your email address will not be published.