Исследователь компании IOActive решил проверить работу роутеров китайского производителя BHU, выбрав для испытаний модель uRouter. В итоге специалист пришел к выводу, что использование этих устройств может быть попросту опасным. Атакующий может скомпрометировать роутер без всякой аутентификации, получить доступ к логам и другой закрытой информации, а обладая root-доступом, злоумышленник и вовсе сможет осуществить всё, что только придет ему на ум.

Обнаруженный исследователем Алексом Барнсби (Alex Barnsbee) перечень уязвимостей наводит на неутешительные мысли о том, что любой сломанный роутер, любого другого производителя справится со своими обязанностями лучше, чем продукт, произведенный BHU.

Так как BHU разрабатывает продукцию для внутреннего китайского рынка, веб-интерфейс роутера не имеет английской версии, так что Барнсби, приобретший устройство в Китае в качестве сувенира, решил сразу перейти к извлечению и изучению прошивки.

img.p2ng
Админка устройства

Только начав изучать пришивку, исследователь решил проверить, как происходит обработка GET-запросов и тут же наткнулся на уязвимость, связанную с обходом каталога. Затем выяснилось, что доступ к логам роутера может получить практически любой желающий, хотя логи содержат конфиденциальные сведения. Среди этих данных, в частности, обнаружилось значение session ID (SID) админских cookie, которое позволяет атакующему скомпрометировать сессию администратора и перезагрузить устройство. Даже если администратор никогда пользовался этими функциями, атакующий может воспользоваться значением SID 700000000000000, которое оказалось жестко закодировано в прошивке роутера. Хуже того, данный SID сохраняется даже после перезагрузки устройства, и владелец не имеет никакой возможности сменить его или удалить.

1

 

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

Также в прошивке удалось обнаружить скрытого и уже существующего пользователя dms:3, который определенно является бэкдором. Кроме того, роутер готов принять вообще любой cookie SID для этого пользователя, так что аутентификация опять не понадобится.

Как только стало ясно, что получить административный доступ совсем нетрудно, исследователь решил проверить, как обстоят дела с root-доступом. Тут же выяснилось, что девайс допускает инъекции команд, которые выполняются с root-привилегиями. Для этого понадобится оформить всё в виде HTML, чтобы процесс XML-парсинга прошел нормально.

«У этого роутера такие проблемы с безопасностью, что атакующий без аутентификации может выполнять ОС команды с root-привилегиями! Не нужно даже искать способ обхода аутентификации, так как по умолчанию роутер использует значение 700000000000000, когда не имеет другого cookie SID», — рассказывает пораженный исследователь IOActive.

Скомпрометировав роутер, злоумышленник может прослушивать трафик жертвы, используя tcpdump. Также атакующий может перенаправить трафик, куда ему вздумается, обзавестись стойким бэкдором, или просто превратить устройство в «кирпич», удалив какие-либо важные файлы.

Дефолтные правила встроенного файервола также не мешают злоумышленнику получить доступ к WAN, если роутер подключен к интернету. SSH-порт открыт по умолчанию, и даже если владелец попытается это изменить, порт открывается снова после каждой перезагрузки устройства. Также после перезагрузки роутер сбрасывает пароль для встроенного бэкдор-аккаунта bhuroot, отменяя любые изменения, внесенные пользователем.

«Любой, кто знает пароль от аккаунта bhuroot, может связаться с роутером через SSH и получить root-доступ», — пишет исследователь.

Кроме всего уже перечисленного, в прошивке роутера обнаружилось встроенное приложение Privoxy. Устройство пропускает весь трафик пользователя через прокси, в результате чего к каждой странице добавляется JavaScript-файл http://chdadd.100msh.com/ad.js. Сервер, на котором расположен данный файл, доступен только из Китая, но производитель предусмотрел «страховку» на случай недоступности сервера: файл дублируется на самом устройстве и хранится в /usr/share/ad/ad.js. Весьма иронично, но хотя Privoxy исходно создавалось для того, чтобы помочь пользователям избавиться от рекламы в трафике, BHU использует приложение для внедрения рекламы.

4

В заключение своего отчета Барнсби пишет, что продолжит анализ модулей ядра uRouter. Исследователь предполагает, что дальнейшее изучение выявит еще одну порцию проблем.

 

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