Более тысячи моделей IP-камер подвержены root-уязвимости
В результате изучения прошивки камеры Wireless IP Camera (P2P) WIFICAM была выявлена возможность удаленного доступа к устройству с правами root, используя жестко прописанный в прошивке пароль. Более дательный разбор показал, что в прошивке также присутствуют и другие уязвимости, позволяющие выполнить свой код с правами root, в том числе обнаружена уязвимость в http-сервере GoAhead, которое используется многими другими производителями IP-камер.
Так как камера Wireless IP Camera (P2P) WIFICAM построена на типовой платформе, на основе которой выпускаются многие другие модели IP-камер, некоторые уязвимости проявляются и в моделях других производителей. В сумме проблемам оказались подвержены около 1250 различных моделей камер, включая камеры 3com, 7Links, A4Tech, APKLINK, AQUILA, AVACOM, Acromedia, Agasio, Airsight, Alecto, Allnet, Apexis, Atheros, Bionics, Chinavasion, D-Link, Dericam, EST, EasyCam, EasyN, Elro, EyeCam, Foscam, GoAhead, Heden, iView,ICam, Kogan, LifeTech, Logitech, Maginon, Mediatech, Netcam, Pixpo, Polariod, Provision, Pyle, Scricam, skylink, Skytronic, SmartEye, Sricam, Sricctv, StarCam, Sumpple, Suneyes, Supra+Space, Swann, Techview, Tenvis, Vantech, Vstarcam, Wanscam, Wansview и X10. Сканирование сети через севис Shodan выявило более 185 тысяч уязвимых устройств, миллионы камер во внутренних подсетях потенциально уязвимы для атак через облачную инфраструктуру.
Выявленные уязвимости:
- В прошивке определен фиксированный пароль root ("root:$1$ybdHbPDn$ii9aEIFNiolBbM9QxW9mr0:0:0::/root:/bin/sh") и по умолчанию запущен сервис "telnetd". Для входа с правами root достаточно подобрать пароль по хэшу и подключиться при помощи telnet;
- В прошивке сохранен закрытый RSA-ключ для Apple Production IOS Push Services (/system/www/pem/ck.pem);
- Утечка информации в http-сервере GoAhead, позволяющая получить информацию об учетных записях. Параметры доступа сохраняются в файлах system.ini и system-b.ini, на которые присутствуют символические ссылки из директории для отдачи данных в Web. Из-за ошибки, в отличии от cgi-скриптов, требующих аутентификации, к файлам можно обратиться без аутентификации, указав пустые логин и пароль. Например, для получения параметров входа достаточно запросить файл "http://192.168.1.1/system.ini?loginuse&loginpas";
- Через манипуляциею со скриптом set_ftp.cgi, предназначенным для настройки доступа по FTP, можно выполнить произвольную команду с правами root через подстановку shell-конструкции "$(...)". Например, для запуска процесса telnetd для входа без пароля можно выполнить:
$ wget -qO- 'http://192.168.1.1/set_ftp.cgi?next_url=ftp.htm&loginuse=admin&loginpas=admin&svr=192.168.1.1&port=21&user=ftp&pwd=$(telnetd -p25 -l/bin/sh)&dir=/&mode=PORT&upload_interval=0' $ wget -qO- 'http://192.168.1.1/ftptest.cgi?next_url=test_ftp.htm&loginuse=admin&loginpas=admin' $ telnet 192.168.1.107 25 Trying 192.168.1.107... Connected to 192.168.1.107. Escape character is '^]'. / id uid=0(root) gid=0
Комбинируя данную уязвимость с утечкой параметров аутентификации, можно обеспечить удаленный вход на камеру с правами root. Для упрощения проведения атаки и организации обратного канала связи для обхода межсетевого экрана подготовлен универсальный эксплоит. - Возможность просмотра передаваемой камерой видеоматериалов без аутентификации. Для просмотра достаточно обратиться к TCP-порту 10554 по протоколу RTSP, например "vlc rstp://192.168.1.1:10554/tcp/av0_1" или "vlc rstp://192.168.1.1:10554/tcp/av0_0";
- По умолчанию камера обеспечивает работу с облачными сервисами, что позволяет использовать мобильные приложения для управления камерой. По умолчанию камера периодически отправляет UDP-пакеты к сервисам www.baidu.com, openapi.xg.qq.com и ряду жестко прошитых IP-адресов. Протокол взаимодействия с облачными сервисами достаточно простой и не использует шифрование. В качестве идентификатора для подключения к камере через облачную сеть используется серийный номер, что позволяет зная или подобрав серийный номер, подключиться к камере во внутренней подсети, не имеющей прямого выхода в интернет и размещенной за транслятором адресов.
Дополнительно можно отметить выявленную другими исследователями уязвимость в CCTV и IP-камерах американской компании Dahua Techology. Уязвимость позволяет внешнему неаутентифицируемому атакующему загрузить содержимое базы с именами и паролями пользователей устройства, в том числе учетной записью администратора. Атака свозится к загрузке файла с учетными записями и входа на стройство с полученными параметрами администратора. Рабочий эксплоит планируется опубликовать 5 апреля, дав пользователям время на установку обновления.