
Уязвимость проверки сервера обновления прошивки на Buffalo LS210D версии 1.78-0.03
Кристофер Дж. Пейс и Райан Миллер
Buffalo LS210D — это сетевой накопитель (NAS), разработанный и продаваемый для малого бизнеса и частных лиц. В LS210D есть возможность удаленной загрузки и установки обновления прошивки. LS210D уязвим к атаке «злоумышленник в середине» (AitM) в этой функции. Злоумышленник, контролирующий вышестоящее соединение жертвы, сможет либо предоставить неверное DNS-имя для сервера обновлений, либо перенаправить трафик с сервера обновлений на вредоносный сервер. Это может привести к выполнению команд от имени пользователя root или к прямой установке вредоносного ПО.
Файл /etc/init.d/update_notifications.sh вызывается из серверного сценария обновления прошивки в /www/buffalo/www/dynamic/system/update/BufUpdate.pm. Внутри update_notifications.sh находится следующая строка:

Открытие этого xml-файла показывает, что сам XML-файл также указывает на соединение только по HTTP:

Кроме того, этот zip-файл также не зашифрован. Предыдущие исследования этой модели привели нас к загрузке утилиты ручного обновления прошивки, которая включала zip-файл, защищенный паролем. Файл linkstation_series_1.75-0.01.zip не содержит таких защитных мер. Внутри архива находится файл hddrootfs.buffalo.updated, который содержит архив hddrootfs.buffalo, содержащий корневую файловую систему LS120D. Злоумышленник может напрямую просматривать и изменять этот zip-файл, чтобы включить в него собственное вредоносное ПО или прочитать конфиденциальные файлы.

После того как злоумышленник выполнил атаку AitM, маршрутизатор с готовностью предложит установить обновленную прошивку. Вот пример такой атаки: на экране справа показаны необходимые изменения в fw_info2.xml, а именно добавление 0x0000001D в тег productId и увеличение тега версии до значения, превышающего версию прошивки жертвы (в данном случае 1.78-0.04).

