Перейти к содержанию

Обнаруженный объект (файл) невозможно вылечить; hxxps://gatpsstat.com/ext/stat; HEUR:Trojan.Multi.Preqw.gen;


ramazankzn

Рекомендуемые сообщения

У многих сегодня выходит уведомление: Обнаруженный объект (файл) невозможно вылечить; https://gatpsstat.com/ext/stat;HEUR:Trojan.Multi.Preqw.gen;

 

Решение найдено здесь: https://habr.com/ru/company/yandex/blog/534586/

 

Кратко: команда Яндекса нашла подозрительное поведение расширений, для решения проблемы необходимо отключить/удалить расширения SaveFrom.net, Frigate Light, Frigate CDN

 

Сегодня мы приняли решение отключить расширения SaveFrom.net, Frigate Light, Frigate CDN и некоторые другие, установленные у пользователей Яндекс.Браузера. Совокупная аудитория этих инструментов превышает 8 млн человек.

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

s5gmtaezmzqrfj2strevbrbr2j0.png
 

Предыстория


Некоторое время назад пользователи Яндекс.Браузера стали обращаться в поддержку с жалобами на странный звук, который можно было принять за аудиорекламу. Примеры таких жалоб:

k13xjkaughei-4dgwrrslpehc08.png

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

Так мы заметили общий признак: у пострадавших было установлено расширение для загрузки видео от сервиса SaveFrom.net. Начали тестировать. Догадка оказалась верной: отключение расширения отключало и фоновый шум. Затем связались с его разработчиками. Они высказали предположение, что это ошибки конвертера, и внесли исправления. После обновления расширения жалобы на звук прекратились.
 

Новая история


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

При этом в поддержку на посторонний звук больше никто не жаловался. Это можно было легко объяснить сознательным исключением аудитории Яндекс.Браузера из целевой. Подобные попытки избежать внимания со стороны нашего антифрода мы уже неоднократно встречали в прошлом при анализе поведения расширений из Chrome Web Store (напомним, что наш браузер поддерживает установку в том числе из этого каталога).

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

На проблемных устройствах наших коллег были установлены расширения SaveFrom.net, Frigate Light или Frigate CDN. Источник их установки значения не имел (SaveFrom.net мог быть установлен с сайта, а Frigate — напрямую из каталога Chrome Web Store).

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

Динамическая загрузка и выполнение кода

 

Frigate


(полный код расширения доступен по ссылке)

Оба расширения из этого семейства (Light и CDN) имеют один и тот же участок кода, который отвечает за динамическую подгрузку и исполнение JS-скриптов. Специалистам рекомендую обратить внимание на то, как хитро тут спрятана функция eval(). Кстати, обфускация кода и скрытие функциональности запрещены в Chrome Web Store.
 

profile.js


Этот код совершает запрос по адресу fri-gate.org/config.txt и получает адрес командного сервера для дальнейшей работы. Такое решение позволяет без обновления расширения менять адреса командного сервера, если с ним что-то пошло не так. В момент нашего анализа командным сервером был gatpsstat.com.
 

Пример ответа


Раз в час расширения совершают запрос к командному серверу в обработчик /ext/stat. При первом запросе им выставляется cookie, которая содержит uuid пользователя. Ответ сервера декодируется и попадает в функцию debug(), которая, по сути, является функцией eval() для выполнения JS-кода.
 

Пример кода

 

SaveFrom.net


(полный код расширения также доступен по ссылке)

На 19122-й строке файла background.js начинается блок сбора и выполнения кода.
 

background.js


Стоит обратить внимание на строку “x = m(99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114)”, которая аналогична “fromCharCode(99, 111, 110, 115, 116, 114, 117, 99, 116, 111, 114)” из расширения Frigate.

Далее идёт большой switch, который ответственен за загрузку и выполнения JS-кода.
 

Код


По блокам выполнение происходит так:
 

  • 3-10: получение адреса командного сервера с sf-helper.com/static/ffmpegSignature. В нашем случае это опять gatpsstat.com. Вот это совпадение!
  • 15: получение манифеста приложения.
  • 19: кодирование манифеста в base64, его отправка, регистрация хендлера.
  • После получение ответа происходит обработка функцией R, которая снимает base64.
  • 23: результат R сохраняется в x.
  • 26: происходит вызов E(x), который выполняет JS-код.

 

Ответ ffmpegSignature

 

Одинаковая часть для всех расширений

 

/ext/stat


Итак, все рассматриваемые расширения имеют возможность динамически выполнять JS-код, который они получают раз в час из обработчика /ext/stat. Этот JS-код в разные моменты времени может быть любым, сколь угодно опасным. Скрытое воспроизведение видео может быть лишь одним из множества возможных симптомов. Но поймать (и задокументировать) подобные симптомы не так-то и просто. Поначалу мы пытались дампить трафик через функциональность браузера, но это не приносило результатов. Даже начали сомневаться, что выбрали правильный путь. Обратились к более медленному, но надёжному варианту: завернули весь трафик через Burp Suite (это такая платформа для анализа безопасности веб-приложений, которая, среди прочего, позволяет перехватывать трафик между приложением и браузером).

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

Декодированный base64 из /ext/stat, который содержит dangerRules


Обратите внимание: сомнительная активность прекращалась, если пользователь открывал адрес поддержки Яндекс.Браузера или служебную страницу для анализа трафика. Хитро!

Расследование продолжилось. Предстояло разобраться с обработчиком /ext/up, которому и передавался конфиг. Его ответ был сжат и зашифрован, а код обфусцирован. Но это нас не остановило.
 

/ext/up


Ещё один обработчик с исполняемым кодом. Его ответ маскируется под GIF-картинку.

j7vruv_r6lnxaqhacx1mswpgqrg.png

Расшифрованный ответ содержит JSON с тремя кусками кода. Названия блоков намекают на контекст исполнения кода: bg.js (применяется на фоновой странице расширения), page.js (используется для инъекций в просматриваемые страницы), entry_point.js (код, который отдаётся на /ext/stat).

bg.js и page.js умеют получать и внедрять в страницы iframe с video для показа рекламы. Кроме того, bg.js имеет функциональность, которая может использоваться для перехвата oAuth-токенов сервиса ВКонтакте. Мы не можем однозначно утверждать, что этот механизм в реальности использовался, но он присутствует в коде, поэтому мы рекомендуем отозвать токены для vk.com.
 

Код для перехвата токенов


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

Код для подмены браузерного API

 

/ext/def


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

7pdmidfoh9sctv8ovlorqrjtry8.png
 

Пример расшифрованного ответа


В результате выполнения выданного задания видно, что браузер открывает видеоплеер и включает в нём видео. При этом сам видеоплеер не виден пользователю и действие происходит скрытно.

b0tdkvileh6uw2f4-0tpcg5y_d4.png
 

/ext/beacon


Отчёт о выполнении задания расширение отправляет на /ext/beacon. С уже знакомым нам сжатием и шифрованием.
 

Тело запроса

 

Краткий пересказ того, что делают расширения


Повторим ещё раз всё то же самое, но кратко.
 

  1. Расширения запрашивают с сервера конфиг, в котором содержится адрес другого, командного сервера с обработчиком /ext/stat .
  2. Обработчик /ext/stat присваивает уникальный uuid пользователю.
  3. Каждый час расширения совершают запрос на адрес /ext/stat и исполняют код, полученный в ответе.
  4. Скрипт с /ext/stat совершает запрос на /ext/up, получает сжатый основной код для выполнения cкрипта.
  5. Выполнение скрипта с /ext/up может активировать функциональность перехвата access_token'ов ВКонтакте при их получении пользователем. Перехваченные токены могут отправляться на /ext/data.
  6. Скрипт с /ext/up получает список заданий с /ext/def. Запрос и ответ шифруются на ключе, переданном в параметре hk.
  7. Видео с рекламой воспроизводится в браузере в тайне от пользователя.
  8. Отправляется отчёт на /ext/beacon.


Это то, как выглядит работа расширений, если смотреть на их код и трафик. Но полезно взглянуть на проблему и со стороны пользователей, поэтому за спойлером вас ждёт подборка отзывов из Chrome Web Store.
 

Отзывы пользователей

 

Принятые нами меры


Мы считаем описанное поведение потенциально опасным и недобросовестным, поэтому приняли решение отключить в Яндекс.Браузере уже установленные копии расширений SaveFrom.net, Frigate Light, Frigate CDN и некоторых других. Пользователи этих расширений получат уведомление, в котором мы расскажем о причинах отключения. После этого они смогут принять осознанное решение и при необходимости включить их вновь (хотя мы настоятельно рекомендуем так не поступать).

Кроме того, мы передали результаты нашего технического анализа коллегам из «Лаборатории Касперского» и Google. В «Лаборатории Касперского» уже подтвердили наличие потенциально вредоносной составляющей в расширениях, теперь продукты компании детектируют эту угрозу и блокируют связанные с ней URL-адреса и фрагменты скриптов.

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

Ссылка на комментарий
Поделиться на другие сайты

  • ramazankzn changed the title to Обнаруженный объект (файл) невозможно вылечить; https://gatpsstat.com/ext/stat; HEUR:Trojan.Multi.Preqw.gen;

Я удалил FriGate, а Касперский продолжает блокировать какие-то всплывающие ссылки

Сегодня, 24.12.2020 20:07:13    Переход остановлен    Google Chrome    chrome.exe    C:\Program Files\Google\Chrome\Application\chrome.exe    C:\Program Files\Google\Chrome\Application    14584    user\user    Активный пользователь    Запрещено    Запрещено    gatpsstat.com    Вредоносная ссылка    Высокая    Точно    gatpsstat.com    gatpsstat.com        Веб-страница    Базы

Что делать?

Ссылка на комментарий
Поделиться на другие сайты

@Dulit, отключите все расширения в Chrome. Если предупреждения Касперского прекратятся, то включайте их по одному и таким образом найдете проблемное.

  • Спасибо (+1) 1
Ссылка на комментарий
Поделиться на другие сайты

У меня это был FriGate CDN 2.1.203 Отключение помогло,но он нужен...Браузер Хром. Каждые 30 секунд всплывало окно,что заблокирован переход на 

gatpsstat.com 
Ссылка на комментарий
Поделиться на другие сайты

Прошу прощения. Я не совсем понял суть этой статьи, но уловил для себя важный момент. Я догадался отключить расширения, но из статьи понял, что видео работает в фоновом режиме. Имеются варианты, как это можно исправить или уже не надо? У меня Касперский фри и браузер Опера. Напишите, если не затруднит пожалуйста.

Ссылка на комментарий
Поделиться на другие сайты

@Влад Ф, видео качает расширение. Поэтому если вы его отключили или удалили, то больше ничего делать не надо.

@maxim523, после подобного публичного скандала, разработчики расширений скорее всего уберут эти вставки. Можно заблокировать этот адрес в сетевом экране антивируса, если у вашего антивируса есть такой функционал.

Ссылка на комментарий
Поделиться на другие сайты

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

В общем,у меня это происходило на опере (ну т.е. всё,что построено на движке хрома сюда подходит) и после отключения расширения savefrom.net (только он из вышеперечисленных был установлен - каспер утихомирился...но блокировать этот сайт,пожалуй,всё-таки надо...ну и попробовать расширение обновить....

 

блин,думал предыдущий ответ дополнить,но это почему-то нельзя сделать на этом сайте...в общем - обновил я расширение,но...это не исправило ситуацию...думал сайт заблокировать,но почему-то не нашёл,как это сделать в настройках Kaspersky Total Security...где там это сделать ? исключения знаю,где выставить,как заблокировать приложение вроде тоже нашёл,а вот заблокировать сайт так и не получилось почему-то...говорит - неверный формат((

Ссылка на комментарий
Поделиться на другие сайты

@ALEKCEN, это можно сделать через пакетные правила.

Вот здесь есть инструкция. Только находится теперь эта настройка в другом месте (Настройки - Защита - Сетевой экран - Пакетные правила).

Созданное правило нужно поместить вверх списка.

 

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

Надо запустить полную проверку и устранить найденные угрозы.

 

Ссылка на комментарий
Поделиться на другие сайты

блин,а я как раз вчера обновлялся...хотя,по-сути,что поменяется от обновления каспера ? сомневаюсь,что он частично заблочит это расширение...

и да,попробовал и там правило создать - не создаётся почему-то,говорит - неверный формат(

Ссылка на комментарий
Поделиться на другие сайты

14 минут назад, ALEKCEN сказал:

что поменяется от обновления каспера

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

14 минут назад, ALEKCEN сказал:

не создаётся почему-то,говорит - неверный формат

покажите скриншот правила, которое вы пытаетесь создать. И какая у вас версия Касперского?

Изменено пользователем andrew75
Ссылка на комментарий
Поделиться на другие сайты

  • thyrex changed the title to Обнаруженный объект (файл) невозможно вылечить; hxxps://gatpsstat.com/ext/stat; HEUR:Trojan.Multi.Preqw.gen;

image.thumb.png.3ea51d80fbb9472e70547be7b54fec7b.png

хм,теперь даже можно сообщения редактировать,удивительно) не,ну если он только эту часть удалит,то можно попробовать...т.е. по-сути надо будет только папку с оперой проверить и всё...

Ссылка на комментарий
Поделиться на другие сайты

хм,редактировать можно только один раз сообщение...мда,дебильные какие-то правила форума...

В общем - обновил я каспера,проверил папку оперы - ничего не нашлось(

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...