Исследователи из Positive Technologies обнаружили в пробной версии WinRAR 5.70 уязвимость, позволяющую перехватывать и видоизменять ответы сервера RarLab, возвращаемые пользователю приложения. Используя этот недочет, удаленный злоумышленник может добиться выполнения своего кода на компьютере жертвы.
Проблема была зарегистрирована под идентификатором CVE-2021-35052. По словам экспертов, они обнаружили ее случайно в ходе использования WinRAR 5.70 (последняя стабильная версия — 6.02, тестируется 6.10).
Установленное приложение пробыло в эксплуатации какое-то время, а потом вдруг стало выдавать ошибку JavaScript:
Это диалоговое окно Internet Explorer стало появляться при запуске WinRAR после окончания пробного периода, притом не всегда, через два раза на третий. Как оказалось, браузер при этом задействовал mshtml.dll — встроенный движок, в котором недавно была обнаружена и пропатчена уязвимость 0-day.
Чтобы понять, в чем проблема и как ее можно использовать, исследователи превратили свой инструмент тестирования Burp Suite в дефолтный прокси-сервер Windows — для перехвата трафика из браузера. Поскольку передача запросов происходит по HTTPS, пользователю WinRAR стало отображаться сообщение о ненадежности сертификата, который использует Burp.
Увидев такой алерт, многие пользователи, по словам экспертов, кликнут по кнопке «Да», чтобы получить нужный контент.
Попытка модификации сообщений, возвращаемых сервером, тоже оказалась успешной. Вместо того, чтобы каждый раз подставлять в ответ свой домен вместо дефолтного notifier.rarlab.com, исследователи заменили код ответа редиректором — ошибкой 301 Moved Permanently («запрошенный ресурс сменил местоположение»). В этом случае переброс на страницу с редиректом кешируется, и все запросы пользователя автоматически перенаправляются на узел, контролируемый атакующими.
Подобная MitM-атака, по словам аналитиков, полагается на ARP-спуфинг — подмену разрешения адресов, возможную при использовании сетевого протокола ARP. Дело в том, что этот древний протокол не предусматривает проверку подлинности запросов и ответов, и перехват широковещательного ARP-запроса можно использовать для создания ложного объекта распределенной вычислительной системы (путем подмены MAC-адреса узла в кеше). Атакующему надо лишь находиться в одной сети с жертвой, и ее IE автоматически отнесет вредоносный ресурс к зоне безопасности 1 (местной интрасети).
Исследование также показало, что CVE-2021-35052 можно использовать с разными целями. Так, экспериментаторам удалось с ее помощью получить данные локального узла, открыть на нем файлы по выбору, запустить калькулятор Windows. Большинство пробных атак завершились успехом, но многие спровоцировали предупреждение, требующее вмешательства пользователя.
Примечательно, что попытки открыть файлы с расширениями .docx, .pdf, .py и .rar систему безопасности не встревожили. В случае с rar-файлами открывается еще одна возможность — удаленное исполнение кода через уязвимость CVE-2018-20250, когда версия WinRAR ниже 5.70.