
Исследование уязвимости CVE-2017-7921 — критический неаутентифицированный обход аутентификации в IP-камерах/DVR/NVR Hikvision, охватывающий первопричину, путь эксплуатации, обнаружение и устранение.
Неверная аутентификация — повышение привилегий через специально сформированный параметр запроса
| Идентификатор CVE | CVE-2017-7921 |
| Класс уязвимости | CWE-287: Неверная аутентификация |
| Базовая оценка CVSS v3.0 | 10.0 (Критический) — AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H |
| Оценка CVSS v2.0 | 7.5 (Высокий) — AV:N/AC:L/Au:N/C:P/I:P/A:P |
| Дата раскрытия | 2017 (ICS-CERT Advisory ICSA-17-124-01) |
| Производитель | Hikvision Digital Technology Co., Ltd. |
| Статус | Исправлено — Hikvision выпустила исправленную прошивку; неисправленные устройства и устройства «серого рынка» остаются уязвимыми |
| Автор PoC/эксплойта | Jared Brits (K3ysTr0K3R) |
| Автор описания | MK-ULTRA (github.com/MK-ULTRA-project-monarch) |
CVE-2017-7921 — это критическая уязвимость неверной аутентификации, затрагивающая компонент веб-сервера прошивки широкого спектра сетевых камер, DVR и NVR Hikvision. Ошибка позволяет удалённому неаутентифицированному злоумышленнику полностью обойти механизм входа в устройство, добавив специально сформированный, статически определённый параметр запроса к определённым путям HTTP-запросов. Поскольку проверка аутентификации доверяет этому параметру вместо проверки сессии или учётных данных, любой запрос, содержащий его, обрабатывается так, как если бы он исходил от привилегированного внутреннего процесса.
Успешная эксплуатация предоставляет полный административный доступ к веб-интерфейсу устройства, включая прямые и записанные видеопотоки, конфигурацию устройства, данные учётных записей и — на многих ветках прошивки — возможность загрузить полный файл конфигурации устройства, который сам содержит слабо зашифрованные сохранённые учётные данные. Уязвимость не требует взаимодействия с пользователем, предварительной аутентификации или нестандартного сетевого положения, что в сочетании с масштабом установочной базы Hikvision сделало её постоянной целью для вербовки в ботнеты (например, активность семейства Reaper/IoTroop) и сбора видеопотоков с момента раскрытия.
Уязвимость была подтверждена в нескольких семействах продуктов Hikvision, работающих на ветках прошивки, предшествовавших патчу безопасности 2017 года. Типичные затронутые линейки включают:
Hikvision также отметила постоянное осложнение, характерное именно для этого CVE: большая популяция устройств «серого рынка», продаваемых вне авторизованных каналов распространения, работает на модифицированных, не-hikvision-прошивках. Стандартные обновления прошивки не гарантируют устранение уязвимости на таких устройствах, а в некоторых случаях возвращают интерфейс вместо его исправления.
Стандартная аутентификация устройств Hikvision построена на HTTP Basic/Digest auth, защищающем веб-интерфейс управления. В уязвимой прошивке, однако, часть внутренних конечных точек обработки запросов содержит вторичный, недокументированный путь аутентификации, предназначенный для внутреннего/отладочного использования. Этот путь не выполняет поиск учётных данных — он проверяет запрос на наличие фиксированного, зашитого токена и, если он найден, обрабатывает запрос как уже аутентифицированный, полностью обходя обычные проверки контроля доступа на основе ролей (RBAC).
Токен представляет собой представление в Base64 статической пары учётных данных по умолчанию, встроенной в саму прошивку. Поскольку это константа, а не производное значение сессии, она идентична на каждом уязвимом устройстве независимо от фактически настроенного пароля администратора — изменение пароля администратора не устраняет уязвимость.
На высоком уровне эксплуатация следует этой последовательности:
Никакого повреждения памяти, переполнения буфера или взаимодействия с клиентом не требуется; вся атака — это один специально сформированный, не имеющий состояния HTTP-запрос, что делает её тривиально скриптуемой и удобной для сканеров.
Три фактора объясняют необычно длинный хвост реального воздействия этого CVE:
tenable_ot_hikvision_CVE-2017-7921.nasl и консультативное уведомление CISA/ICS-CERT ICSA-17-124-01.Рабочий PoC для CVE-2017-7921 был написан Джаредом Бритсом (K3ysTr0K3R) и поддерживается на github.com/K3ysTr0K3R/CVE-2017-7921-EXPLOIT. В соответствии с практикой ответственного раскрытия, данное описание не содержит исходный код эксплойта, выводы с живых целей или захваченные учётные данные/видео.
[ Зарезервировано для скриншотов PoC против устройства, которое вам принадлежит или на тестирование которого вы имеете явное разрешение — например, изолированная виртуальная машина/камера в лабораторных условиях без proxychains, без сторонних целей и без живого видео из реального развёртывания. ]
tenable_ot_hikvision_CVE-2017-7921.nasl.Подготовлено для документации совместных исследований. Данное описание охватывает механику уязвимости, воздействие, обнаружение и устранение для защитных и образовательных целей; оно не содержит готового к запуску кода эксплойта или доказательств от несанкционированных целей.
| Метрика | Воздействие |
|---|
| Конфиденциальность | Полное — раскрываются прямые/записанные видеопотоки, конфигурация устройства и сохранённые (слабо зашифрованные) учётные данные. |
| Целостность | Полное — злоумышленник может изменить конфигурацию устройства, учётные записи и настройки потоков. |
| Доступность | Полное — злоумышленник может отключить запись, перезагрузить или иным образом нарушить работу устройства. |
| Область | Изменена (CVSS v3) — компрометация устройства часто позволяет перейти в более широкую сеть или вербовать его в распределённые ботнеты. |