Критическая уязвимость в антивирусных продуктах компании Zemana и не только

в 20:17, , рубрики: privilege escalation, remote code execution, Zemana, антивирусная защита, информационная безопасность

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

Критическая уязвимость в антивирусных продуктах компании Zemana и не только - 1

Уупс

Обнаруженная уязвимость содержится в процедуре обновления антивирусного продукта. Файлы конфигурации обновления передаются по обычному http соединению и могут быть прочтены человеком(что не является уязвимостью). В ответах от серверов компании были обнаружены ссылки на файлы обновлений, которые антивирус исполняет при обнаружении новой версии.

Критическая уязвимость в антивирусных продуктах компании Zemana и не только - 2
Update url

Очень удивительным является тот факт, что даже простая подмена URL файла на сторонний приводила к странному предупреждению антивируса.

Критическая уязвимость в антивирусных продуктах компании Zemana и не только - 3
Вы хотите выполнить какой-то файл с правами системы?

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

Однако, наврятли кто в здравом уме будет соглашаться устанавливать такое «обновление». Посмотрим возможность обхода этого уведомления. Все файлы обновлений подписаны цифровой подписью и должны быть верифицированы перед исполнением. Давайте посмотрим на функцию «ZmnAppUpdater» и увидим интересный участок места вызова функции «SignatureChecker» в файле ZAM.exe

Критическая уязвимость в антивирусных продуктах компании Zemana и не только - 4
Пропущенная проверка

Данная функция должна проводить верификацию цифровой подписи exe файла и возвращать код результата проверки. Однако в функции «ZmnAppUpdater» авторы забыли это сделать(результат EAX = 0x80096010 (TRUST_E_BAD_DIGEST)). Таким образом, возможно выполнить произвольный код на удаленной системе с правами SYSTEM без взаимодействия с пользователем всего лишь выполнив атаку «man in the middle». Клонируем Security directory оригинального файла обновления в поддельный файл обновления и наплевать на то, что цифровая подпись не может быть верифицирована операционной системой. Антивирус проверяет лишь на чьё имя выписан сертификат, но не его целостность.

Уязвимость с идентификатором CVE-2019-6440 была исправлена начиная с версий 3.x(beta).

Отмечу ещё один интересный момент. С момента передачи информации об уязвимости до её фактического исправления(начиная с версий 3x) прошло около года. Уязвимость присутствует во всех продуктах компании, однако выход экстренного патча было решено отложить до выпуска новой мажорной версии. Представители компании сообщили, что уязвимость достаточно сложно обнаружить, в разработке новая мажорная версия и компания не планирует выпускать патчи, так как имеет более 20 ребрендинг партнеров. Конечно, во всех продуктах компаний-партнёров уязвимость присутствует. Более того, компания, зная о наличии уязвимости, продолжает активное продвижение версий с уязвимым кодом до сих пор.

Казалось бы, компания, занимающаяся информационной безопастностью, должна была как можно скорее выпустить обновления, однако это не так и безопастность клиентов не очень то её и волнует.

Автор: hex_none

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js