Уязвимости в маршрутизаторах Netgear позволяют взламывать корпоративные сети
Команда специалистов Microsoft 365 Defender обнаружила три опасные уязвимости в прошивке некоторых моделей маршрутизаторов Netgear. Уязвимости затрагивают маршрутизаторы серии DGN2200v1 с установленной версией прошивки старше 1.0.0.60.
Эксплуатация уязвимостей позволяет неавторизованным злоумышленникам получить доступ к страницам управления маршрутизаторами путем обхода проверки подлинности, получить доступ к устройству и похитить сохраненные учетные данные маршрутизатора с помощью криптографической атаки по стороннему каналу.
Исследователи провели статический анализ двоичного файла HTTPd, а также некоторый динамический анализ, запустив эмулятор с открытым исходным кодом QEMU. Эксперты обнаружили код обработки первой страницы внутри HTTPd, автоматически одобряющий определенные сайты, такие как form.css или func.js. Утверждение этих страниц не является чем-либо опасным, но Netgear использует strstr для проверки наличия на странице подстрок ".jpg", ".gif" или "ess_", пытаясь сопоставить все URL.
Таким образом можно получить доступ к любой странице на устройстве, включая те, которые требуют аутентификации, добавив переменную GET с соответствующей подстрокой (например, "?.Gif"). Например: hxxps: // 10 [.] 0 [.] 138 / WAN_wan.htm? Pic.gif. Это представляет собой полный и полностью рабочий метод обхода аутентификации.
Если страница должна быть аутентифицирована, HTTPd потребует базовой аутентификации HTTP. Учетные данные будут закодированы в base64 и отправлены в заголовке HTTP и, наконец, проверены на соответствие сохраненному имени пользователя и паролю в памяти маршрутизатора. Маршрутизатор хранит эту информацию в NVRAM - вне файловой системы.
Специалисты выявили возможность атаки по стороннему каналу, которая может позволить злоумышленнику получить правильные учетные данные. Учетные данные сравниваются с помощью strcmp. Реализация strcmp в libc работает по принципу посимвольного сравнения до тех пор, пока не будет обнаружен терминатор NUL или пока не произойдет несоответствие. Злоумышленник может воспользоваться последним, пока не будут раскрыты все учетные данные.
В общей сложности было обнаружено три опасные уязвимости. Проблемы получили оценки от 7,1 до 9,4 балла по шкале CVSS 3.1.