Как обойти офисный контроль доктор веб
Данная статья написана в рамках ответственного разглашения информации о уязвимости. Хочу выразить благодарность сотрудникам 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, который находится на второй машине.
Современные антивирусы работают сложным образом, блокируя не только заведомо вредоносный код, но и потенциально опасные файлы. Это значит, что Доктор Веб будет блокировать даже те программы, поведение которых лишь похоже на опасное.
Для чего требуется отключать антивирус?
Сетевой брандмауэр dr.Web гораздо менее лояльно относится к файлам и процессам, чем брандмауэр от Windows. Как следствие, защита срабатывает гораздо чаще, чем этого действительно требует безопасность.
Доктор Веб может заблокировать следующие действия:
- Доступ к потенциально опасным веб-сайтам, при этом потенциально нести вред может всего одна или несколько страниц на ресурсе;
- Работу загрузчиков, установщиков, программ для изменения настроек операционной системы и другого ПО, поведение которого напоминает некоторые вирусы;
- Работу приложений с генераторами ключей и любого взломанного софта (в том числе любых программ, загруженных с торрентов и других сомнительных источников).
При активной работе с файлами в интернете такие ограничения очень сильно мешают. В качестве решения проблемы можно временно приостановить функционирование защиты или полностью отключить антивирус на нужный срок.
Как на время отключить dr.Web
Временная приостановка работы отличный способ избавиться от мешающей защиты брандмауэра dr.Web, но при этом не прекращать работу системы полностью. При необходимости достаточно возобновить работу программы, вместо того чтобы заново дожидаться запуска и проверки системы.
Важно: Настройки безопасности меняются только в административном режиме. Переключение между административным и пользовательским режимом возможно только при наличии прав администратора у пользователя ПК. Переключение производится в контекстном меню SpIDer Agent (значок антивируса), появляющемся при нажатии по нему на правую кнопку мыши.
Для отключения защиты на время требуется:
С этого момента антивирус работать не будет, хотя и продолжит оставаться запущенным. Для возобновления работы нужно переключить ползунки в обратное положение.
Какие компоненты защиты можно отключить?
Dr.Web позволяет включать и выключать отдельные компоненты защиты:
- Почтовый антивирус;
- Брандмауэр;
- Родительский контроль;
- Защиту почты, файлов, превентивную защиту ПК и другое.
К примеру, нет никакой необходимости включать родительский контроль, если компьютером или ноутбуком пользуется один взрослый человек. Справедливости ради: большинство компонентов защиты действительно неплохо выполняют свою функцию, и отключение антивируса на длительное время ставит под угрозу безопасность компьютера.
Отключение системы самозащиты антивируса
В Dr.Web всех последних версий (10, 11 и более поздних) присутствует возможность отключения системы самозащиты. Необходимость в этом может возникнуть при конфликтах с другими антивирусами и иным софтом.
Для отключения системы требуется:
С этого момента все компоненты самозащиты перестанут работать до тех пор, пока ползунок не вернется в исходное положение. Исключением является перезагрузка компьютера: в этом случае программа применит настройки безопасности по умолчанию. И частичное, и полное отключение защиты придется производить заново.
Как полностью отключить Dr.Web через msconfig
Если временные меры не помогают и антивирус продолжает блокировать доступ на сайты и другими способами мешает жить, его можно отключить полностью .Для полного отключения защиты Dr.Web потребуется сделать несколько действий:
Описанная последовательность действий позволяет полностью отключить антивирус без удаления, в том числе запретить его запуск при перезагрузке компьютера. Но следует понимать, что любое вмешательство в работу системы задач msconfig может быть чревато нарушением работоспособности антивируса и операционной системы, если что-либо будет сделано не так. Если антивирус блокирует какой-либо сайт, лучше пользоваться предусмотренным функционалом отключения защиты на время.
Антивирусная программа Dr.Web находится в списке пяти самых мощных и эффективных антивирусов, наряду с Антивирусом Касперского и Nod32. В версии 5.0 программы появился специальный модуль самозащиты, который препятствует изменению системных файлов и настроек, которые обычно доступны только администратору компьютера. Такое нововведение значительно повышает безопасность операционной системы, но мешает работать опытному пользователю.
- Как отключить самозащиту Dr.Web
- Как удалить Dr Web
- Как удалить доктор веб
Для того чтобы полностью отключить самозащиту данного антивирусного программного обеспечения, нужно произвести некоторые настройки в самой программе. В трее найдите значок программы Dr.Web и кликните по нему правой кнопкой мыши. Выберите в меню пункт «Самозащита». Программа выведет на экран окно-диалог с запросом цифр, которые будут изображены рядом в слегка искаженном виде. Введите цифры; это гарантия того, что не вирус вмешивается в работу программы.
Также стоит отметить, что работа в реестре компьютера очень сильно влияет на всю систему, поэтому старайтесь все делать правильно, чтобы не возникало в дальнейшем проблем. Перезагрузите компьютер. Самозащита на этот раз не будет активирована. Для того чтобы вернуть обратно включение самозащиты Dr.Web при загрузке компьютера, установите тот же параметр Start равным 0. Данный компонент защиты внедрен в программу не зря, поэтому не стоит лишний раз отключать его.
Если вы действительно хотите обезопасить компьютер от различных вредоносных программ, не стоит отключать данный модуль. Просто не обращайте на него внимания и в последующем вы его просто не будете замечать. Как показывает практика, люди быстро привыкают к изменениям в компьютере, как графическим, так и программным.
Визитка
Вячеслав Медведев,
начальник сектора продукт-менеджмента компании «Доктор Веб»
В ноябре 2019 года вышла новая версия Dr.Web Enterprise Security Suite – флагманского корпоративного продукта для комплексной защиты любых устройств информационных сетей государственных организаций и предприятий, а также коммерческих компаний. 12-я версия ознаменовалась рядом нововведений и новинок, в частности новым компонентом – Контроль приложений, о котором и пойдет речь в статье.
Сегодня в экономике нет ни одной отрасли, которая могла бы бесперебойно функционировать без средств защиты информации от вирусозависимых компьютерных инцидентов (ВКИ). Dr.Web Enterprise Security Suite предназначен для организации и управления всеобъемлющей защитой локальной сети компании, включая мобильные устройства сотрудников.
Основные примечания по выходу новой версии мы собрали на отдельной странице.
А о новом компоненте в Dr.Web Enterprise Security Suite рассказывает Вячеслав Медведев – начальник сектора продукт-менеджмента компании «Доктор Веб».
Защита от новейших вредоносных программ и слишком самостоятельных пользователей средствами Dr.Web
«Получила по эл. почте запрос на отчет по бухгалтерии, загрузила файл, открыла архив…»
Это типичное обращение в нашу техническую поддержку. Причем подобное может прийти и от обычного пользователя (которому, в общем-то, простительно) и от крупной компании, название которой у всех на слуху. Антивирус может быть не установлен (или установлен такой, от одного только названия которого хочется плакать). Антивирус может быть не обновлен. Еще цитата по результатам анализа очередного заражения: «Судя по отчету, антивирусные базы обновляются реже, чем выпускаются, так, на момент сбора отчета 06-06-2019 базы от 2019-06-05 (13:33). Рекомендуется обновлять базы ежечасно». Бывает, что пользователи имеют право установки новых приложений в директории, исключенных из проверки антивирусом. Вариантов очень много. И это при том, что существуют средства предотвращения заражения, даже если установленный антивирус еще не получил обновления вирусных баз или правил превентивной защиты. И их тем более нужно использовать, так как современные злоумышленники могут создать уникальную сборку для каждой отдельной жертвы, использовать для маскировки уже известного кода обфускацию, шифрование, применять бесфайловые методы хранения и запуска созданных ими программ, автоматизированные сервисы создания и тестирования образцов вредоносных программ (причем время создания новых сборок короче времени обновления вирусных баз обычного антивируса) и передавать вредоносный код самыми разными методами, хоть в картинке.
И да – злоумышленники не отличаются честностью. По статистике, лишь менее трети жертв троянцев-шифровальщиков получают код для разблокировки, и этот код действительно позволяет расшифровать файлы.
Заблокировать запуск вредоносных программ, еще неизвестных антивирусу, можно различными способами – например, с помощью модулей Офисного контроля или Превентивной защиты. Можно сделать это и с использованием возможностей Контроля приложений Dr.Web – и этот же модуль позволяет заблокировать устаревшие программы, недоверенное ПО, создать белые и черные списки программ для локальной сети компании.
Чтобы настроить Контроль приложений, необходимо выполнить следующую последовательность действий.
- Разрешите сбор и отправку информации со станций для раздела События Контроля приложений , установив флаг Отслеживать события Контроля приложений на вкладке Общие компонента Агент Dr.Web для станций или группы станций с установленным Контролем приложений, с которых вы хотите получать информацию о запуске приложений.
- Разрешите сбор информации антивирусным сервером для раздела События Контроля приложений , установив флаги Статистика Контроля приложений по активности процессов и Статистика Контроля приложений по блокировке процессов в разделе Администрирование → Конфигурация Сервера Dr.Web на вкладке Статистика .
- Перезапустите антивирусный сервер.
- Создайте профиль. Настройки системы контроля приложений осуществляются с помощью профилей, в соответствии с настройками которых приложения на станциях (или для определенных пользователей) будут запускаться или блокироваться. До создания профилей и назначения их на станции антивирусной сети запуск всех приложений разрешается.
- Назначьте станции, пользователей и/или их группы, на которые будут распространяться настройки созданного профиля.
- Задайте настройки профиля.
Внимание! Настройку работы профилей рекомендуется производить в тестовом режиме. Он имитирует работу Контроля приложений с полным ведением журнала статистики активности на защищаемых станциях, однако фактическая блокировка приложений не производится.
Чтобы создать профиль:
- Выберите пункт Антивирусная сеть в главном меню Центра управления.
- В открывшемся окне на панели инструментов выберите пункт Добавить объект сети → Создать профиль.
Созданный профиль нужно настроить (установить необходимые ограничения, правила работы), а также назначить его станциям и/или пользователям антивирусной сети.
Новый профиль будет создан и помещен в группу Profiles дерева Антивирусной сети. Кликаем по названию профиля.
Назначение флага Включить профиль очевидно, равно как и флага Перевести профиль в глобальный тестовый режим . В разделе Критерии функционального анализа устанавливаем флаги для событий, которые будут контролироваться. Для каждого из типов событий есть своя группа критериев, с помощью которых мы можем отметить правила, по которым будут выявляться подозрительные программы. Для задания расширенных настроек по каждому выбранному типу событий критерию нажимаем ( Редактировать ). Окна расширенных настроек весьма схожи, рассмотрим только несколько опций из них.
Большинство пунктов даже не нужно комментировать – вполне понятно, какого рода программы под них подпадают и нужен ли их запуск. Очевидно, что в большинстве систем не используются запускаемые в среде Windows программы Linux, поэтому мы также можем отметить пункт Запрещать запуск bash-оболочек и WSL-приложений (только для Windows 10 и выше) . Запуск приложений со сменных носителей ( Запрещать запуск приложений со сменных носителей ) и по сети ( Запрещать запуск приложений из сети и общих ресурсов ), если у вас не используются данные возможности, тоже не помешает запретить. Весьма часто вредоносные программы используют для запуска каталоги для временных файлов. Если вы не планируете развертывать новое ПО, которое также может использовать данные папки, – отметьте опцию Запрещать запуск приложений из временных каталогов .
В разделе Запуск скриптовых интерпретаторов вы можете запретить те типы скриптов (а также модификацию реестра), которые точно не используются в вашей системе, а также их запуск со сменных носителей или из временных каталогов.
Опции раздела Загрузка драйверов подобны описанным ранее, однако помимо описанных выше запретов в данном разделе имеется один уникальный – Запрещать загрузку уязвимых версий драйверов популярного ПО . Думаем, его важность понятна.
Вредоносные пакеты часто используются вредоносными программами. Вы можете запретить запуск инсталляционных пакетов, используя опции раздела Установка MSI-пакетов .
Если вы включите использование какого-либо из типов событий, но не зададите его расширенные настройки, то контроль запуска будет производиться для всех объектов по этому критерию в соответствии с настройками разрешающего или запрещающего режимов. Если вы зададите расширенные настройки, но не включите использование самого типа события, то ни расширенные настройки, ни сам критерий выполняться не будут.
Для сохранения расширенных настроек нажмите Сохранить в окне со списком расширенных настроек.
Следующий этап настройки системы контроля запуска приложений – назначение созданного и настроенного профиля станциям или пользователям антивирусной сети. Выбираем профиль и назначаем его с помощью опции панели инструментов Экспортировать данные → Назначить профиль .
Если все настройки были проведены корректно, сведения о запускаемых программах будут отображаться в разделе Статистика → События Контроля приложений .
Обнаружив запуск некоей программы или модуля, кликните по соответствующей строке таблицы.
В открывшемся окне с информацией о выбранном событии нажмите кнопку Создать правило и создайте нужное вам разрешающее или запрещающее правило.
Кроме того, что правила Контроля приложений могут создаваться исходя из статистики запуска приложений, их можно создать и вручную.
Предположим, вы хотите запретить несанкционированный запуск утилиты drw_remover.exe, которой пользуются для удаления антивируса, мешающего запуску очередного троянца.
Вычислить хеш-сумму данного файла можно с помощью утилиты CertUtil , по умолчанию входящей в комплект OS Windows, или иной любой утилитой. Если мы используем CertUtil, в командной строке нужно выполнить команду certutil -hashfile file SHA256, где file – путь до файла.
Для добавления запрета используем Запрещающий режим ранее созданного правила.
- Откроем ранее созданное правило и перейдем на закладку Запрещающий режим . По умолчанию режим выключен. Для его использования установите флаг Использовать запрещающий режим .
- Для создания правила нажимаем кнопку ( Создать правило ) и в окне Добавление правила задаем Название правила .
И нажимаем Сохранить .
- В списке правил выбираем созданное правило и задаем его настройки на открывшейся панели свойств – в данном примере указываем контрольную сумму вредоносного файла.
- Устанавливаем флаг Включить правило .
- Если вы хотите проверить работу правила без применения его на станциях, установите флаг Перевести правило в тестовый режим . В противном случае оно будет работать в активном режиме с блокировкой приложений на станциях по заданным настройкам.
- В разделе Запрещать запуск приложений по следующим критериям указываем контрольную сумму вредоносного файла.
- Нажимаем Сохранить .
Если вы ранее создавали аналогичное правило, вы можете создать дубликат запрещающего правила и отредактировать его свойства.
Читайте также: