HIKvision — сброс пароля и BIG FUCKING SECURITY FAIL

Posted: 2015-11-12 in Hardware, Security
Метки:,

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

ПРЕДУПЕРЖДЕНИЕ: если у вас аллергия на крепкие ругательства — вам читать дальше категорически нельзя. Аллергия закончится для вас анафилактическим шоком.

Сегодняшний клиент нашей анатомички — IP-камера HIK-Vision DS-2CD2012-I. Это уличная камера для IP-видеонаблюдения. Настроена она была у клиента изрядное время назад, и вот недавно к ней пропал доступ. Попробовав как стандартные для этой камеры admin / 12345, так и свои ранее поставленные настройки, обнаружил, что пароли не подходят. То ли камеру хакнули (что бывает при наличии уязвимостей в прошивке), то ли она сама сглючила (тоже случается).

Тривиальная на первый взгляд задача сброса настроек на камере превратилась в адов квест.

Сперва выяснилось, что кнопка [RESET] на жопе камеры делает всё что угодно, но только не сброс камеры. Некоторые камеры хик-вижена сбрасываются включением камеры с зажатым на 20 секунд ресетом, но в моём случае это не помогло. Запустив пингование устройства, я просто нажал эту кнопку. Пинг не прервался. Девайс на неё вообще не реагирует !

Я конечно понимаю, что камера уличная и работала в Южном Бутово, но класс защиты IP66 и отчётливый звук щелчка кагбе намекал мне, что сама кнопка исправна.

Дело запахло общением с саппортом. Идём на hikvision.ru/support и созерцаем там прямо под контактными телефонами ссылку на инструкцию по сбросу пароля.

hik1_site-contact

В «Контактах», блять!!!

По ссылке читаем полнейшую жесть — оказывается, сбросить пароль самому на ней нельзя (без паяльника и программатора, во всяком случае).

hik2_site-reset-password-instruction

Для сброса надо иметь машинку с виндовс, находящуюся в том же Ethernet-сегменте, поставить туда кривую блядскую китайскую хуань под нзванием SADP.exe, с её помощью опросить девайс, узнать время её загрузки и серийный номер.

Эти две строчки надо отправить емейлом саппорту, и там они сгенерируют временный код для сброса пароля. Камеру ребутить всё это время нельзя — сменится BootTime, который используется при генерации кода сброса пароля.

Получается следующий анальный нагиб:

— имея доступ к локальной сети, любой хер может тривиально узнать серийник и время загрузки, после чего сбросить пароль на вашем же устройстве, написав в поддержку.
— при наличии багов (а я 100% уверен, что они там есть) любой ксакеп тоже может без проблем поиметь доступ к камере.
— Законный владелец просто так НЕ МОЖЕТ САМ СБРОСИТЬ НАСТРОЙКИ, даже ИМЕЯ ЛОКАЛЬНЫЙ ДОСТУП.

Это — полный, лютый, беспросветный пиздец. Такое вот «подобие безопасности в кавычках».

Сказать, что я от такого подхода полнейше фалломорфировал — это ничего не сказать!

Ситуация, когда пароль на устройстве может сбросить хуй знает кто, а владелец устройства вынужден писать какие-то серийники в поддержку для тривиальнейшего действия — она не просто ненормальна — она чудовищна! Давайте, скажите мне после этого, что Столлман излишне параноидален — я сильно посмеюсь с вашей тупой наивности.

При этом для обновления прошивки и корректной работы веб-интерфейса надо поставить в системе некие «Web-Components» для осла. Вопрос о процентном содержании китайских троянов в таких приблудах остаётся открытым. Компоненты далеко не безглючны. Например, вот так выводится LiveVideo на главной странице веб-морды камеры через этот ебучий ActiveX:

hik3_Video_stream

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

hik4_FWUP

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

hik7_setup

Продолжаем забег. Погуглив про эти говнодевайсы, выяснилось, что это типичное анально тивоизированное устройство, для некоторых версий которого можно даже залогиниться телнетом с реквизитами root / hiklinux. Увы, но в моём случае это не помогло. Похоже, это даже пытались сделать платной услугой — такой вот вендор-лок по-китайски.

На ютубе есть даже обучающий видос с типа мануалом:

Охерев окончательно, я таки позвонил в саппорт. Оказалось, что идея такой анальной процедуры сброса пароля принадлежит китайским разработчикам, и МЕНЯТЬ ЕЁ ОНИ НЕ СОБИРАЮТСЯ!!

Также выяснилось, что письма с запросом на сброс пароля проходят ПРЕМОДЕРАЦИЮ (видимо, скрипты таки их заспамили), и ответа нужно подождать минут 10-15. Реально ничего не было отвечено в течении трёх часов, а первое письмо вообще не дошло.

В новой версии прошивки 5.2 сброс пароля теперь делается отправкой кривого файлика, выгруженного из утилиты SADP, а не отправкой серийника. Причина в том, что для старых прошивок есть онлайн-генератор этих самых кодов сброса:

https://www.ipcamtalk.com/hik-pw-reset.php

Позволяющий легко генерить коды сброса кому угодно! Единственное ограничение — нужно быть в той же L2-сети. Но это называть в 2015-м «защитой» — просто смешно.

Я решил прикола ради посмотреть, как идёт обмен при опросе камеры кривой тулзой SDAP.exe.
Сперва тулза шлёт два UDP-пакета мультикастом на 239.255.255.250, порт 37020 (совершенно одинаковых).
Внутри — XML-блок:

<?xml version="1.0" encoding="utf-8"?>
<Probe>
   <Uuid>DCABB193-058C-45D1-AC55-1E6D0ECF85AC</Uuid>
   <Types>inquiry</Types>
</Probe>

Да, вот прямо вот такой вот XML внутри UDP внутри IP-Multicast.

Затем тулза шлёт два совсем уж неведомых фрейма — в них неведомая бинарная херь упакована сразу в L2-Ethernet, без всякой L3/L4-инкапсуляции. В L2-заголовке тип пейлоада — не VLAN и не IP, а неведомая фигня 0x8033

hik8_tcpdump

Ну и напоследок камера отвечает в том же духе — одним-единственным пакетом,
где бинарные данные обёрнуты сразу в L2-Ethernet. Хорошо хоть не броадкастом гавкает на весь влан, ибо внутри данных версия прошивки и серийники (напоминаю, по ним пароль сбрасывается!!) идут открытым текстом.

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

Поскольку возможность сброса камеры зависит от компании-производителя (вот зондищще-то), то на многих удалённых от цивилизации объектах сброс подобной камеры может оказаться невозможен. Так что если у хиквижена на сайте на баннере написано «выбор профессианалофф» — не верьте, пиздят. Выбор профессионалов — это Axis, а не всякая неведомая поебень с бэкдорами и неработающим ресетом.

Реклама
- комментарии
  1. Дмитрий:

    Выбор проффи это beward, зайди на шодан, и посмотри — больше половины камер вскрытых этим поисковиком это axis

  2. Amin:

    Shodan просто ищет девайсы в инете и идентифицирует их. Так что это ничего не доказывает. Просто из массива камер на внешних IPv4 на Axis приходится значительная часть. Предположу, что большинство камер вообще на внешний адрес посадить — это сразу поучаствовать в DDoS.

    Beward — тоже местами зело крив, особенно в плане фирмвари.
    https://aminux.wordpress.com/?s=beward
    Хотя железо у них отличное.

  3. Сергей:

    Здравствуйте. Не могли бы Вы мне помочь: купил китайский регистратор DS-7104N-SN/P. Поработал он месяца два и однажды при включении как всегда попросил пароль. Пароль никогда не менялся но стандартный пароль 12345 не подошёл. Продавец с алиэкспресса порекомендовал обратиться в ремонтную мастерскую, у официальных представителей сказали, что занимаются только регистраторами купленными у них и никак по другому. Я прочитал много форумов но так и не нашёл как сбросить этот чёртов пароль. Может Вы что нибудь подскажете,Буду очень благодарен.

  4. Amin:

    С регистраторами дела не имел. Я бы попробовал сперва неофициальный сервис. Или же аккуратно разобрать и осмотреть плату на предмет поиска RS232/TTL или JTAG интерфейса. Часто наличие такого технологического порта позволяет получить доступ к железке. Но есть и немалый риск что-нибудь угробить.

    ЕМНИП, сервис хиквижена отрабатывает по серийникам девайсов. Если девайс серый — то только неофициальный сервис или самостоятельное изучение девайса.

  5. Добрый день. Так же само целый вечер генерировали матерные слова при восстановлении пароля к регистратору Hikvision, пока не ввели в онлайн восстановилке серийный номер «DS-7104HWI-SL0420140717AAWR472915424WCVU» без «DS-7104HWI-SL» таким образом: «0420140717AAWR472915424WCVU»

  6. Сергей:

    Роман, как-нибудь Вы подобрали пароль?

  7. Большое спасбо! Помогла Ваша ссылка по сбросу пароля:
    https://www.ipcamtalk.com/hik-pw-reset.php
    Ввел только номер камеры и сразу получил новый сгенерированный, который сбрасывает к: 12345
    моя камера:http://www.aliexpress.com/snapshot/7304264614.html?orderId=72676365798462

  8. Amin:

    Ещё важна версия прошивки. На новых прошивках может перестать работать. Лучше такое забэкдоренное гумно не покупать совсем.

  9. Аскар:

    Восстановил пароль к регистратору Hikvision. Сгенерировал код безопасности https://www.ipcamtalk.com/hik-pw-reset.php и ввел его в самом регистраторе. ввел новый пароль для пользователя admin. Для этого в окне ввода пароля для пользователя, нажмите два раза мышкой в левом нижнем углу этого окна http://www.mxwiki.com/password/hikvision/reset-hikvision-admin-password.html как в пункте Hikvision NVR/DVD Password Reset by local menu.