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 неоднократно использует методы защиты от декомпиляции, чтобы затруднить статический анализ программного кода.
Метод защиты от дизассемблирования
Помимо этого, вредоносный код поддерживает методы защиты от отладки с помощью API ZwQueryInformationProcess
и различных функций (флагов), таких как ProcessDebugFlags
, ProcessDebugPort
и ProcessDebugObjectHandle
. С их помощью программы-вымогатели могут обнаружить наличие отладчика и принудительно закрыть его.
Процесс запроса
Кроме того, программа-вымогатель проверяет атрибут BeingDebugged
в структуре PEB процесса с той же целью.
Контроль симптомов отладки процесса
Ryuk троекратно воспроизводит себя в текущую папкус различными именами и запускает эти новые двоичные файлы с разными параметрами командной строки. Каждое подобное исполнение поддерживает отдельную функцию. Имя файла для первой копии вредоносной программы создается как контрольная сумма текущего имени пользователя, к которому добавляется r.exe.
Если вредоносная программа не может получить имя пользователя, используется имя по умолчанию — rep.exe.
При запуске этого файла вредоносная программа использует командную строку 9 REP.
Этот процесс отвечает за саморепликацию Ryuk на других машинах в сети.
Первое исполнение
Имя дальнейшей копии трояна генерируется беспорядочным способом и имеет суффикс lan.exe.
Эта копия соответствует командной строке 8 LAN. Этот процесс отвечает за отправку пакетов Wake-On-Lan на другие компьютеры в сети.
Второе исполнение
Имя третьей копии формируется точно так же, как и второй, с использованием той же командной строки.
Исполнение трерьей копии
Чтобы проинформировать пользователя о том, что файлы зашифрованы, Ryuk загружает сообщение с требованием выкупа в формате HTML в каждую зашифрованную папку. Это сообщение примерно одинаково для всех вариантов Ryuk. Основное отличие в этом примере — наличие кнопки ссылки и инструкции по установке браузера Tor.
Уведомление о выкупе в формате HTML
При нажатии кнопки «Связаться» (Connect) появляется всплывающее окно с инструкциями по связи с авторами программы-вымогателя.
Сообщение с инструкциями
Указанная в инструкции onion-ссылка ведет пользователя на коммуникационный портал. Есть специальная форма, в которой вы должны оставить свой адрес электронной почты, пароль, название организации и хакерское сообщение (в отдельном поле).
Вход с целью связи с хакерами, использующими 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
Процесс командной строки 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, станут возобновлять разрабатывать новые функции а также способы деятельности с целью извлечения максимальной выгоды
Чтобы взломать сеть Wi-Fi с помощью Kali Linux, вам нужна беспроводная карта, поддерживающая режим мониторинга…
Работа с консолью считается более эффективной, чем работа с графическим интерфейсом по нескольким причинам.Во-первых, ввод…
Конечно, вы также можете приобрести подписку на соответствующую услугу, но наличие SSH-доступа к компьютеру с…
С тех пор как ChatGPT вышел на арену, возросла потребность в поддержке чата на базе…
Если вы когда-нибудь окажетесь в ситуации, когда вам нужно взглянуть на спектр беспроводной связи, будь…
Elastic Security стремится превзойти противников в инновациях и обеспечить защиту от новейших технологий злоумышленников. В…