Отчеты о crimeware

Как менялся шифровальщик Mallox: детальный анализ

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

Предыстория

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

Чтобы показать имена всех разновидностей Mallox за всю историю существования этого семейства, мы проанализировали более 700 образцов и составили таблицу с расширениями, которые они использовали.

2021 г. Кол-во образцов 2022 г. Кол-во образцов 2023 г. Кол-во образцов 1-е полугодие 2024 г. Кол-во образцов
.architek 1 .avast 1 .bitenc 1 .hmallox 2
.artiis 1 .bozon 3 .host 1 .ma1x0 5
.brg 1 .bozon3 1 .mallab 223 .mallox 21
.herrco 1 .carone 1 .mallox 210 .rmallox 57
.mallox 6 .consultransom 2 .malloxx 30 .tif 1
.servimo 1 .deviceZz 1 .malox 63
.tohnichi 3 .exploit 1 .maloxx 8
.explus 1 .xollam 7
.FARGO 1
.FARGO2 1
.FARGO3 20
.mallox 100
.prismchigo 1
.rexiaa 1

В начале 2023 года издание SuspectFile опубликовало интервью с людьми, которые утверждали, что стоят за Mallox. Они заявили, что приобрели исходный код троянца-шифровальщика в 2022 году. Это может означать, что раньше шифровальщик контролировала другая группа, чем и объясняется переход от уникальных имен для каждой жертвы к единому «бренду» Mallox.

В большинстве статей и публикаций в блогах семейство называют Mallox, Tohnichi, Fargo или TargetCompany.

Хронология

Судя по временным меткам PE-файлов в обнаруженных образцах, которые не были изменены и отражают их фактические даты выпуска, можно выделить несколько всплесков активности: конец 2022 года, начало и конец 2023 года.

Обнаруженные образцы Mallox (по меткам времени PE-файлов; скачать)

Количеством образцов Mallox в дикой природе коррелирует с данными телеметрии Kaspersky Security Network (KSN). KSN — это наша система обработки данных о киберугрозах, которая анализирует информацию, добровольно предоставляемую пользователями «Лаборатории Касперского». На графике ниже видны всплески количества уникальных пользователей, столкнувшихся с шифровальщиком Mallox, в марте и октябре 2023 года. Они подтверждают данные с предыдущего графика и указывают на повышенную активность группы в эти периоды.

Активность шифровальщика Mallox (скачать)

Продвижение по модели RaaS

В январе 2023 года на даркнет-форуме RAMP пользователь под именем Mallox опубликовал сообщение о партнерской программе «шифровальщик как услуга» с одноименным названием.

Оригинальная реклама Mallox RaaS

Оригинальная реклама Mallox RaaS

В объявлении говорится, что владельцы RaaS ищут «пентестеров», то есть партнеров, готовых находить целевые компании и проникать в их системы. Приоритет отдается партнерам, которые уже получили несанкционированный доступ ко многим организациям и (или) крупным сетям. Таким партнерам предлагается 80% прибыли, а тем, у кого нет значительного количества легкодоступных жертв, — 70% от выкупа.

В объявлении подчеркивается, что злоумышленники ищут долгосрочные отношения только с опытными партнерами. Они не хотят тратить время на начинающих и не занимаются обучением. Представитель программы RaaS также подчеркивает, что они не работают с англоязычными партнерами.

В другом сообщении на RAMP в сентябре 2023 года тот же пользователь сообщил, что группа готова купить учетные данные для доступа к сетям жертв — вероятно, для самостоятельного запуска атак с использованием шифровальщиков.

Market — Access (SSH/RDP/VNC/Shell) / Ищем поставщика доступов.Сотрудничество\Реализация.

Заберем доступы под реализацию. Условия сортудничества — оговариваются лично.
— Интересуют доступы: фортики, циско впн и другие.
— Revenue от 10kk+
— Юзер в домене.
— AD.
— Гео US/CA/AU/UK/DE.
— Не интересуют: EDU/GOV
— Тематика рассматривается индивидуально, госпитали и учебные заведения не иинтересуют.
— Работаем честно и четко, поставщик будет иметь доступ к панели и чатам и видеть все на свои глаза.
— Если будет постоянный поток ТОП мата , готовы предоставить вам лучшие условия и забрать к себе в приват.

Контакты джаббер: [redacted]

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

Статистика по партнерам RaaS

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

Строка идентификатора партнера Кол-во образцов
admin 72
amigosbos9k 55
bitenc 1
bloodbeard 2
caneddy 1
grinder 10
hiervos 251
last 1
lastsmile 2
leandra56 1
loader 7
maestro 170
mallox 2
Neuroframe 11
panda 42
samuel 13
truetl 4
UserHelp 4
vampir 65

Мы также проанализировали изменения в распределении образцов среди наиболее активных партнеров по годам. Они указывают на то, что после запуска программы RaaS к ней быстро присоединилось 16 активных партнеров, с которыми связано 500 образцов шифровальщика, а затем, в первой половине 2024 года, их число сократилось. На момент написания этой статьи мы зафиксировали всего 19 действующих партнеров Mallox RaaS.

Примечательно, что первые пять партнеров, начавших работать с Mallox в 2022 году, продолжают сотрудничество и в 2024 году. Это может означать, что основные подписчики довольны условиями программы и предпочитают ее другим аналогам на рынке даркнета.

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

Образцы Mallox по идентификатору партнера

Образцы Mallox по идентификатору партнера

Типичный сценарий заражения

Партнеры Mallox могут свободно выбирать способы взлома сетей жертв. Некоторые из наблюдаемых нами кампаний распространяли спам с вредоносными вложениями. А в ходе недавней кампании в Китае злоумышленники предположительно воспользовались уязвимостью в программном обеспечении IP-Guard для первоначального доступа.

Анализ данных KSN показал, что одним из наиболее распространенных векторов заражения, используемых партнерами Mallox, было проникновение на серверы MS SQL или PostgreSQL с доступом в интернет. Для достижения этой цели злоумышленники обычно используют уязвимости RCE на необновленных серверах MS SQL, например CVE-2019-1068 или CVE-2020-0618, или проводят атаки методом полного перебора или перебором по словарю.

Типичная схема атаки Mallox

Типичная схема атаки Mallox

Скомпрометированный процесс сервера MS SQL выполняет команду, создающую скрипт PowerShell, и запускает его с помощью команды sqlps. Затем он выполняет полезную нагрузку первого этапа в формате PE, загруженную этим скриптом PowerShell.

Исполняемый файл первого этапа в атаках Mallox обычно представляет собой либо образец Remcos RAT, который операторы используют для удаленного доступа к скомпрометированной сети, либо загрузчик .NET, автоматически извлекающий полезную нагрузку второго этапа в формате PE, представляющую собой троянец-шифровальщик. Загрузчики .NET, используемые в этой схеме, в основном просты: они загружают бинарный файл с жестко закодированного URL-адреса, расшифровывают его с помощью цикла XOR и выполняют в памяти.

Анализ

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

Самая ранняя известная версия Mallox (9b772efb921de8f172f21125dd0e0ff7, v1)

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

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

Записка о выкупе из оригинальной версии Mallox

Записка о выкупе из оригинальной версии Mallox

Подготовка к шифрованию

Перед началом шифрования файлов троянец выполняет несколько подготовительных шагов. Сначала он проверяет языковые настройки операционной системы жертвы. Если на устройстве установлен русский, казахский, татарский, белорусский или украинский язык, шифровальщик прекращает работу. Разработчики вредоносных программ часто так поступают, чтобы избежать уголовного преследования в странах, где говорят на этих языках. Однако в интервью, опубликованном в январе 2023 года, представитель Mallox пояснил эти ограничения так: «Запрет на деятельность в этих регионах — это сугубо личное решение разработчика. У нас нет предвзятости или предпочтений в выборе стран для работы». В том же интервью заявлено, что код проекта ранее использовался другими группами вымогателей, а затем был приобретен нынешними злоумышленниками. Это означает, что ранние образцы могут не иметь отношения к текущим владельцам Mallox — или что ими могли пользоваться несколько независимых групп.

Основная функция Mallox

Основная функция Mallox

Если основной язык операционной системы не входит в список исключений, процесс шифровальщика получает привилегии SeTakeOwnershipPrivilege и SeDebugPrivilege. Затем он удаляет ключи и значения из реестра с помощью WinAPI-функции SHDeleteKeyW, предположительно, чтобы обойти защиту системы.

После этого Mallox удаляет теневые копии с помощью утилиты vssadmin.exe и полностью отключает среду восстановления Windows.

Перечисление дисков и исключения

Mallox шифрует данные на всех дисках от A до Z, если они имеют следующие типы: DRIVE_REMOTE, DRIVE_REMOVABLE или DRIVE_FIXED. Он также поддерживает извлечение путей для шифрования из текстовых файлов, пути к которым передаются посредством аргументов командной строки, таких как -p и -d. Если указан аргумент -d <путь_к_текстовому_файлу>, шифровальщик шифрует только пути, указанные в текстовом файле, и не шифрует диски устройства рекурсивно. Если указан аргумент -p <путь_к_текстовому_файлу>, сначала шифруются пути из текстового файла, а затем все данные на локальных дисках. Ниже приведен полный список аргументов, поддерживаемых оригинальной версией Mallox.

Аргумент Описание
-d <путь> Ожидает путь к текстовому файлу и шифрует только указанные в нем пути.
-p <путь> Ожидает путь к текстовому файлу, сначала шифрует указанные в нем пути, а затем — диски.
-l <путь> Ожидает путь к текстовому файлу. Не замечено, чтобы аргумент на что-то влиял.

Для расчета количества потоков шифрования файлов Mallox применяет WinAPI-функцию GetSystemInfo. Он получает от этой функции значение dwNumberOfProcessors и удваивает его. При этом максимальное количество потоков равно 64.

Mallox поддерживает настройку списков исключений. В шифровальщик встроены списки расширений, имен папок и файлов, которые нельзя шифровать. В списке имен папок указаны папки операционной системы и некоторых известных приложений. Интересно, что среди исключений есть файл debugLog.txt, который, вероятно, нужен для отладки.

Ниже приведен псевдокод для перебора дисков, который выполняется, если не указан аргумент -d. Как видно из кода, в Mallox предусмотрено два метода перечисления каталогов и файлов: через NTFS и через WinAPI-функции.

Код поиска дисков для шифрования

Код поиска дисков для шифрования

Шифрование

Злоумышленники реализовали в Mallox нетривиальную схему шифрования, которая включает несколько криптографических алгоритмов.

Каждый раз при запуске Mallox генерирует новый пользовательский закрытый ключ ECC (на эллиптических кривых), который используется в сочетании с протоколом согласования ключей ECDH (протокол Диффи — Хеллмана на эллиптических кривых Curve25519). Для генерации этого закрытого ключа шифровальщик использует генератор псевдослучайных чисел (PRNG) на основе алгоритма Вихрь Мерсенна. Начальное число (зерно) для него создается с помощью WinAPI-функции CryptGenRandom. Если возникают проблемы с инициализацией криптопровайдера (функция CryptGenRandom недоступна), начальное число генерируется с помощью другого набора функций: QueryPerformanceCounter, GetTickCount, GetCurrentThreadId, GetCurrentProcessId и инструкции __rdtsc. Выходные данные этих функций перемножаются и используются в качестве начального числа для «Вихря Мерсенна».

Генерация начальных значений по алгоритму Вихрь Мерсенна

Генерация начальных значений по алгоритму «Вихрь Мерсенна»

Сгенерированный закрытый ключ ECC имеет размер 32 байта. На основе этого закрытого ключа троянец генерирует соответствующий открытый ключ ECC. Затем троянец вычисляет общий секрет с помощью протокола ECDH, используя закрытый ключ ECC пользователя и открытый мастер-ключ ECC злоумышленника, вшитый в код троянца. Закрытый ключ ECC пользователя нигде не хранится. Открытый ключ ECC добавляется к каждому зашифрованному файлу и используется злоумышленниками для вычисления общего секрета.

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

Код для генерации общего секрета

Код для генерации общего секрета

Первые шесть байтов открытого ключа ECC пользователя в шестнадцатеричном формате выступают в роли уникального идентификатора жертвы, называемого в записке о выкупе «персональным идентификатором» (personal identifier). Он не зависит от устройства, и при каждом запуске шифровальщика генерируется новое уникальное значение.

Файлы, не входящие в списки исключений, шифруются с помощью потокового шифра ChaCha20. Ключ и одноразовый код (nonce) для ChaCha шифруются с помощью алгоритма симметричного шифрования AES-128 в режиме CTR. Ключом для AES служит первая половина хэша SHA-256 общего секретного ключа, полученного ранее с помощью протокола ECDH.

Файлы размером до 10 240 байт шифруются полностью. Файлы большего размера шифруются полосовым методом: сначала файл разбивается на 100 частей, а затем каждая часть — на 100 фрагментов. Каждый фрагмент шифруется с помощью ChaCha. Если размер фрагмента меньше 4096 байт, вредоносная программа увеличивает его до 4096 байт перед шифрованием.

В конце каждого зашифрованного файла Mallox добавляет структуру, которую мы назвали «техническим буфером». В ней хранится информация, необходимая для расшифровки файла. Рассматриваемый образец Mallox содержит минималистичный буфер, который включает только зашифрованный ключ, одноразовый код для ChaCha, вектор инициализации (IV) для AES и открытый ключ ECC пользователя. Открытый ключ ECC нужен злоумышленникам для восстановления общего секрета и вычисления его хэша SHA-256. Первая половина этого хэша служит ключом для CTR AES-128 и вместе с IV необходима для расшифровки ключа ChaCha и одноразового кода.

На рисунке ниже ключ ChaCha и одноразовый код показаны красным, CTR AES — синим, а открытый ключ ECC пользователя — оранжевым.

Структура технического буфера сохраняется в конце файла

Структура «технического буфера» сохраняется в конце файла

После завершения шифрования исполняемый файл удаляется с помощью команды del.

Коммуникация с командным сервером атакующих

Перед началом шифрования файлов Mallox отправляет по HTTP POST-запрос на сервер злоумышленника следующую информацию о зараженном устройстве: уникальный идентификатор жертвы, полученный из открытого ключа, имя локального компьютера и DNS-имя основного домена, полученное с помощью вызова LsaQueryInformationPolicy с параметром PolicyDnsDomainInformation.

Код для отправки HTTP-запроса

Код для отправки HTTP-запроса

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

Актуальная версия Mallox (e98b3a8d2179e0bd0bebba42735d11b7, v12)

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

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

Новый формат записки о выкупе

Новый формат записки о выкупе

Новые аргументы

Аргумент Описание
-path <путь> Не работает в этой версии. Ожидает путь для шифрования.
-queue <целое число> Не работает в этой версии. Ожидает целое число.

В более поздние версии шифровальщика были добавлены два новых аргумента, однако в актуальной версии не работают ни старые, ни новые аргументы. Все аргументы, передаваемые через командную строку, проверяются с помощью функции PathFileExistsW. Следовательно, шифровальщик принимает в качестве аргументов только пути к файлам: mallox.exe &lt;путь1&gt; &lt;путь2&gt; &lt;путьN&gt; .

Добавление любых аргументов, не являющихся путями, таких как -p, -d, -l, -path и -queue, приводит к ошибке. Если переданы существующие пути, шифровальщик проверяет, запущен ли он с правами администратора, и если да, шифрует файлы по указанным путям. Если зловред работает без прав администратора, он пытается их получить, перезапустив себя с помощью ShellExecuteW и передав «runas» в качестве значения для параметра lpOperation для запуска от имени администратора.

Подготовка к шифрованию

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

Псевдокод для изменения схемы питания

Псевдокод для изменения схемы питания

В этой версии троянец получил возможность завершения активных процессов с помощью WinAPI-функции TerminateProcess, чтобы они не блокировали файлы пользователя и не мешали шифрованию. Список завершаемых процессов в основном включает базы данных, такие как SQL Server, Oracle Database, Pervasive PSQL и MySQL.

Еще одна новая функция связана со службами: троянец может их отключать и останавливать через диспетчер служб с помощью функций ChangeServiceConfig и ControlService.

Если пользователь пытается завершить работу или перезапустить операционную систему, Mallox старается это предотвратить. Используя функцию ShutdownBlockReasonCreate, шифровальщик заставляет ОС отображать предупреждение о возможном повреждении файлов, если пользователь не прервет выключение или перезагрузку.

Сообщение об угрозе повреждения файлов

Сообщение об угрозе повреждения файлов

Перед началом шифрования троянец модифицирует ключи реестра в HKEY_LOCAL_MACHINE, отключая UAC и скрывая кнопки «Завершить работу», «Перезагрузить» и «Выйти».

Шифрование

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

В рассматриваемой версии для генерации общего секрета используются три значения, встроенные в код: два открытых мастер-ключа ECC (master_public_key_1 и master_public_key_2), сгенерированные злоумышленником, и вшитый в код 12-байтовый массив. Новая схема представлена ниже:

  • При запуске троянец генерирует 56 случайных байт с помощью CTR_DRBG.
  • Двенадцать байтов в середине этого 56-байтового массива заменяются вшитыми в код байтами.
  • Полученные 56 байт хэшируются с помощью SHA-256.
  • Троянец генерирует user_private_key по протоколу ECDH (Curve25519) на основе результата хэширования и master_public_key_1.
  • Троянец генерирует user_public_key по протоколу ECDH (Curve25519) на основе user_secret_key и базовой точки эллиптической кривой.
  • Троянец генерирует общий секрет share_key по протоколу ECDH (Curve25519) на основе user_secret_key и master_public_key_2.
  • Позже получившийся share_key хэшируется с помощью SHA-256.

Ниже представлена упрощенная схема этого процесса.

Схема генерации ключей в последней версии Mallox

Схема генерации ключей в последней версии Mallox

Изменился и алгоритм шифрования файлов: теперь используется AES-256 в режиме GCM. Ключи для AES GCM генерируются с помощью ISAAC PRNG, начальное значение (зерно) при этом берется из выходных данных API-функции BCryptGenRandom, совмещенных с PRNG «Вихрь Мерсенна». Эти ключи по-прежнему шифруются с использованием AES-128 в режиме CTR. Для этого используется первая половина хэша SHA-256 ключа share_key.

«Технический буфер», добавляемый в конце каждого зашифрованного файла, был расширен. Его начало и конец обозначены маркерами 0x02010201 и 0x04030403, отмеченными зеленым цветом на изображении ниже. В этой версии шифровальщик шифрует первые 60% файла — общее количество зашифрованных фрагментов выделено розовым цветом. По сравнению с оригинальной версией фрагменты имеют размер 0x800000 байт, расположены подряд и зашифрованы целиком без дальнейшего разделения. Фиолетовым цветом обозначен размер исходного файла, красным — зашифрованный ключ и IV для AES-256-GCM, синим — IV для AES-128-CTR, который используется для шифрования ключей AES-256-GCM, оранжевым — user_public_key.

Структура технического буфера, сохраненная в конце файла в последней версии Mallox

Структура «технического буфера», сохраненная в конце файла в последней версии Mallox

Коммуникация с командным сервером атакующих

Сначала шифровальщик получает внешний IP-адрес зашифрованного устройства через сторонний общедоступный сервис. Затем он собирает информацию о пользователе, устройстве, сети, дисках и файлах и отправляет ее на командный сервер злоумышленника через HTTP POST-запрос.

Данные, переданные на командный центр злоумышленника

Данные, переданные на командный центр злоумышленника

Если все данные получены и обработаны успешно, сервер отвечает Successfully_added.

Ответ сервера

Ответ сервера

Хронология версий Mallox

Мы отслеживали множество образцов Mallox с момента появления первой версии в 2021 году. За это время было найдено почти 700 разных образцов, которые мы для удобства разделили на 12 версий. Это разделение основано на изменениях в функциональности или криптографии шифровальщиков. Стоит отметить, что образцы троянца не содержат каких-либо внутренних номеров версий. В таблицах ниже мы приводим краткое описание изменений в каждой версии Mallox и MD5-хэш одного из образцов, относящихся к этой версии.

Хэши образцов (MD5) Версия Метка времени PE-файла Комментарий
9b772efb921de8f172f21125dd0e0ff7 1 15 мая 2021 г. Самая ранняя найденная версия
79b60f8b5052a9d4cc0c92c2cdc47485 2 20 ноября 2021 г. Сообщения о выкупе стали типовыми, предположительно в рамках подготовки к переходу на модель RaaS.
e713f05a62914496eef512a93a611622 3 17 февраля 2022 г. Исправлена уязвимость в схеме шифрования, которая позволяла расшифровывать файлы без закрытых ключей злоумышленников.
3829a09bca120206883539eb33d55311 4 9 мая 2022 г. Отключено самораспространение. Уязвимость остается исправленной.
a8e214683307adaff39783dc656b398a 5 (gen) 10 июня 2022 г. Убрано исправление уязвимости, выпущенное в версии 3. Добавлена новая схема генерации открытого ключа на основе данных с устройства. Мы называем эту схему «сгенерированный ключ». Добавлен новый аргумент -path. Самораспространение снова включено.
ac1a255e5c908f12ef68a45fc0043b16 6 (emb) 17 июля 2022 г. Убрано исправление уязвимости, выпущенное в версии 4. Добавлена новая схема генерации открытого ключа на основе встроенного ключа. Мы называем эту схему «встроенный ключ».

Начиная с версий 5 и 6, все последующие версии вплоть до 11 использовали две схемы генерации ключей: «сгенерированный ключ» (gen) и «встроенный ключ» (emb). Эти версии использовались параллельно, и если в одном из вариантов вносились изменения, вскоре, иногда в тот же день, появлялся другой вариант с аналогичными изменениями. Далее в этом отчете мы подробно опишем оба метода.

Хэш (MD5) Версия Метка времени PE-файла Комментарий
b1b42fa300d8f43c6deb98754caf0934 7 (gen) 25 октября 2022 г. Добавлены функции модификации реестра и сообщение о завершении работы ОС.

Завершен переход на схему распространения RaaS с поддержкой партнерских идентификаторов, которые жестко закодированы в теле троянца и передаются на командный сервер через HTTP-параметр user= .

3762f98a55f0ec19702f388fc0db74e2 8 (emb) 31 октября 2022 г. Аналогичен предыдущему, но с другой схемой генерации ключей.
6bd93817967cdb61e0d7951382390fa0 9 (gen) 18 апреля 2023 г. Добавлен новый аргумент: -queue.
c494342b6c84f649dece4df2d3ff1031 10 (emb) 18 апреля 2023 г. Аналогичен предыдущему, но с другой схемой генерации ключей.
16e708876c32ff56593ba00931e0fb67 11 (emb) 25 сентября 2023 г. Переход на версию x64: более поздние версии стали x64, тогда как все предыдущие были x86. Добавлены новые функции: изменение схемы питания, отключение UAC, скрытие кнопок «Завершить работу», «Перезагрузить», «Выйти» и другие. Переход на новый формат аргументов: теперь требуется указывать в аргументах действительные пути к файлам. Кроме того, вместо ChaCha содержимое файла теперь шифруется с помощью AES-256-GCM.
d32a3478aad766be96f0cdbda1f10091 11 (gen) 26 сентября 2023 г. Аналогичен предыдущему, но с другой схемой генерации ключей.
e98b3a8d2179e0bd0bebba42735d11b7 12 6 марта 2024 г. Исправлена уязвимость в схемах генерации ключей путем внедрения новой криптостойкой схемы. Добавлен криптографический генератор случайных чисел CTR_DRBG на основе AES.

Есть одна версия, которая выделяется из этой классификации. Мы назвали ее 1F. Единственные два образца этой версии были обнаружены в июне 2023 года и феврале 2024 года. Несмотря на даты обнаружения, они почти идентичны первой версии, но с исправленной уязвимостью в криптографической схеме. Любопытно, что это исправление отличается от сложных схем шифрования, реализованных в версиях 3, 4 и 12. Вместо этого было внесено небольшое локальное исправление — использование криптостойкого генератора SystemFunction036 (функция RtlGenRandom) для получения начального числа (зерна).

Хэш (MD5) Версия Метка времени PE-файла Комментарий
98c7f6b6ddf6a01adb25457e9a3c52b8 1F 5 июня 2023 г. Исправлена уязвимость в схеме генерации ключей версии 1 с использованием RtlGenRandom.
b13a1e9c7ef5a51f64a58bae9b508e62 1F 23 февраля 2024 г. Точно такая же версия, как и предыдущая.

Криптографическая схема в версии v5 и выше: на основе «сгенерированного ключа»

Эта схема использует данные устройства для заполнения массива размером до 56 байт, на основе которого создается закрытый ключ ECC пользователя. Массив формируется с помощью функций GetVolumeInformationW, GetFileTime, GetComputerNameA и инструкции CPUID.

Количество байтов Источник энтропии Комментарий
4 GetVolumeInformationW  
16 __cpuid  
12 Встроен в код Зависит от образцов
8 GetFileTime  
<= 16 GetComputerNameA Может быть меньше 16 байт

Остальная часть схемы включает три вызова Curve25519, как и в последней версии (12). Однако, в отличие от нее, эта схема не является криптостойкой.

Генерация общего ключа, сгенерированный ключ

Генерация общего ключа, «сгенерированный ключ», v5+

Криптографическая схема в версии v6 и выше: на основе «встроенного ключа»

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

Генерация общего ключа,"встроенный ключ

Генерация общего ключа, «встроенный ключ», v5+

Переговорный портал и DLS-сайт (Data Leak Site)

При шифровании файлов жертвы Mallox создает файл с требованием выкупа, обычно называемый HOW TO BACK FILES.txt (КАК ВЕРНУТЬ ФАЙЛЫ), HOW TO RESTORE FILES.txt (КАК ВОССТАНОВИТЬ ФАЙЛЫ), RECOVERY INFORMATION.txt (ИНФОРМАЦИЯ О ВОССТАНОВЛЕНИИ), FILE RECOVERY.txt (ВОССТАНОВЛЕНИЕ ФАЙЛОВ) или подобным образом. В файле злоумышленники объясняют жертве, как можно с ними связаться и договориться о выкупе: нужно посетить указанный сайт в сети TOR (переговорный портал) и войти в систему с идентификатором жертвы или отправить сообщение на указанный адрес электронной почты.

После аутентификации на переговорном портале жертве открывается страница с информацией:

  • Статус: были ли опубликованы эксфильтрованные данные
  • Цена выкупа в долларах США и BTC
  • Адреса криптокошельков BTC и TETHER TRC-20
  • Ответы на часто задаваемые вопросы
  • Виджет чата для общения с оператором шифровальщика
Переговорный портал (страница жертвы)

Переговорный портал (страница жертвы)

На главной странице сайта Mallox с эксфильтрованными данными (DLS), который находится на том же домене, что и переговорный портал, приведен список пострадавших компаний. Таймеры обратного отсчета показывают оставшееся время до публикации украденных данных каждой компании в случае неуплаты выкупа.

DLS-cайт Mallox: домашняя страница

DLS-cайт Mallox: домашняя страница

Информация о компаниях, которые, по всей видимости, отказались от переговоров, появляется на новой странице при нажатии кнопки View. На этой странице указаны такие подробности, как приблизительный доход жертвы, общий объем украденных данных, ссылки для загрузки архивов с якобы всеми или некоторыми эксфильтрованными файлами и пароль для их распаковки.

Страница с информацией о компании-жертве

Страница с информацией о компании-жертве

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

Профиль Mallox в соцсети X

Профиль Mallox в соцсети X

Жертвы

Географическое распределение уникальных пользователей KSN, столкнувшихся с шифровальщиком Mallox, показывает, что партнеры RaaS не ограничиваются одной страной и активно атакуют уязвимые компании по всему миру. Тем не менее некоторые регионы привлекают особое внимание операторов Mallox. Наибольшее количество попыток заражения зафиксировано в Бразилии, Вьетнаме и Китае.

Распределение атак Mallox по странам (скачать)

Выводы

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

Наши рекомендации по улучшению безопасности вашей организации:

  • Не используйте службы удаленных рабочих столов (такие как RDP) в публичных сетях без крайней необходимости и всегда создавайте надежные пароли.
  • Следите за актуальностью коммерческих VPN-решений и прочего серверного ПО — эксплуатация уязвимостей в программном обеспечении такого рода часто используется в атаках шифровальщиков. Также регулярно обновляйте клиентские приложения.
  • В своей стратегии защиты сфокусируйтесь на том, чтобы не допустить распространения вредоносного ПО и утечки данных в интернет. Обращайте особое внимание на исходящий трафик — это позволит обнаружить подключения злоумышленников. Регулярно создавайте резервные копии данных. Обеспечьте быстрый доступ к ним в экстренных случаях. Используйте самую актуальную информацию об угрозах, чтобы знать, какие методы и тактики используют злоумышленники в настоящее время.
  • Внедрите сервис Managed Detection and Response (MDR), чтобы выявлять и останавливать атаки на ранних стадиях, прежде чем злоумышленники достигнут своих целей.
  • Чтобы защитить корпоративную среду, обучайте своих сотрудников правилам информационной безопасности. Для этого можно воспользоваться специализированными учебными курсами, например на платформе Kaspersky Automated Security Awareness Platform.
  • Применяйте комплексные защитные решения, которые объединяют защиту рабочих мест и автоматическое реагирование на инциденты, например Kaspersky Symphony.

Индикаторы компрометации, IoC

MD5

9b772efb921de8f172f21125dd0e0ff7

79b60f8b5052a9d4cc0c92c2cdc47485

e713f05a62914496eef512a93a611622

3829a09bca120206883539eb33d55311

a8e214683307adaff39783dc656b398a

ac1a255e5c908f12ef68a45fc0043b16

b1b42fa300d8f43c6deb98754caf0934

3762f98a55f0ec19702f388fc0db74e2

6bd93817967cdb61e0d7951382390fa0

c494342b6c84f649dece4df2d3ff1031

16e708876c32ff56593ba00931e0fb67

d32a3478aad766be96f0cdbda1f10091

e98b3a8d2179e0bd0bebba42735d11b7

98c7f6b6ddf6a01adb25457e9a3c52b8

b13a1e9c7ef5a51f64a58bae9b508e62

URL-адреса

91.215.85.142%2FQWEwqdsvsf%2Fap.php

whyers.io%2FQWEwqdsvsf%2Fap.php

Как менялся шифровальщик Mallox: детальный анализ

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

 

Отчеты

CloudSorcerer: новая APT-угроза, нацеленная на российские государственные организации

«Лаборатория Касперского» обнаружила новую APT-угрозу CloudSorcerer, нацеленную на российские государственные организации и использующую облачные службы в качестве командных серверов аналогично APT CloudWizard.

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

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

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

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