Исследования GReAT

DoS-уязвимость в миллионах камер видеонаблюдения Intelbras

Предыстория

Сетевые камеры видеонаблюдения широко используются как в домашних, так и в корпоративных средах. Их защищенность критически важна для физической безопасности и охраны ключевых активов, а любые уязвимости могут привести к серьезным последствиям.

В ходе нашего исследования мы обнаружили уязвимость типа «отказ в обслуживании» (DoS), затрагивающую IP-камеры Intelbras. Ошибка кроется в конечной точке обновления прошивки, доступ к которой не требует аутентификации. Это позволяет любому, кто подключен к той же локальной сети Wi-Fi, что и камера, перевести ее в офлайн-режим. Один запрос выводит камеру из строя примерно на минуту, однако периодическая отправка запросов позволяет поддерживать устройство в офлайн-режиме неограниченное время. Мы сообщили об этой проблеме компании Intelbras, после чего отслеживали процесс устранения уязвимости и подтвердили корректность исправления в новой версии прошивки. Теперь мы можем шаг за шагом продемонстрировать механизм эксплуатации уязвимости.

Вслед за нашим уведомлением компания Intelbras устранила уязвимость и выпустила обновленную прошивку (R.260804) вместе с инструкциями по установке обновления. После отправки запроса в MITRE был присвоен идентификатор кандидата CAN-2026-2035970, ожидающий финального назначения CVE. Кроме того, команда экспертов Intelbras недавно сообщила нам, что MITRE классифицировала уязвимость как среднюю (Medium), присвоив ей 5.1 балла по системе CVSS 4.0. Рассматриваемая в этой статье брешь отсутствует в последней версии прошивки.

Прошивка

Intelbras публикует файлы прошивок на своем официальном сайте. Хотя пользователи могут устанавливать прошивку вручную с помощью SD-карты, камеры также поддерживают обновление прошивки по локальной сети через веб-интерфейс и мобильное приложение. Мы загрузили с сайта производителя последнюю версию прошивки (на момент нашего исследования) для камеры iM3B-C, а именно v240927. По данным Intelbras, эта же версия прошивки совместима с моделями iMX C, iM4 C, iM5 SC, iME 360 C и iM7+ FC. Ниже показаны версия прошивки и модель камеры, использованные в качестве примера.

Для контекста сначала мы разберем механизм аутентификации камеры и объясним, почему он важен для доступа к ее конечным точкам. Основным компонентом прошивки является исполняемый файл sonia для ARM, который, помимо прочего, отвечает за управление драйверами ядра, необходимыми для работы аппаратного обеспечения камеры, а также за аутентификацию и запись трансляций.

Как устроена аутентификация

RPC-метод global.login обрабатывает аутентификацию через конечную точку /RPC2_Login. Сначала клиент, например мобильное приложение или самописный скрипт, отправляет имя пользователя и пустой пароль. Камера отвечает запросом аутентификации (challenge) — набором значений, которые позволяют проверить знание пароля без непосредственной его передачи. В ответ камера возвращает идентификатор временной сессии, тип хэширования в поле encryption, случайное значение и идентификатор области аутентификации (realm). На данном этапе ответ false является нормальным и не указывает на сбой при входе в систему, так как процесс аутентификации еще не завершен.

Затем клиент вычисляет ответный пароль на основе полученного challenge. Сначала он вычисляет MD5-хэш строки имя_пользователя:realm:исходный_пароль, который используется в качестве основы для дальнейших вычислений. Затем вычисляется второй MD5-хэш строки имя_пользователя:случайные_символы:первый_хэш_md5, где вместо первый_хэш_md5 подставляется результат предыдущего шага. Для завершения аутентификации клиент отправляет конечный результат обратно на /RPC2_Login во втором вызове global.login, передавая имя пользователя, вычисленный пароль и идентификатор временной сессии.

Если учетные данные подходят, камера возвращает значение true и создает новую аутентифицированную сессию. Эта сессия используется для всех последующих RPC-вызовов, включая обращения к другим конечным точкам камеры, например к тем, которые позволяют перезагрузить устройство или получить доступ к конфиденциальной информации.

Проблемная конечная точка

Уязвимой конечной точкой является маршрут обновления прошивки http:///firmwareUpgrade_service/Demo, на которой отсутствует проверка аутентификации. Более того, на этом эндпоинте не проверяется корректность файла прошивки перед запуском процесса обновления. Это приводит к серьезной проблеме, так как обновление требует перезагрузки камеры. Именно тогда и происходит сбой: камера переходит в режим перезагрузки и пропадает из сети, становясь недоступной для пользователя и всех устройств, на которых она зарегистрирована.

Демонстрация рабочего эксплойта

Теперь, когда мы описали принцип работы уязвимости, проверим демонстрационный эксплойт в виде Python-скрипта на камере iM3B-C. Ниже показано, как sonia создает конечную точку камеры, отвечающую за обновление прошивки. Затем эксплойт вызывает эту конечную точку, инициируя перезагрузку камеры.

В результате мобильные устройства с запущенным приложением Intelbras теряют связь с зарегистрированной камерой. Ниже показана камера, работающая в штатном режиме: горит зеленый индикатор, а приложение показывает, что она доступна для просмотра.

Камера в режиме онлайн

Камера в режиме онлайн

После выполнения эксплойта мы видим следующее: камера переходит в офлайн-режим и теряет связь с устройствами, на которых она зарегистрирована.

Камера в режиме офлайн

Камера в режиме офлайн

Эксплойт устроен достаточно просто: он отправляет HTTP POST-запрос с файлом прошивки, после чего камера принимает запрос и начинает процесс перезагрузки. При этом не имеет значения, является ли прошивка оригинальной: процесс перезагрузки начнется в любом случае.

Новая версия прошивки

После того как мы уведомили Intelbras об этой ошибке в реализации конечной точки, компания связалась с OEM-поставщиком. В результате была разработана новая версия прошивки, в которой для запуска обновления через эту конечную точку требуется аутентификация.

Ниже мы сравниваем новую и старую версии прошивки: новая проверяет cookie-файлы и данные session, тогда как в старой версии аутентификация отсутствовала и сразу начиналась процедура обновления.

Реальная опасность

Злоумышленник может удаленно инициировать процесс обновления прошивки и перезагрузки камеры без аутентификации и без предоставления корректного образа прошивки. Это может привести к переходу устройства в офлайн-режим и, как следствие, к отказу в обслуживании: легитимные пользователи не смогут просматривать видеотрансляцию и управлять камерой.

Уязвимость затрагивает большое количество пользователей, поэтому последствия ее эксплуатации могут быть значительными. Приложение Intelbras Mibo Smart, предоставляемое компанией для подключения к упомянутым в отчете камерам и управления ими, было скачано более 4 млн раз. Основная доля пользователей приложения приходится на Бразилию, за которой следуют Парагвай, Эквадор, Колумбия, Аргентина, Чили, Перу, Боливия, Уругвай и Венесуэла.

Выводы

Уязвимость относится к среднему уровню опасности, и компания Intelbras уже знает о проблеме. Вектор атаки, связанный с этой брешью, был нейтрализован в более новой версии прошивки (R.260804, инструкция по установке обновлению). Поскольку уязвимость напрямую влияет на доступность и нормальную работу затронутых камер, пользователям настоятельно рекомендуется проверить текущую версию прошивки на своих устройствах и как можно скорее обновиться до последней доступной версии. Поддержание прошивки в актуальном состоянии является важной практикой кибербезопасности, особенно для подключенных к интернету устройств видеонаблюдения, поскольку устаревшие версии могут быть уязвимыми к известным угрозам.

DoS-уязвимость в миллионах камер видеонаблюдения Intelbras

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Отчеты

Благотворительность как приманка: Armored Likho расширяет арсенал инструментов для кибершпионажа

Эксперты «Лаборатории Касперского» разбирают новую кампанию Armored Likho, маскирующуюся под благотворительность и доставляющую новый Still Toolkit, нацеленный на кражу данных из Telegram и прослушку.

ToddyCat — ваш скрытый почтовый ассистент. Часть 2

Разбираем Umbrij — новый инструмент APT-группы ToddyCat для компрометации корпоративной переписки в сервисе Gmail. Целью атак стал токен авторизации OAuth, при помощи которого злоумышленники получали доступ к сервисам Google.

Подпишитесь на еженедельную рассылку

Самая актуальная аналитика – в вашем почтовом ящике