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

Пираты под прицелом: как одна группировка годами заражает любителей книг, фильмов и сериалов

Введение

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

После перехода по ссылке на устройство загружался ZIP-архив со следующим содержимым:

Внутри архива находились легитимный исполняемый файл HLS Installer.874.exe и вредоносная DLL-библиотека. При запуске EXE-файла срабатывал механизм подгрузки DLL, и вредоносный модуль внедрялся в процесс легитимной программы, выполняя код в ее контексте. В библиотеке была реализована логика развертывания и закрепления майнера на устройстве.

На момент исследования риск заражения был связан с двумя сайтами с пиратским видео в зонах .ru и .top.

Связь с предыдущими кампаниями

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

Механизм доставки вредоносного архива остался практически тем же. Прежде архив загружался по частям с домена file[.]ipfs[.]us[.]69[.]mu, однако на момент нашего исследования этот домен был недоступен. Вместо него злоумышленники стали использовать новый ресурс — urush1bar4[.]online.

Сохранилась и структура доставляемого архива: внутри находится легитимный исполняемый файл и вредоносная DLL-библиотека большого размера (пример на скриншоте ниже).

В ходе исследования мы также обнаружили статью из блога NTT Security, в которой описывался похожий способ доставки вредоносного архива. В том случае злоумышленники показывали пользователю фейковую страницу сбоя браузера (она приведена далее) и одновременно загружали на устройство архив с именем, начинающимся с chromium-patch-nightly.

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

Масштаб потенциального распространения

Как и в предыдущих эпизодах кампании, заражение происходит через сайты, популярные среди пользователей. На конец апреля 2026 года ресурсы, связанные с кампанией, демонстрировали, как правило, очень высокую месячную посещаемость. Так, аудитория самой скромной из бесплатных онлайн-библиотек составила 11 тысяч пользователей, а крупнейшей — 4,7 млн. Для пиратских сайтов с фильмами и сериалами этот показатель варьировался от 2,1 млн до 27,4 млн. Суммарное число визитов на ресурсы, где было обнаружено описанное в исследовании вредоносное ПО, в апреле достигло 40 млн.

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

Загружаемый архив

Актуальная версия загружаемого вредоносного ПО представляет собой ZIP-архив, содержащий легитимный .exe-файл и вредоносную DLL-библиотеку. При запуске исполняемого файла библиотека подгружается в его процесс, после чего начинается выполнение вредоносной логики.

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

Анализ DLL-библиотеки

Большая часть данных внутри DLL-библиотеки не несет смысловой нагрузки и была случайным образом сгенерирована исключительно для искусственного увеличения объема файла и затруднения анализа.

Среди большого количества мусорного кода внутри DLL-библиотеки существует одна функция, во время выполнения которой происходит переполнение стека:

Судя по коду, размер буфера stackBuf в стеке составляет всего 64 байта, а функция SmashStack перезаписывает этот буфер, не проверяя длину входных данных.

Через переполнение формируется ROP-цепочка, которая расшифровывает следующий этап. После расшифровки она передает управление на код, расположенный в измененном DOS-заголовке PE-файла:

При этом заголовок был преднамеренно изменен, чтобы тот стал валидным шелл-кодом:

Этот шелл-код передает управление функции, которая находится по смещению 0x5C1000 от начала PE-файла. Внутри нее происходит рефлексивная загрузка этого же PE-файла в память.

Далее будем называть расшифрованный PE-файл основным модулем.

Основной модуль

Поведение модуля на разных этапах его работы:

Основной модуль является модифицированным форком проекта SilentCryptoMiner. Ранее мы уже рассматривали майнеры, использующие этот проект, в других материалах (Система управления событиями опасности, Майнер под прикрытием). Однако данный форк ранее нигде не описывался, поэтому в этой статье мы решили подробно разобрать его особенности.

При первом запуске основной модуль проверяет наличие разрешения на дальнейшее исполнение. Для этого с устройства жертвы собираются следующие данные:

  • информация о процессоре;
  • серийный номер диска C:/;
  • был ли запущен процесс с повышенными привилегиями (или нет);
  • время запуска процесса в формате Unix.

Эта информация передается в виде одного большого DNS-запроса с использованием техники DNS-туннелирования. Пример DNS-запроса изображен ниже:

Злоумышленники маскируют DNS-запрос под легитимный трафик с помощью низкоуровневого формирования пакетов и использования доменного имени, оканчивающегося на microsoft.com. Однако IP-адрес, на который фактически отправляется запрос, не имеет никакого отношения к компании Microsoft.

Код формирования DNS-запроса

Код формирования DNS-запроса

Выполнение основного модуля продолжается только при обнаружении в полученных данных следующей последовательности байтов: 01 02 03 04. После успешной проверки запускается основной модуль, а дальнейшая логика корректируется в зависимости от наличия повышенных привилегий у процесса на скомпрометированном узле.
Рассмотрим оба варианта.
1. Процесс запущен с повышенными привилегиями

В таком случае проводятся подготовительные действия перед самим запуском майнера.

  • Настраиваются исключения защитника Windows на расширения типов файлов *.exe и *.dll, а также на папки %USERPROFILE%, %PROGRAMDATA% и %WINDIR%.
  • Удаляется MSRT (Malicious Software Removal Tool, средство удаления вредоносных программ Microsoft) путем вызова ZwSetInformationFile с типом FileDispositionInformation, в результате чего файл mrt.exe будет удален при закрытии. Чтобы избежать автоматической установки MSRT при следующем обновлении, в разделе реестра HKLM\Software\Policies\Microsoft\MRT создается параметр DontOfferThroughWUAU со значением 1.
  • Отключаются автоматическая гибернация и переход в спящий режим при питании устройства как от сети, так и от батареи.

Делается это для того, чтобы увеличить возможное время работы майнера на устройстве.

Далее в целях закрепления создается копия в каталоге C:\ProgramData\Google\Chrome, после чего регистрируется служба GoogleUpdateTaskMachineQC и настраивается ее автоматический запуск при старте системы.

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

  • RAT agent → в conhost.exe
  • Watchdog → в explorer.exe
  • CPU-майнер → в explorer.exe
  • GPU-майнер → в explorer.exe, но только при наличии дискретной видеокарты в системе (проверяется путем перечисления всех видеоадаптеров в системе)

2. Процесс запущен с обычными привилегиями

В таком случае майнер начинает регулярно инициализировать запросы контроля учетных записей (UAC) — до тех пор, пока не будет запущен с повышенными правами. Механизм работы выглядит следующим образом:

  1. При первоначальном запуске производится копирование в директорию %USERPROFILE%\AppData\Roaming\Sandboxie и повторный запуск из нее. Одновременно с этим происходит попытка запуска с повышенными правами через UAC.
  2. Если запуск произошел из папки Sandboxie:
    • настраивается автозагрузка копии майнера из этой папки путем добавления записи в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run;
    • каждые три минуты происходит попытка запуска с повышенными правами через UAC, пока сервис GoogleUpdateTaskMachineQC не будет установлен корректно.

Корректность установки определяется совокупностью следующих условий:

  1. Сервис GoogleUpdateTaskMachineQC существует в системе.
  2. Значение Start для этого сервиса равно 2 (автозагрузка).
  3. Значение ImagePath указывает на файл в папке C:\ProgramData\Google\Chrome.
  4. Этот файл существует на диске.

Watchdog

Смысл работы этого компонента заключается в обеспечении бесперебойной работы майнера. В самом начале своей работы он копирует все файлы из папки C:\ProgramData\Google\Chrome и шифрует содержимое каждого файла циклическим алгоритмом XOR с ключом AFeIboiOmImJS2ypJU0pTpAO61SELkUc. После этого зашифрованное содержимое записывается в память процесса, и для каждого файла в памяти создается следующая структура:

Как только содержимое всех файлов будет сохранено в памяти, Watchdog входит в бесконечный цикл, в котором каждые пять секунд, как и в основном модуле, проверяется корректность установленного сервиса GoogleUpdateTaskMachineQC. В случае, если сервис будет установлен некорректно, майнер перезапишет свои файлы по пути C:\ProgramData\Google\Chrome тем содержимым, которое было получено в самом начале работы.

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

RAT agent

Этот модуль дает возможность удаленного управления с помощью четырех команд. Их описание представлено в конце главы. Адреса управления, с которых происходит получение команд, имеют следующий вид:

  • http://{domain}.space/index.php?authorization=1
  • http://{domain}.site/index.php? запасная версия

При этом домен {domain} вычисляется на основе текущей даты. Сначала берется текущий год, затем к нему добавляется идентификатор зоны, к которой относится текущий месяц. Все 12 месяцев при этом разбиты на четыре зоны. После этого к полученной строке добавляется слово microsoft. Полученная таким образом строка используется в качестве исходных данных для последующего двойного хэширования с помощью алгоритма MurmurHash64. Результатом хэширования является домен, с которым будет коммуницировать имплант.

На момент написания этой статьи были зарегистрированы следующие домены:

  • 2025, апрель-июль → 5d14vnfb[.]space
  • 2025, август-ноябрь → r7mvjl67[.]space
  • 2025, декабрь → zgj1tam9[.]space
  • 2026, январь-март → jeaw520i[.]space
  • 2026, апрель-июль → qdmagva5[.]space

Пример запроса к серверу управления можно увидеть ниже:

Как видно, внутри запроса содержится зашифрованное тело, представляющее собой данные, зашифрованные алгоритмом AES-CBC с ключом 0123456789abcdef0123456789abcdef и вектором инициализации 000102030405060708090a0b0c0d0e0f. Внутри данных находится список установленных программ в системе вместе с информацией о процессоре и серийном номере диска С:

Вероятно, эта информация используется серверной частью для проверки на виртуальное или же отладочное окружение.
Первые 16 байт тела ответа сервера представляют из себя вектор инициализации для алгоритма AES-CBC с ключом 0123456789abcdef0123456789abcdef, остальные байты — данные, зашифрованные этим алгоритмом. Расшифрованные данные содержат в себе вредоносную нагрузку payload, а также ее подпись sign с помощью алгоритма RSA-SHA256:

Подлинность сообщения проверяется по подписи sign c использованием публичного ключа сервера, встроенного в исполняемый файл.

Внутри вредоносной нагрузки находится 4-байтовый код, который определяет дальнейшее поведение программы и дополнительные данные, смысл которых зависит от кода.

В таблице ниже — четыре команды для удаленного управления модулем RAT agent.

Код Назначение
1 Выполнение произвольной команды
2 Рефлективное выполнение переданного PE-файла в процессе explorer.exe
3 Выполнение переданного шелл-кода
4 Выход

Майнеры

В зависимости от наличия в системе дискретного графического адаптера запускается либо CPU-майнер, либо связка CPU- и GPU-майнеров. CPU-майнер основан на XMRig, а GPU-майнер поддерживает несколько алгоритмов.

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

  • «{domain}.strangled.net»
  • «{domain}.ignorelist.com»
  • «{domain}.ftp.sh»
  • «{domain}.zanity.net»

Как и в компоненте RAT agent, адрес сервера формируется на основе текущей даты — в данном случае адрес сервера будет меняться каждую неделю. Для периода с 2020 по 2030 год получается довольно много доменов, однако все они располагаются на одном IP-адресе 107[.]172[.]212[.]235. Из ранее перечисленных четырех возможных доменов будет использоваться первый доступный.

Алгоритм получения конфигурации с сервера абсолютно такой же, как и в случае RAT agent, за исключением того, что в данном случае в качестве ключа для алгоритма AES-CBC используется th1s1sth3key0f4n1ntere5t1ngw0rld, конфигурация при этом будет лежать внутри payload. Полученная конфигурация шифруется алгоритмом AES-CBC с ключом UXUUXUUXUUCommandULineUUXUUXUUXU и вектором инициализации UUCommandULineUU, после чего зашифрованные данные преобразуются в base64-строку, которая передается как параметр для запуска майнера, который будет запущен внутри процесса explorer.exe через механизм process hollowing.

Заключение

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

Наши продукты детектируют данное вредоносное ПО со следующими Generic-вердиктами:

  • HEUR:Trojan.Win64.DllHijack.gen
  • MEM:Trojan.Win32.SEPEH.gen

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

Адрес загрузки вредоносного архива

urush1bar4[.]online

Вредоносные DLL-библиотеки

6A0FE6065D76715FEEBC1526D456DB73

7F624407AE489324E96A708A09C17E6F

02A43B3423367B9DDDC24CC7DFC070DF

RAT C&C

5d14vnfb[.]space

r7mvjl67[.]space

zgj1tam9[.]space

jeaw520i[.]space

qdmagva5[.]space

Адрес получения конфигурации

107[.]172[.]212[.]235

Адреса панели управления UnamWebPanel

m4yuri[.]online

kristina[.]quest

 

Пираты под прицелом: как одна группировка годами заражает любителей книг, фильмов и сериалов

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

Отчеты