Доктор веб не дает запустить приложение
Данная статья написана в рамках ответственного разглашения информации о уязвимости. Хочу выразить благодарность сотрудникам Dr.Web за оперативное реагирование и исправление обхода брандмауэра (firewall).
В этой статье я продемонстрирую обнаруженную мной возможность обхода брандмауэра (firewall) в продукте Dr.Web Security Space 12 версии.
При исследовании различных техник и методик обхода антивирусных программ я заметил, что Dr.Web Security Space 12 версии блокирует любой доступ в Интернет у самописных приложений, хотя другие антивирусные программы так не реагируют. Мне захотелось проверить, возможно ли обойти данный механизм безопасности?
Разведка
Во время анализа работы антивирусной программы Dr.Web, я обнаружил, что некоторые исполняемые файлы (.exe), в папке C:\Program Files\DrWeb, потенциально могут быть подвержены Dll hijacking.
Dll Hijacking — это атака, основанная на способе поиска и загрузки динамически подключаемых библиотек приложениями Windows. Большинство приложений Windows при загрузке dll не используют полный путь, а указывают только имя файла. Из-за этого перед непосредственно загрузкой происходит поиск соответствующей библиотеки. С настройками по умолчанию поиск начинается с папки, где расположен исполняемый файл, и в случае отсутствия файла поиск продолжается в системных директориях. Такое поведение позволяет злоумышленнику разместить поддельную dll и почти гарантировать, что библиотека с нагрузкой загрузится в адресное пространство приложения и код злоумышленника будет исполнен.
Например, возьмём один из исполняемых файлов – frwl_svc.exe версии 12.5.2.4160. С помощью Process Monitor от Sysinternals проследим поиск dll.
Однако, у обычного пользователя нет разрешений для того чтобы подложить свой DLL файл в папку C:\Program Files\DrWeb. Но рассмотрим вариант, в котором frwl_svc.exe будет скопирован в папку под контролем пользователя, к примеру, в папку Temp, а рядом подложим свою библиотеку version.dll. Такое действие не даст мне выполнение программы с какими-то новыми привилегиями, но так мой код из библиотеки будет исполнен в контексте доверенного приложения.
Подготовительные мероприятия
Я начну свой эксперимент с настройки двух виртуальных машин с Windows 10. Первая виртуальная машина служит для демонстрации пользователя с установленным антивирусом Dr.Web. Вторая виртуальная машина будет «ответной стороной», на ней установлен netcat для сетевого взаимодействия с первой виртуалкой. Начальные настройки при установке:
На первую виртуальную машину с IP 192.168.9.2 установлю Dr.Web последней версии, в процессе установки Dr.Web’а выберу следующие пункты:
На вторую виртуальную машину с ip 192.168.9.3 установлю netcat.
Для демонстрации я разработал два исполняемых файла:
Второй файл — это прокси-библиотека version.dll, которая размещается рядом с frwl_svc.exe на первой виртуальной машине. Функциональность та же, что и test_application.exe, только код собран как dll.
Видео эксплуатации
После подготовительных мероприятий, я, наконец, подошёл к эксплуатации. На этом видео представлена демонстрация возможности обхода брандмауэра (firewall) в продукте Dr.Web Security Space 12 версии. (Dr.Web, version.dll и test_application.exe находится на первой виртуальной машине, которая расположена с левой стороны видео. А netcat находится на второй виртуальной машине, которая расположена с правой стороны видео.)
Вот что происходит на видео:
На второй виртуальной машине запускаем netcat он же nc64.exe и прослушиваем порт 4444.
Затем на первой виртуальной машине в папке C:\Users\root\AppData\Local\Temp распакуем aplications.7z, там находятся version.dll и test_application.exe.
После этого, с помощью whoami показываем, что все действия от обычного пользователя.
Потом копируем C:\Program Files\DrWeb\frwl_svc.exe в папку C:\Users\root\AppData\Local\Temp\aplications.
Дальше демонстрируем, что брандмауэр (firewall) включён, исключения отсутствуют и время последнего обновления антивируса.
Следующим шагом запускаем тестовое приложение test_application.exe и проверяем работоспособность брандмауэр (firewall). Dr.Web заблокировал тестовое приложение, а значит можно сделать вывод, что брандмауэр (firewall) работает корректно.
Запускаем frwl_svc.exe и видим подключение в nc64.exe на второй машине.
Передаём команду на создание папки test на первой машине с помощью nc64.exe, который находится на второй машине.
Вывод
Убедившись, что способ работает, можно сделать предположение, что, антивирус доверяет «своим» приложениям, и сетевые запросы, сделанные от имени таких исполняемых файлов, в фильтрацию не попадают. Копирование доверенного файла в подконтрольную пользователю папку с готовой библиотекой — не единственный способ исполнить код в контексте приложения, но один из самых легковоспроизводимых. На этом этапе я собрал все артефакты исследования и передал их специалистам Dr.Web. Вскоре я получил ответ, что уязвимость исправлена в новой версии.
Проверка исправлений
Вижу, что frwl_svc.exe версии 12.5.3.12180 больше не загружает стандартные dll. Это исправляет сам подход с dll hijacking, но появилась гипотеза, что логика работы с доверенными приложениями осталась. Для проверки я воспользовался старой версией frwl_svc.exe.
Подготовительные мероприятия
Начну проверку своей гипотезы с того, что настрою две виртуальные машины с windows 10 по аналогии с тем, как всё было в демонстрации.
На первую виртуальную машину с ip 192.168.9.2 я установлю Dr.Web последней версии. Процесс установки Dr.Web не отличатся от того, который был описан в предыдущем отчёте. А также в папку Temp я скопирую frwl_svc.exe версии 12.5.2.4160 и version.dll из предыдущего отчета.
На вторую виртуальную машину c ip 192.168.9.3 я установлю netcat.
Видео эксплуатации
После настройки двух виртуальных машин пришло время эксплуатации. На этом видео показана возможность обхода патча, которым Dr.Web исправил ошибку из предыдущего отчёта. Расположение виртуальных машин не отличается от представленных в предыдущем видео. Напомню, первая машина находится с левой стороны на видео, а вторая машина – с правой стороны. Действия в видео:
На второй виртуальной машине запускаем netcat(nc64.exe) и прослушиваем порт 4444.
Затем на первой виртуальной машине с помощью whoami показываем, что все действия от обычного пользователя.
Потом показываем версию frwl_svc.exe (12.5.2.4160) в папке C:\Users\drweb_test\AppData\Local\Temp.
Дальше демонстрируем версию frwl_svc.exe (12.5.3.12180) в папке C:\Program Files\DrWeb.
Следующим шагом показываем, что брандмауэр (firewall) включён, исключения отсутствуют и время последнего обновления.
После этого запускаем C:\Users\drweb_test\AppData\Local\Temp \frwl_svc.exe и видим подключение в nc64.exe во второй машине.
Последним шагом передаём команду на создание папки test на первой машине с помощью nc64.exe, который находится на второй машине.
Рассказываем, как открыть программу, даже если антивирус бьет тревогу при ее запуске.
20 сентября 2021
Задача любого защитного решения — обеспечивать безопасность системы и сообщать пользователю об угрозах. А что делать, если вместо зловреда антивирус блокирует безобидную программу или без причины бьет тревогу во время сканирования? Возможно, вы столкнулись с ложноположительным срабатыванием.
В чем разница между доверенными программами и добавлением в исключения
Мы хотим, чтобы пользователям было удобно работать с нашими программами. Поэтому в наших самых популярных решениях — Kaspersky Internet Security, Kaspersky Total Security и Kaspersky Security Cloud — исключения настраиваются одинаково. Но прежде чем перейти к подробным инструкциям, позволим себе отступление, чтобы вам было легче понять, что именно вы будете делать дальше.
Современные защитные решения подходят к защите комплексно: они не только проверяют (при антивирусном сканировании и перед запуском), нет ли чего-то вредоносного в коде программ, но еще и следят за подозрительными действиями установленных в системе программ.
Поэтому наши разработчики разделили настройки для этих двух типов проверок:
- Чтобы антивирус не блокировал запуск приложения из-за подозрительных действий, надо сделать его доверенной программой.
- А чтобы антивирус перестал ругаться на программу при сканировании, ее надо добавить в исключения.
Теперь подробнее о том, где и как можно настроить обе эти опции в Kaspersky Internet Security, Kaspersky Total Security или Kaspersky Security Cloud.
Что делать, если антивирус не дает запустить программу
Как правило, антивирус блокирует запуск программы, если видит в ее активности что-то потенциально опасное. Если вы уверены, что ваше приложение делает только то, что нужно, добавьте его в список доверенных. Для этого в настройках исключений:
- Откройте настройки Kaspersky Internet Security (или Kaspersky Security Cloud).
- Выберите раздел Угрозы и исключения.
- Прокрутите вниз до самого конца.
- Нажмите Указать доверенные программы.
Настройки доверенных программ в Kaspersky Internet Security, Kaspersky Total Security и Kaspersky Security Cloud
- Укажите путь к нужному приложению (то есть к тому файлу, который вы запускаете).
Выбор доверенной программы
- Выберите, какие именно действия программы защите нужно игнорировать.
Общее правило тут простое: чем меньше галочек, тем лучше. Мы советуем поэкспериментировать, поочередно включая и отключая следующие три:
- Не проверять открываемые файлы
- Не контролировать активность программы
- Не проверять зашифрованный трафик
Никогда не разрешайте взаимодействие с интерфейсом защитного решения! Добропорядочным приложениям это не нужно.
Допустимые опции для исключения из защиты
Что делать, если антивирус ругается на программу при сканировании
Если программа вызывает у антивируса вопросы при сканировании, или же вы попробовали добавлять ее в список доверенных, но это не помогло, можно попробовать добавить ее в исключения из проверки. Для этого вернемся к разделу Угрозы и исключения в настройках.
Настройки исключений в Kaspersky Internet Security, Kaspersky Total Security и Kaspersky Security Cloud
- В открывшемся окне нажмите Добавить.
Добавление нового исключения
- Нажмите Обзор.
- Выберите файл, который вы хотите добавить в исключения.
Путь к файлу-исключению и выбор компонентов, которые будут его игнорировать
- Выберите компоненты, которые будут игнорировать файл при проверке. Для начала мы советуем отметить пункты Проверка и Файловый Антивирус, а если это не поможет — поэкспериментировать с остальными галочками, но не выбирать сразу все.
Заключение
Теперь вы знаете, как настроить антивирус под свои нужды, если вам кажется, что он мешает работе. Однако помните, что его цель — защитить ваш компьютер, а не помешать вам. Поэтому не стоит увлекаться и злоупотреблять списком исключений, чтобы не пропустить реальную угрозу.
Современные антивирусы работают сложным образом, блокируя не только заведомо вредоносный код, но и потенциально опасные файлы. Это значит, что Доктор Веб будет блокировать даже те программы, поведение которых лишь похоже на опасное.
Для чего требуется отключать антивирус?
Сетевой брандмауэр dr.Web гораздо менее лояльно относится к файлам и процессам, чем брандмауэр от Windows. Как следствие, защита срабатывает гораздо чаще, чем этого действительно требует безопасность.
Доктор Веб может заблокировать следующие действия:
- Доступ к потенциально опасным веб-сайтам, при этом потенциально нести вред может всего одна или несколько страниц на ресурсе;
- Работу загрузчиков, установщиков, программ для изменения настроек операционной системы и другого ПО, поведение которого напоминает некоторые вирусы;
- Работу приложений с генераторами ключей и любого взломанного софта (в том числе любых программ, загруженных с торрентов и других сомнительных источников).
При активной работе с файлами в интернете такие ограничения очень сильно мешают. В качестве решения проблемы можно временно приостановить функционирование защиты или полностью отключить антивирус на нужный срок.
Как на время отключить dr.Web
Временная приостановка работы отличный способ избавиться от мешающей защиты брандмауэра dr.Web, но при этом не прекращать работу системы полностью. При необходимости достаточно возобновить работу программы, вместо того чтобы заново дожидаться запуска и проверки системы.
Важно: Настройки безопасности меняются только в административном режиме. Переключение между административным и пользовательским режимом возможно только при наличии прав администратора у пользователя ПК. Переключение производится в контекстном меню SpIDer Agent (значок антивируса), появляющемся при нажатии по нему на правую кнопку мыши.
Для отключения защиты на время требуется:
С этого момента антивирус работать не будет, хотя и продолжит оставаться запущенным. Для возобновления работы нужно переключить ползунки в обратное положение.
Какие компоненты защиты можно отключить?
Dr.Web позволяет включать и выключать отдельные компоненты защиты:
- Почтовый антивирус;
- Брандмауэр;
- Родительский контроль;
- Защиту почты, файлов, превентивную защиту ПК и другое.
К примеру, нет никакой необходимости включать родительский контроль, если компьютером или ноутбуком пользуется один взрослый человек. Справедливости ради: большинство компонентов защиты действительно неплохо выполняют свою функцию, и отключение антивируса на длительное время ставит под угрозу безопасность компьютера.
Отключение системы самозащиты антивируса
В Dr.Web всех последних версий (10, 11 и более поздних) присутствует возможность отключения системы самозащиты. Необходимость в этом может возникнуть при конфликтах с другими антивирусами и иным софтом.
Для отключения системы требуется:
С этого момента все компоненты самозащиты перестанут работать до тех пор, пока ползунок не вернется в исходное положение. Исключением является перезагрузка компьютера: в этом случае программа применит настройки безопасности по умолчанию. И частичное, и полное отключение защиты придется производить заново.
Как полностью отключить Dr.Web через msconfig
Если временные меры не помогают и антивирус продолжает блокировать доступ на сайты и другими способами мешает жить, его можно отключить полностью .Для полного отключения защиты Dr.Web потребуется сделать несколько действий:
Описанная последовательность действий позволяет полностью отключить антивирус без удаления, в том числе запретить его запуск при перезагрузке компьютера. Но следует понимать, что любое вмешательство в работу системы задач msconfig может быть чревато нарушением работоспособности антивируса и операционной системы, если что-либо будет сделано не так. Если антивирус блокирует какой-либо сайт, лучше пользоваться предусмотренным функционалом отключения защиты на время.
Николай, лично у меня он не установлен, при установке я отказался от него.
и странно как то, почему при установке антивируса, по умолчанию не стоит галочка "установить брандмауэр" ?
Это значит получается, то что компания доктор веб не рекомендует этот компонент устанавливать и дается пользователю выбор устанавливать или нет, и он поймет то что этот компонент ему не нужен, раз компания его не рекомендует.
Сергей, нет, я как раз поставил галочку. Теперь переустановлю и всё.
Елизавета, В административный режим переключи там настройки есть
Чтобы Брандмауэр Dr.web не запускался его нужно удалить.
Для удаления этого компонента, необходимо войти в Панель управления - Установка/Удаление программ - найти в списке Dr.Web Security Space - нажать Изменить - Далее - когда появится окно изменений компонентов снимите галочку с пункта Брандмауэр - дождаться окончания установки, перезагрузить ПК.
Или в процессе установки не устанавливать галочку "Установить Брандмауэр".
Читайте также: