Исследование

Razy в поисках криптовалюты

Подмена выдачи и заражение расширений браузеров

В прошлом году мы обнаружили зловред, который устанавливает жертве вредоносное расширение браузера или заражает уже установленное. Для этого он отключает проверку целостности установленных расширений и автоматическое обновление атакуемого браузера. Зловред, детектируемый нами как Trojan.Win32.Razy.gen, представляет собой исполняемый файл и распространяется через блоки партнерских программ, в том числе раздается с бесплатных файловых хостингов под видом легитимного ПО.

Для своих владельцев Razy решает ряд задач, как правило, связанных с кражей криптовалюты. Его основным инструментом является скрипт main.js, который умеет:

  • Искать на веб-сайтах адреса криптовалютных кошельков и заменять их на адреса кошельков злоумышленника
  • Подменять изображения QR-кодов кошельков
  • Модифицировать страницы криптовалютных бирж
  • Подменять выдачу поисковых систем «Яндекс» и Google

Заражение

Троянец Razy «работает» с браузерами Google Chrome, Mozilla Firefox и «Яндекс.Браузер», но сценарии заражения для них различаются.

Mozilla Firefox

Для браузера Firefox выполняется установка расширения Firefox Protection c ID {ab10d63e-3096-4492-ab0e-5edcf4baf988} (путь к папке «%APPDATA%\Mozilla\Firefox\Profiles\.default\Extensions\{ab10d63e-3096-4492-ab0e-5edcf4baf988}»).

Чтобы вредоносное расширение заработало, Razy редактирует файлы:

  • «%APPDATA%\Mozilla\Firefox\Profiles\.default\prefs.js»,
  • «%APPDATA%\Mozilla\Firefox\Profiles\.default\extensions.json»,
  • «%PROGRAMFILES%\Mozilla Firefox\omni.js».

«Яндекс.Браузер»

Для отключения проверки целостности расширения исправляется файл «%APPDATA%\Yandex\YandexBrowser\Application\\browser.dll». Оригинальный файл зловред переименовывает в browser.dll_ и оставляет в той же папке.

Для отключения обновлений браузера создается ключ реестра «HKEY_LOCAL_MACHINE\SOFTWARE\Policies\YandexBrowser\UpdateAllowed» = 0 (REG_DWORD).

После этого расширение Yandex Protect устанавливается в папку «%APPDATA%\Yandex\YandexBrowser\User Data\Default\Extensions\acgimceffoceigocablmjdpebeodphgc\6.1.6_0». Идентификатор acgimceffoceigocablmjdpebeodphgc соответствует легальному расширению для Chrome под названием Cloudy Calculator, версия 6.1.6_0. Если данное расширение уже установлено у пользователя в «Яндекс.Браузере», оно заменяется на вредоносное Yandex Protect.

Google Chrome

Для отключения проверки целостности расширения Razy исправляет файл «%PROGRAMFILES%\Google\Chrome\Application\\chrome.dll». Оригинальный chrome.dll зловред переименовывает в chrome.dll_ и оставляет в той же папке.

Для отключения обновлений браузера создаются ключи реестра:

  • «HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update\AutoUpdateCheckPeriodMinutes» = 0 (REG_DWORD)
  • «HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update\DisableAutoUpdateChecksCheckboxValue» = 1 (REG_DWORD)
  • «HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update\InstallDefault» = 0 (REG_DWORD)
  • «HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update\UpdateDefault» = 0 (REG_DWORD)

Нам встречались случаи заражения различных расширений для Chrome. Среди них хотим выделить расширение Chrome Media Router, являющееся компонентом одноименного сервиса у браузеров на основе Chromium. Оно присутствует у всех пользователей браузера Chrome, хотя и не отображается в списке установленных расширений. В ходе заражения Razy модифицировал содержимое папки, в которой располагалось расширение Chrome Media Router: «%userprofile%\AppData\Local\Google\Chrome\User Data\Default\Extensions\pkedcjkdefgpdelpbcmbmeomcjbeemfm».

Используемые скрипты

Вне зависимости от атакуемого браузера Razy добавлял в папку с вредоносным расширением скрипты, которые нес с собой: bgs.js, extab.js, firebase-app.js, firebase-messaging.js и firebase-messaging-sw.js. Файл manifest.json создавался в той же папке или перезаписывался для обеспечения вызова вставленных скриптов.

Слева набор файлов оригинального расширения Chrome Media Router, справа — модифицированного

Скрипты firebase-app.js, firebase-messaging.js, firebase-messaging-sw.js являются легитимными. Они относятся к платформе Firebase и используются для отправки статистики на Firebase-аккаунт злоумышленника.

Скрипты bgs.js и extab.js являются вредоносными и обфусцированы при помощи инструмента obfuscator.io. Первый отправляет статистику на Firebase-аккаунт; второй скрипт — extab.js — на каждую посещаемую пользователем страницу вставляет вызов скрипта i.js с параметрами tag=&did=&v_tag=&k_tag=.

В приведенном примере скрипт i.js раздается с ресурса gigafilesnote[.]com (gigafilesnote[.]com/i.js?tag=&did=&v_tag=&k_tag=). В других случаях аналогичные скрипты были обнаружены на доменах apiscr[.]com, happybizpromo[.]com, archivepoisk-zone[.]info.

Скрипт i.js модифицирует HTML-страницу, вставляет рекламные баннеры, видеоролики, добавляет рекламные объявления в выдачу поисковой системы Google.

Страница YouTube с красочными баннерами, которые добавил скрипт i.js

Кульминация заражения — скрипт main.js, вызов которого добавляется на каждую страницу.

Фрагмент кода скрипта i.js, вставляющий скрипт main.js.

Скрипт main.js распространяется с адресов:

  • Nolkbacteria[.]info/js/main.js?_=
  • 2searea0[.]info/js/main.js?_=
  • touristsila1[.]info/js/main.js?_=
  • solkoptions[.]host/js/main.js?_=

Скрипт main.js не обфусцирован, и его возможности можно проследить по названиям функций.

На картинке выше приведена функция findAndReplaceWalletAddresses, которая ищет на веб-странице адреса bitcoin- и ethereum-кошельков и заменяет их на адреса кошельков злоумышленника. Примечательно, что срабатывает эта функция практически на всех страницах, за исключением расположенных на доменах Google и «Яндекс», а также на популярных доменах instagram.com, ok.ru и др.

Также подменяются изображения QR-кодов кошельков. Подмена происходит при посещении ресурсов gdax.com, pro.coinbase.com, exmo.*, binance.*, либо при обнаружении на странице элемента с src=’/res/exchangebox/qrcode/’.

Помимо описанного функционала, main.js модифицирует страницы криптовалютных бирж EXMO и YoBit. В код страниц добавляются вызовы скриптов:

  • /js/exmo-futures.js?_= — при посещении страниц exmo.*/ru/*
  • /js/yobit-futures.js?_= — при посещении страниц yobit.*/ru/*

— один из доменов nolkbacteria[.]info, 2searea0[.]info, touristsila1[.]info, archivepoisk-zone[.]info.

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

Пример мошеннического сообщения на ресурсе EXMO

Main.js также подменяет выдачу поисковых систем «Яндекс» и Google. На страницы добавляются фальшивые результаты, если поисковый запрос удовлетворяет одному из регулярных выражений:

  • /(?:^|\s)(gram|телеграм|токен|ton|ico|telegram|btc|биткойн|bitcoin|coinbase|крипта|криптовалюта|,bnrjqy|биржа|бираж)(?:\s|$)/g;
  • /(скачать.*музык|музык.*скачать)/g;
  • /тор?рент/g.

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

Выдача Google, модифицированная установленным зараженным расширением

При посещении «Википедии» main.js добавляет к контенту баннер с текстом, призывающим материально поддержать создателей сайта. В качестве реквизитов получателей помощи указаны адреса кошельков злоумышленников. Баннер с соответствующей оригинальной просьбой (при его наличии) удаляется.

Мошеннический баннер с просьбой о помощи на странице «Википедии»

При посещении сайта telegram.org пользователя также ожидает предложение купить токены Telegram по невероятно выгодной цене.

Зараженное расширение загружает на сайт telegram.org контент с фишингового ресурса ton-ico[.]network

Мошеннический баннер на telegram.org, ссылка ведет на фишинговый сайт ton-ico[.]network

На страницы социальной сети Вконтакте добавляется рекламный баннер, при клике по которому (по ссылке на домен ooo-ooo[.]info) пользователь перенаправляется на фишинговые ресурсы, где его убеждают заплатить небольшую сумму денег сейчас, чтобы заработать кучу денег потом.

Мошеннический баннер на vk.com

Индикаторы заражения

Связанные с Razy скрипты детектируются продуктами «Лаборатории Касперского» как HEUR:Trojan.Script.Generic.

Все адреса кошельков, обнаруженные в исследуемых скриптах:

  • Bitcoin: ‘1BcJZis6Hu2a7mkcrKxRYxXmz6fMpsAN3L’, ‘1CZVki6tqgu2t4ACk84voVpnGpQZMAVzWq’, ‘3KgyGrCiMRpXTihZWY1yZiXnL46KUBzMEY’, ‘1DgjRqs9SwhyuKe8KSMkE1Jjrs59VZhNyj’, ’35muZpFLAQcxjDFDsMrSVPc8WbTxw3TTMC’, ’34pzTteax2EGvrjw3wNMxaPi6misyaWLeJ’.
  • Ethereum: ’33a7305aE6B77f3810364e89821E9B22e6a22d43′, ‘2571B96E2d75b7EC617Fdd83b9e85370E833b3b1′, ’78f7cb5D4750557656f5220A86Bc4FD2C85Ed9a3’.

Сумма входящих транзакций на всех кошельках на момент написания этого текста составляет около 0,14 BTC и 25 ETH.

MD5

Trojan.Win32.Razy.gen
707CA7A72056E397CA9627948125567A
2C274560900BA355EE9B5D35ABC30EF6
BAC320AC63BD289D601441792108A90C
90A83F3B63007D664E6231AA3BC6BD72
66DA07F84661FCB5E659E746B2D7FCCD
Main.js
2C95C42C455C3F6F3BD4DC0853D4CC00
2C22FED85DDA6907EE8A39DD12A230CF
i.js
387CADA4171E705674B9D9B5BF0A859C
67D6CB79955488B709D277DD0B76E6D3
Extab.js
60CB973675C57BDD6B5C5D46EF372475
Bgs.js
F9EF0D18B04DC9E2F9BA07495AE1189C

Вредоносные домены

gigafilesnote[.]com
apiscr[.]com,
happybizpromo[.]com,
archivepoisk-zone[.]info,
archivepoisk[.]info,
nolkbacteria[.]info,
2searea0[.]info,
touristsila1[.]info,
touristsworl[.]xyz,
solkoptions[.]host.
solkoptions[.]site
mirnorea11[.]xyz,
miroreal[.]xyz,
anhubnew[.]info,
kidpassave[.]xyz

Фишинговые домены

ton-ico[.]network
ooo-ooo[.]info

Razy в поисках криптовалюты

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

 

  1. Эльмар

    Благодарю все доходчиво и внятно расписано

Отчеты

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

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

Азиатские APT-группировки: тактики, техники и процедуры

Делимся с сообществом подходами, которые используют азиатские APT-группировки при взломе инфраструктуры, и подробной информацией о тактиках, техниках и процедурах (TTPs) злоумышленников, основанной на методологии MITRE ATT&CK.

Как поймать «Триангуляцию»

Эксперты «Лаборатории Касперского» смогли получить все этапы «Операции Триангуляция»: эксплойты нулевого дня для iOS, валидаторы, имплант TriangleDB и дополнительные модули.

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

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