Исследователи безопасности из компании F-Secure выявили 18 уявзимостей в IP-камерах, выпускаемых компанией Foscam под разными брендами. Уязвимости позволяют получить контроль над устройствами, к которым можно подсоединиться из глобальной сети.
В том числе выявлено наличие предопределённого служебного пароля, который невозможно сменить без замены прошивки, позволяющего получить полный root-доступ к камере, просматривать видео, загружать файлы и использовать камеру в качестве точки для проведения атаки на локальную сеть. Уязвимости охватывают различные модели камер Foscam и устройств, выпускаемых Foscam под другими брендами, такими как Opticam, Qcam, Thomson, 7links, Netis, Turbox, Novodio, Ambientcam, Nexxt, Technaxx, Chacon, Ivue, Ebode и Sab.
Производитель был уведомлен о проблемах несколько месяцев назад, но обновление прошивок с исправлением проблем до сих пор не выпущено. Более того, по мнению исследователя, выявившего проблемы, программное обеспечение камер написано без оглядки на безопасность и непригодно для использования в глобальной сети. Пользователям проблемных камер рекомендуется убедиться, что доступ к камере ограничен локальной сетью и отсутствует возможность прямого обращения извне.
Уязвимости по большей части примитивные и не требуют квалификации для совершения атаки, например, на устройствах запускается FTP-сервер, допускающий вход под логином «user» при указании пустого пароля. Подключившись по FTP можно активировать скрытую функциональность для управления устройством через telnet или загрузить резервную копия файла конфигурации (файл зашифрован, но для шифрования используется предопределённый пароль), из которой можно узнать заданный пользователем пароль для web-интерфейса (в некоторых моделях присутствует неизменяемый типовой служебный пароль входа).
Подключившись через telnet можно получить права root, воспользовавшись выставленными в системе некорректными правами доступа, позволяющими непривилерированному пользователю запустить код с правами root через изменение загрузочного скрипта /mnt/mtd/boot.sh или через правку файла конфигурации /mnt/mtd/app/
config/ProductConfig.xml, которые по умолчанию доступны на запись. Другим способом является манипуляция со скриптом CGIProxy.fcgi, в котором не выполняется чистка спецсимволов в аргументах, что позволяет осуществить подстановку shell-команд, которые будут выполнены с правами root, так как web-интерфейс запускается под пользователем root.
Ещё одна большая порция уязвимостей связана с реализацией протокола ONVIF, для которого заданы пустые параметры аутентификации, что позволяет через отправку запроса на 888 сетевой порт осуществить подстановку своих команд, например, можно поменять содержимое /etc/passwd и установить новый пароль для пользователя root.