Команды для dr web
Данная статья написана в рамках ответственного разглашения информации о уязвимости. Хочу выразить благодарность сотрудникам 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 для Android Light. На планшетных компьютерах без SIM-карты использование всех функций компонента невозможно.
Антивор Dr.Web защитит информацию, хранящуюся на устройстве, от злоумышленников, заблокировав устройство после наступления одного из следующих событий:
- После перезагрузки.
- После смены сим-карты.
- После ввода неверного пароля разблокировки.
Для этого надо соответствующим образом настроить этот компонент.
Разблокировка
Если Антивор Dr.Web заблокирует устройство, его разблокировка возможна с помощью:
- СМС, в том числе отправленных из списка доверенных контактов
- пароля разблокировки
- через онлайн-сервис разблокировки антивора
- через службу техподдержки
Доверенные контакты
Создайте список номеров близких вам людей. С этих номеров можно будет управлять Антивором Dr.Web и в том числе разблокировать телефон, если вы забыли пароль разблокировки.
Эти люди будут получать уведомления о смене сим-карты на вашем утерянном устройстве.
Геолокация
Антивор Dr.Web сообщит вам GPS-координаты устройства в виде ссылки на Google Maps и покажет его на карте — если вы забыли где оставили устройство или потеряли его.
Сирена
Если устройство потеряно или украдено, включите удаленно на пропавшем устройстве громкий звуковой сигнал — сирена сработает после наступления тревожного события и блокировки экрана Антивором Dr.Web.
Вы также можете задать текст, который нашедший телефон или планшет увидит на экране заблокированного устройства при его обнаружении.
Удаление данных
Сотрите удаленно данные в телефоне и на SD-карте — если вы уверены, что телефон утерян безвозвратно — ваша конфиденциальная информация не попадет в руки злоумышленников.
Защита
Доступ к настройкам Антивора можно защитить паролем от несанкционированных изменений. Пароль устанавливает администратор устройства при настройке учетной записи антивируса.
Данная статья написана в рамках ответственного разглашения информации о уязвимости. Хочу выразить благодарность сотрудникам 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, который находится на второй машине.
Когда программа запущена, в области уведомлений Рабочего стола Windows присутствует ее значок. Если навести на него указатель мыши, можно увидеть краткие сведения о работающих модулях и о базах определений вирусов (рис. 6.10).
Если щелкнуть по значку правой кнопкой мыши, будет открыто меню управления программой (рис. 6.11).
По умолчанию программа работает в пользовательском режиме. В этом режиме ограничена возможность воздействия на параметры программы. Для того чтобы получить доступ к настройкам программы, нужно щелкнуть по команде Административный режим. Для перехода в этот режим нужны административные полномочия. То есть, без знания пароля административной учетной записи переключиться в этот режим не удастся.
После перехода в административный режим состав доступных команд меняется (рис. 6.12).
Рис. 6.12. Меню управления программой после перехода в административный режим
Использовать административный режим следует лишь тогда, когда вы планируете настраивать программу или выполнять другие действия, недоступные в пользовательском режиме. Для возврата служит команда Пользовательский режим.
Команда Отключить Самозащиту позволяет временно отключать систему самозащиты программы. Это действие может понадобиться для успешного выполнения некоторых системных задач – например, для возврата к одной из точек восстановления системы, при выполнении дефрагментации диска.
Команда Обновление позволяет запустить обновление программы. По умолчанию она настроена на автоматическое обновление, которое производится достаточно часто для того, чтобы гарантировать актуальное состояние баз определений вирусов и программных файлов.
Команда Сканер открывает окно (рис. 6.13), пользуясь которым можно запустить проверку системы.
У команд SpIDer Guard, SpIDer Mail, SpIDer Gate, Родительский контроль, Брандмауэр имеются меню . Команда Настройки позволяет открыть раздел системы управления программой, связанный с выбранной функцией (рис. 6.14). Здесь же можно найти команды просмотра статистики работы компонентов и команду отключения компонента.
Основной компонент , отвечающий за антивирусную безопасность , называется SpIDer Guard. Его отключение равносильно отключению защиты от вредоносных программ.
Компонент SpIDer Gate реализует защиту от интернет -угроз – например, от потенциально опасных сайтов. Брандмауэр служит для защиты от сетевых атак. SpIDer Mail – это система защиты почтовых программ, используемых на компьютере.
Компонент Родительский контроль реализует функции защиты детей при работе в Интернете и ограничения времени при работе за компьютером и в Интернете. Также этот компонент поддерживает ограничение доступа к файлам, папкам, сменным носителям информации.
Обратите внимание на то, что мы работаем в административном режиме. В пользовательском режиме в данных меню есть лишь команда просмотра статистики.
Читайте также: