Более тысячи моделей IP-камер подвержены root-уязвимости


В результате изучения прошивки камеры Wireless IP Camera (P2P) WIFICAM была выявлена возможность удалённого доступа к устройству с правами root, используя жестко прописанный в прошивке пароль. Более детальный разбор показал, что в прошивке также присутствуют и другие уязвимости, позволяющие выполнить свой код с правами root, в том числе обнаружена уязвимость в http-сервере GoAhead, который используется многими другими производителями IP-камер.

Так как камера Wireless IP Camera (P2P) WIFICAM построена на типовой платформе, на основе которой выпускаются многие другие модели IP-камер, некоторые уязвимости проявляются и в моделях других производителей. В сумме проблемам оказались подвержены около 1250 различных моделей камер. Сканирование сети через севис Shodan выявило более 185 тысяч уязвимых устройств. Миллионы камер во внутренних подсетях потенциально уязвимы для атак через облачную инфраструктуру.

Среди уязвимых отмечены некоторых модели камер 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 и т.д.

Выявленные уязвимости:

В прошивке определён фиксированный пароль 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 апреля, дав пользователям время на установку обновления.