Стилер паролей в антивирусном ПО Avira Free Antivirus

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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



Разбираемся


Живет себе и здравствует такая антивирусная компания как Avira GmbH & Co. KG. Выпускает различные продукты связанные с информационной безопасностью. В ассортименте даже есть бесплатные продукты для домашнего использования.


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


А давайте заглянем в компонент с ничем не привлекающим внимание именем «Avira.PWM.NativeMessaging.exe»? Он скомпилирован для платформы .NET и никак не обфусцирован, поэтому загружаем его в dnSpy и свободно изучаем код программы.


Программа консольная и она ожидает команд в стандартном потоке ввода. Главная функция при помощи «Read» считывает данные с потока, проверяет формат и передает команду в функцию «ProcessMessage». Та же, в свою очередь, проверяет что переданная команда является "fetchChromePasswords" или "fetchCredentials" (хотя какая разница если дальнейшее поведение одинаковое?) и тогда начинается самое интересное – вызов функции «RetrieveBrowserCredentials». Интересно даже… что может делать функция с таким именем?


Листинг кода функции ProcessMessage


Да ничего необычного, просто собирает в один список все учетные записи пользователя, сохраненные им при работе с Интернет-браузерами «Chrome», «Opera» (на базе Chromium), «Firefox» и «Edge» (на базе Chromium) и возвращает данные в виде JSON-объекта.


Листинг кода функции RetrieveBrowserCredentials


Ну а затем выводит собранные данные в консоль:


Снимок экрана командной строки с полученными данными


Суть проблемы


  • Компонент собирает пользовательские учетные данные;
  • Компонент не верифицирует вызывающую программу (например, по наличию у неё цифровой подписи самого производителя);
  • Компонент имеет «доверенную» цифровую подпись и не вызывает подозрение у других производителей антивирусного ПО;
  • Компонент работает как отдельное приложение.


IoC


SHA1: 13c95241e671b98342dba51741fd02621768ecd5.


По данной проблеме был заведен CVE-2020-12680.


Об этой проблеме мною 07.04.2020 было направлено письмо в адрес support@avira.com и info@avira.com с полным описанием. Ответных писем, включая от автоматических систем не поступало. Спустя месяц описываемый компонент всё так же распространяется в дистрибутиве Avira Free Antivirus.

Источник: https://habr.com/ru/post/500852/


Интересные статьи

Интересные статьи

Многие компании в определенный момент приходят к тому, что ряд процессов в бизнесе нужно автоматизировать, чтобы не потерять свое место под солнцем и своих заказчиков. Поэтому все...
На этой неделе случилось 3 вещи: Несколько дней назад в своей статье о фреймворке формировании привычек я обещал рассказать о том, почему мы используем ПЛАТНЫЙ VS бесплатный tria...
VUE.JS - это javascript фрэймворк, с версии 18.5 его добавили в ядро битрикса, поэтому можно его использовать из коробки.
В интернет-магазинах, в том числе сделанных на готовых решениях 1C-Битрикс, часто неправильно реализован функционал быстрого заказа «Купить в 1 клик».
С версии 12.0 в Bitrix Framework доступно создание резервных копий в автоматическом режиме. Задание параметров автоматического резервного копирования производится в Административной части на странице ...