Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

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

1 view
Skip to first unread message

Anton Gorlov

unread,
Jan 7, 2018, 1:44:59 PM1/7/18
to
Привет All!

В выпускаемых компанией Western Digital сетевых хранилищах My Cloud
[https://www.wdc.com/products/network-attached-storage.html] обнаружены опасная
уязвимость и бэкдор, позволяющие
[http://gulftech.org/advisories/WDMyCloud%20Multiple%20Vulnerabilities/125]
получить привилегированный доступ к устройству. Уязвимость даёт возможность
выполнить код с правами 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://www.opennet.ru/opennews/art.shtml?num=47867


С уважением. Anton aka Stalker

Linux Registered User #386476
[#*TEAM:*#] [#_Злой СисОп_#] [*Heavy Metal!*] [*_Усачи_*]
0 new messages