В сетевых хранилищах WDMyCloud выявлен бэкдор
7 января 2018 года
В выпускаемых компанией Western Digital сетевых хранилищах My Cloud обнаружены опасная уязвимость и бэкдор, позволяющие (Архивная копия от 9 ноября 2020 на Wayback Machine) получить привилегированный доступ к устройству. Уязвимость даёт возможность выполнить код с правами 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=1&cmd=51&user=mydlinkBRionyg&passwd=YWJjMT IzNDVjYmE&start=1&count=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?".
Источники
править- Главная ссылка к новости (http://gulftech.org/advisories...) (Архивная копия от 9 ноября 2020 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.