В сетевых хранилищах WDMyCloud выявлен бэкдор

В выпускаемых компанией Western Digital сетевых хранилищах My Cloud обнаружены опасная уязвимость и бэкдор, позволяющие получить привилегированный доступ к устройству. Уязвимость даёт возможность выполнить код с правами root через отправку удалённого запроса без выполнения штатной процедуры аутентификации. Бэкдор проявляется в наличии скрытой учётной записи администратора с предопределённым паролем, который невозможно изменить. Проблемы присутствуют в прошивках до версии 2.30.165 включительно (кроме ветки MyCloud 04.X) и устранены в обновлении 2.30.174.

Уязвимость присутствует в скрипте multi_uploadify.php и связана с некорректной обработкой параметров. Сервер для аутентификации определялся в скрипте путём использования имени хоста, переданного в HTTP-заголовке Host, который может быть изменён пользователем. В сочетании с отсутствием кода для обработки ошибок при вызове gethostbyaddr(), атакующий может успешно пройти все проверки аутентификации, не зная параметров входа. Атака сводится к отправке POST-запроса к скрипту с изменённым HTTP-заголовком Host и параметрами «Filedata[0]» и «folder» для загрузки файла. Таким образом можно без аутентификации записать любой файл в каталог «/var/www/», например, загрузить PHP webshell, который при обращении будет выполнен с правами root.

Дальнейшее изучение прошивки показало, что для внешних запросов доступен скрипт /usr/local/modules/cgi/nas_sharing.cgi, в коде которого жесткой прошит логин «mydlinkBRionyg» и пароль «abc12345cba». Более того, скрипт содержит уязвимость, позволяющую передать и выполнить произвольный shell-код. Например, для запуска команды «touch /tmp/test.txt» от пользователя root достаточно отправить запрос «/cgi-bin/nas_sharing.cgi?dbg=1cmd=51user=mydlinkBRionygpasswd=YWJjMT
IzNDVjYmEstart=1count=1;touch+/tmp/test.txt;».

В ходе изучения прошивки исследователь также заметил упоминание несуществующего файла «mydlink.cgi», после чего выяснил, что прошивка устройств WDMyCloud во многом пересекается с прошивкой сетевого хранилища D-Link DNS-320L ShareCenter NAS, в которой аналогичных бэкдор был устранён в 2014 году в обновлении прошивки 1.0.6.

Кроме того, в WDMyCloud найдено несколько менее опасных уязвимостей. В частности скрипты в интерфейсе администратора подвержены возможности подстановки shell-кода, а web-интерфейс не имеет средств для защиты от XSRF-атак. Подобная особенность даёт возможность атакующему встроить на свой сайт запрос iframe или картинки со ссылкой вида «http://wdmycloud/web/dsdk/DsdkProxy.php?;touch+/tmp/test.txt;» и при посещении данной страницы пользователем, у которого не не закрыт сеанс в web-интерфейс WDMyCloud, на устройстве будет выполнена команда «touch /tmp/test.txt». Также имеется уязвимость в реализации API, позволяющая удалённо посмотреть список пользователей устройства через отправку запроса «/api/2.1/rest/users?».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.