ИБ-специалист Педро Риберио (Pedro Ribeiro) обнаружил ряд опасных уязвимостей в роутерах NETGEAR WNR2000. Проблемы позволяют атакующему удаленно скомпрометировать девайс и взять его под свой контроль.

Описанные исследователем проблемы можно эксплуатировать через LAN, однако Риберио пишет, что если на устройстве включена функция удаленного администрирования, атаки также можно осуществить и через интернет. По данным специалиста, сейчас через Shodan можно обнаружить около 10 000 уязвимых роутеров, у которых данная функция активна. Сколько еще устройств уязвимы перед локальными атаками, неизвестно.

Хорошая новость: все баги были найдены на устройствах WNR2000v5, где удаленное администрирование по умолчанию отключено. Однако исследователь полагает, что 3 и 4 версии роутеров тоже уязвимы, хотя он не проверял эту догадку на практике.

Проблема в том, что NETGEAR WNR2000 позволяет администратору выполнять различные функции посредством CGI-скрипта apply.cgi. Данный скрипт вызывается, когда изменяются настройки интернета, WLAN, производится сброс к заводской конфигурации, перезагрузка роутера и так далее. Однако на самом деле apply.cgi – это не совсем скрипт, а функция, вызываемая HTTP-сервером (uhttpd), когда он получает данную последовательность в URL.

Отреверсив uhttpd, Риберио обнаружил, что неавторизованный пользователь может выполнить те же действия, что и администратор, если вызовет apply_noauth.cgi. Но если перезагрузить роутер атакующий может беспрепятственно, то для выполнения других команд, например, изменения настроек интернета или извлечения пароля администратора, ему придется включить в URL переменную timestamp.

«Timestamp генерируется каждый раз, когда целевая страница достигнута, он играет роль своеобразного анти-CSRF токена. Функцию, генерирующую timestamp, удалось отреверсить благодаря некорректному использованию генератора случайных чисел. Токен можно подобрать менее чем за 1000 попыток», — объясняет исследователь.

В результате, эксплуатируя данную уязвимость, а также еще один баг, допускающий утечку информации, атакующий может узнать пароль администратора, воспользоваться им для включения Telnet, и root shell в его полном распоряжении.

Также исследователь описывает проблему переполнения буфера стека, которая позволяет исполнить произвольный код и полностью перехватить контроль над устройством. Чтобы добиться этого, вновь придется обратиться к apply_noauth.cgi и атаковать timestamp. Данная проблема опасна как для LAN, так и для WAN.

Риберио сообщил обо всех найденных проблемах разработчикам NETGEAR еще в сентябре 2016 года, однако так и не дождался ответа компании. Выждав немного, в ноябре исследователь обратился за помощью к коллегам из CERT, но те тоже не сумели связаться с разработчиком уязвимых роутеров. В итоге 20 декабря 2016 года Риберио решил обнародовать данные об уязвимостях публично.

Напомню, что это не первый инцидент, связанный с проблемами в оборудовании NETGEAR в этом месяце. Ранее, в декабре 2016 года, во многих моделях роутеров компании обнаружили критическую уязвимость, которая позволяет удаленно выполнить на устройстве любую команду с root-привилегиями. Хуже того, для эксплуатации бага достаточно просто заманить пользователя на вредоносный сайт.

1 комментарий

  1. John Cramer

    23.12.2016 at 15:59

    1. «Функцию, генерирующую timestamp, удалось отреверсить благодаря некорректному использованию генератора случайных чисел.» — слово «благодаря» здесь не к месту, в оригинале ближе к «в результате реверсинга было обнаружено некорректное использование».
    2. «Приятности» событию добавляет то, что роутеры Netgear иногда поставляются провайдерами, так что абонент, даже зная о проблеме, поделать с арендованным оборудованием ничего не может.

Оставить мнение