Категория > Новости > Trojan.Scavenger маскируется под игровые читы и моды - «Новости»

Trojan.Scavenger маскируется под игровые читы и моды - «Новости»


24-07-2025, 10:30. Автор: Forman

Специалисты «Доктор Веб» рассказали о семействе малвари Trojan.Scavenger, с помощью которого злоумышленники воруют данные из криптокошельков и менеджеров паролей у пользователей Windows. Для запуска вредоносов используются легитимные приложения и эксплуатируются уязвимости, связанные с перехватом порядка поиска DLL (DLL Search Order Hijacking).


В своем отчете исследователи напоминают, что в 2024 году они обнаружили попытку проведения целевой атаки на российского оператора грузовых железнодорожных перевозок. Тогда атакующие эксплуатировали уязвимость «Яндекс Браузера» к перехвату порядка поиска DLL.


Дело в том, что Windows-приложения при запуске производят поиск необходимых для работы библиотек в различных хранилищах и в определенной последовательности. Злоумышленники размещают вредоносные DLL-файлы там, где поиск будет выполняться в первую очередь (например, в каталоге установки целевого ПО). При этом вредоносным файлам даются имена легитимных библиотек, которые располагаются в менее приоритетных для поиска директориях. В результате уязвимые программы первыми загружают именно вредоносные DLL.


После изучения инцидента 2024 года, специалисты внедрили в антивирусные продукты Dr.Web функциональность, которая позволяет отслеживать и предотвращать попытки эксплуатации такого рода уязвимостей.


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


Так, в цепочке из трех загрузчиков стартовым компонентом является Trojan.Scavenger.1, представляющий собой DLL. Эта малварь может распространяться как в составе пиратских игр, так и под видом различных игровых патчей, читов и модов через торренты и посвященные игровой тематике сайты. Да


В случае, когда вредонос маскируется под патч, Trojan.Scavenger.1 распространяется в виде ZIP-архива вместе с инструкцией по установке. В ней злоумышленники побуждают потенциальную жертву поместить «патч» в каталог с игрой Oblivion Remastered — якобы для улучшения ее производительности.



Drag umpdc.dll and engine.ini to the game folder:


teamappscommonOblivion RemasteredOblivionRemasteredBinariesWin64


Engine.ini will automatically be loaded by the module.


The module will also apply some native patches to improve performance



Имя вредоносного файла выбрано не случайно: в Windows легитимный файл с именем umpdc.dll располагается в системном каталоге %WINDIR%ystem32. Он является частью графического API, которое используют различные программы и игры.


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


При этом отмечается, что актуальная на момент проведения исследования версия игры Oblivion Remastered корректно обрабатывала очередность поиска библиотеки umpdc.dll, поэтому в рассматриваемом примере Trojan.Scavenger.1 не мог автоматически запуститься и продолжить цепочку заражения.


В случае успеха троян загружает с удаленного сервера и запускает следующую стадию атаки — загрузчика Trojan.Scavenger.2 (tmp6FC15.dll). Тот в свою очередь скачивает и устанавливает в систему другие модули семейства — Trojan.Scavenger.3 и Trojan.Scavenger.4.


Trojan.Scavenger.3 маскируется под version.dll, которая копируется в каталог одного из целевых Chromium-браузеров. DLL имеет такое же имя, как и одна из системных библиотек в директории %WINDIR%ystem32.


Уязвимые к перехвату порядка поиска DLL браузеры не проверяют, откуда загружается библиотека с таким именем. Поскольку троянский файл находится в их каталоге, он имеет приоритет над легитимной библиотекой и загружается первым.


Попытки эксплуатации этой уязвимости были зафиксированы в Google Chrome, Microsoft Edge, Яндекс Браузере и Opera.


После старта Trojan.Scavenger.3 отключает защитные механизмы целевого браузера (например, запуск его песочницы), в результате чего в нем пропадает изоляция выполняемого JS-кода. Кроме того, троян отключает проверку расширений в браузере. Для этого он определяет соответствующую библиотеку Chromium по наличию в ней экспортируемой функции CrashForExceptionInNonABICompliantCodeRange. Затем малварь выполняет поиск процедуры проверки расширений в этой библиотеке и вносит соответствующий патч.


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


При этом модифицируются не оригиналы, а копии, которые троян предварительно помещает в каталог %TEMP%/ServiceWorkerCache. Чтобы браузер «подхватил» измененные расширения, малварь перехватывает управление функциями CreateFileW и GetFileAttributesExW, подменяя локальные пути к оригинальным файлам на пути к модификациям (они обозначены как Trojan.Scavenger.5).


Сами модификации представлены двумя вариантами:



  • добавляется временная метка к cookie;

  • добавляется отправка пользовательских данных на управляющий сервер.


Из криптокошельков Phantom, Slush и MetaMask злоумышленники похищают приватные ключи и seed-фразы. Из менеджера паролей Bitwarden крадут cookie авторизации, а из LastPass — добавляемые жертвами пароли.


В свою очередь, Trojan.Scavenger.4 (profapi.dll) копируется в каталог с приложением криптокошелька Exodus. Вредонос запускается автоматически вместе с программой, также эксплуатируя в ней уязвимость DLL Search Order Hijacking (легитимная системная библиотека profapi.dll находится в %WINDIR%ystem32, но из-за уязвимости приоритет загрузки при запуске кошелька отдается вредоносному файлу).


После старта Trojan.Scavenger.4 перехватывает функцию v8::String::NewFromUtf8 в движке V8 для работы с jаvascript и WebAssembly. С ее помощью малварь отслеживает JSON, сформированные целевым приложением, и может получать различные пользовательские данные.


В случае Exodus троян ищет JSON, в котором присутствует ключ passphrase, после чего считывает его значение. В результате он получает пользовательскую мнемоническую фразу, которой можно расшифровать или сгенерировать приватный ключ от криптокошелька жертвы. Далее троян находит приватный ключ seed.seco от криптокошелька, считывает его и вместе с ранее полученной мнемонической фразой отправляет на сервер хакеров.


Также исследователи изучили цепочку, состоящую из двух загрузчиков. Она почти идентична первой, однако в распространяемых архивах с «патчами» и «читами» к играм вместо Trojan.Scavenger.1 находится модифицированная версия Trojan.Scavenger.2, представленная не в качестве DLL-файла, а в виде файла с расширением .ASI. То есть фактически это DLL с измененным расширением.


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


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


Другой отличительный признак семейства Trojan.Scavenger — единый алгоритм общения с управляющим сервером. Для связи с ним трояны проходят этап создания ключа и проверки шифрования.


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


Перейти обратно к новости