Неавторизованный злоумышленник может сбросить системные пароли и получить права суперпользователя на устройстве.
Исследователи из компании Tenable обнаружили четыре уязвимости (CVE-2019-3976, CVE-2019-3977, CVE-2019-3978 и CVE-2019-3979) в маршрутизаторах MikroTik. По словам специалистов, неавторизованный злоумышленник с доступом к порту 8291 на маршрутизаторе может удаленно откатить ОС RouterOS до предыдущих версий, сбросить системные пароли и потенциально получить права суперпользователя.
Первым этапом в цепочке эксплуатаций является «отравление» кэша DNS (DNS cache poisoning). В Router OS по умолчанию отключена настройка DNS-сервера, но маршрутизатор по-прежнему поддерживает собственный DNS-кэш. DNS-запросы обрабатываются двоичным файлом «resolver», который подключается к протоколу Winbox. С помощью трех команд неавторизованный пользователь может отправлять DNS-запросы через маршрутизатор на DNS-сервер по своему выбору.
Следующим шагом в цепочке эксплуатаций будет откат RouterOS до версии 6.42.12 или более ранней (начиная с версии 6.43 MikroTik изменила механизм обработки пароля). Согласно журналу изменений проекта, «понижение до любой версии до 6.43 (6.42.12 и старше) удаляет все пользовательские пароли и позволяет авторизоваться без пароля».
С помощью вредоносного DNS-сервер злоумышленник может внедрить в кеш маршрутизатора ряд вредоносных IP-адресов, включая адрес загрузки. Когда маршрутизатор начнет поиск обновления, он попадет на сайт злоумышленника, а не на официальный сайт MikroTik. Вредоносный сайт может быть использован для установки более ранней версии, которую RouterOS посчитает последней.
«Когда пользователь устанавливает «новое обновление», происходит обход обычной логики, которая запрещает переход на более ранние версии через обновление, и переключается на RouterOS 6.41.4. Так как нам удалось откатить RouterOS с версии 6.45.6. до 6.41.4, мы смогли получить пустой пароль администратора. То есть атакующий может авторизоваться как администратор», — поясняют специалисты.
Механизм обработки .NPK-файлов подразумевает парсинг добавленного поля «part info», что может использоваться для создания каталога в любом месте на диске.
«Файл поддержки бэкдора для 6.41.4 представляет собой просто /pckg/option. Пока файл существует, даже в виде каталога, бэкдор будет работать», — поясняют исследователи.
Вышеуказанные уязвимости были исправлены компанией MikroTik в новой версии RouterOS 6.45.7.
Живой, мертвый или в суперпозиции? Узнайте в нашем канале