Уязвимости в безопасности IP устройств различных брендов. Hikvision. Часть 1
Аксиома Робертса:
Существуют только ошибки
Следствие Бермана:
Что для одного ошибка,
для другого - исходные данные
Безопасность в любой сфере жизнедеятельности всегда стоит на первом месте наравне с выживаемостью. Подверженность различного рода напастям присуще для всего того, что создано человеческими руками, потому как подвержено в максимальной степени риску допущения ошибок – как сознательного так и беЗсознательного характера.
На протяжении длительного времени изучая различные системы и программное обеспечение, связанного с ними, у меня накопилось много наблюдений и опыта, некоторыми из которых могу поделиться. Поскольку целью подобных занятий всегда был исключительно познавательный процесс, и всё, что делалось когда-либо мной, было всегда с удовольствием. Это и дало множество интересных результатов, в которых нет корыстной составляющей, наживы на счёт и за счёт этого.
В последнее время меня заинтересовали задачи, связанные с темой систем видеонаблюдения, коих на сегодняшний день очень много, в особенности, чинайского происхождения и производства.
Большинство систем построено на основе различных ядер линукс. Практически каждый из производителей таких систем это ставит в заслугу именно своей системы, непременно рассыпая весь букет достоинств, надёжности и безопасности системы и пр. Но, как оказалось, не всё так хорошо, надёжно и спокойно не только в датском королевстве, но и за его пределами.
Занимаясь внедрением информационных технологий, мне пришлось копнуть чуть глубже и погрузится в изучение прошивок различных производителей и их непосредственной работы на самих системах видеонаблюдения.
В зависимости от поставленных мной задач и строилось изучение той или иной системы, с которой приходилось реально сталкиваться в процессе внедрения. Многое из оборудования, что представлено на рынке продукции видеонаблюдения, попало под пристальное моё внимание, и некоторым производителям этой техники будет посвящены серии статей на вышеуказанную тему, которые открылись на момент их обнаружения.
Нюансов в работе различных систем бывает много, однако, нюансов в безопасности работы систем видеонаблюдения, просто не должно быть.
Обнаруженные нюансы и подмеченная информация, долгое время лежали без использования в надежде, что залатают "дыры" и исправят недочёты.
Прошло какое-то время, а воз и ныне там, а это значит, что работой над ошибками производитель не занимается. Конечно, этому может быть целый и вполне объективный ряд причин. Но, возможно, опубликованный ряд статей придаст некий импульс в данном направлении.
Обращаться напрямую к производителю – не вижу большого смысла. В условиях рынка мощным рычагом управления является покупательская способность, не всегда связанная с благосостоянием, но не последнюю роль в которой играет надёжность и безопасность этой продукции от воздействий извне. Этим инструментом я и предполагаю воспользоваться, опубликовав ряд статей на различных форумах со сходной тематикой.
Я не собираюсь сражаться с ветряными мельницами и целью этой серии статей будет исключительно информирование всех заинтересованных сторон. Выбор способа я оставляю за собой.
Конечно, в этих статьях я не собираюсь выкладывать конкретные рецепты т.к. использование их в текущей ситуации крайне негативно скажется на всех, однако общее описание простым литературным языком позволит внимательней отнестись всем к своим решаемым задачам.
Возможно, кому-то это покажется наивным или надуманным, глупым или опасным, а кого-то это вообще не будет волновать, но, по моему мнению, это касается всех имеющих отношение к цепи "Производитель-Дистрибьютор-Дилер-Инсталлятор-Потребитель". Я выражаю лишь своё мнение, без навязывания его кому-либо.
Первоначальное название серии было "Дыры IP оборудования видеонаблюдения", но в позже решил сменить на "Уязвимости", которые, как предполагаю, устранят.
Уязвимости IP камер Hikvision
Прежде, чем озвучить лишь некоторые обнаруженные уязвимости этого производителя, заранее оговорюсь и напомню. Единственной целью данных статей будет исключительно информирование всех причастных сторон о некоторых, на мой взгляд в данном случае, сквозных отверстиях в системе безопасности, позволяющий получить несанкционированный доступ и возможность манипулировать параметрами IP камер бренда Hikvision и всех остальных устройств, созданных на его основе под иными брендами, но с тем же, по сути, кодом. В данной статье сознательно не приводятся конкретные примеры вызовов и обращении к IP камерам, логи, листинги кода, дабы избежать негативных последствий непосредственного использования информации для всех пользователей этих устройств.
Вопросы безопасности очень щепетильны, и всегда болезненны и неприятны, когда это касается открывшихся обстоятельств, позволяющих, вне зависимости от мотивов и целей стороннего наблюдателя/пользователя, как получить несанкционированный доступ к устройству и воспользоваться данным обстоятельствам в своих целях, так и, вняв данной информации, провести соответствующие организационные мероприятия по возможным противодействиям данным уязвимостям. Оценку этих целей я не даю, т.к. каждый должен понимать значение слова безопасность и никакой выгоды для себя не преследую.
Конечно, для написания статей, не обошлось и без вдохновения некоторой информацией, коей достаточно в свободном доступе в сети интернет; остальное же – собственный опыт, исследования и выводы из них собственного помола и замеса. Что из этого выйдет, посмотрим. ;)
Для начала, абстрагируясь от конкретного производителя IP камер, можно сказать, что их выбор покупателем обусловлен множеством различных факторов.
На мой взгляд, один из них:
наличие или отсутствие возможностей авторизации типа логин/пароль для доступа к ресурсам устройства, а также получение служебной информации об устройстве, предполагается быть надёжным в персональном использовании, но, в тоже самое время, и безопасным при передаче данных параметров в сети или использоваться с заранее известными оговорками, озвученными производителем публично и о которых должен быть в курсе сам потребитель данного изделия. |
Итак начнём ;).
Уязвимость №1
Я не беру во внимание известные моменты: получение видео потоков через RTSP запрос к устройству, в котором связка параметров логин:пароль передаются либо в открытом виде, либо в формате base64 и использование этого как попыток несанкционированного доступа к самому устройству.
Речь пойдёт о http доступе к веб-интерфейсу IP камер.
У меня была полная уверенность в том, что уж на сегодняшний день не может быть никаких фокусов, и в сети передаются эти параметры в защищённом виде, и стойкость к их расшифровке соответствующая и внушает доверия.
Однако, каково же было моё удивление, когда я обнаружил, что эта связка передаётся всё в таком же виде base64. Т.е. некто, просто слушая, прослушивая, подслушивая пакеты в сети можно без труда собрать базу логинов и паролей к IP камерам Hikvison. Доступных пользовательских программных средств для логирования сетевого трафика существует много, а найти в логах то, что ищешь, довольно-таки просто, как и получить искомую информацию.
В оригинальной статье в этом месте присутствует снимок и комментарий к нему. Снимок по естественным соображениям не публикуется, но комментарий прилагается. На снимке приводится часть дампа трафика от удалённого браузера ПК, находящегося за роутером по отношению к IP камере Hikvision. Красным подчёркнут искомая связка логин:пароль в формате base64
Уязвимость №2
Чуть лучше обстоит ситуация с безопасностью доступа к IP камерам из программных средств, использующих стандартный SDK, предоставленный производителем. Связка логин и пароль передаются в шифрованном виде. Шифр односторонний, однако вычисленный алгоритм оказался вполне простым, и на его основе и исключительно для целей исследования был создан генератор, в котором проверяются совпадения и создается их список. На одну комбинацию шифрованного ключа может выпадать множество значений, которые согласно выбранному производителем алгоритму дают совпадения. Конечно, есть еще один нюанс, но о нём я умолчу т.к. это пока не относится к уязвимости.
Далее этот список, хоть вручную или любым другим способом, можно проверить на доступ к самой IP камере, через тот же веб-интерфейс, и один из результатов будет обязательно успешным.
В данном случае, в отличие от других производителей видеооборудования, например Dahua, разработчики Hikvision решили не ограничивать количество попыток входа в систему вообще.
Конечно, простому пользователю использование ПО, логирующего сетевой трафик, ломание головы и написание генератора может быть и недоступно, однако, как отчитываются производители антивирусного ПО, каждый день появляется множество вирусов, червей, руткитов, шпионов и пр., что непременно навредит технике, информации хранящейся в ней, что самое ценное на сегодняшний день, ну, и это может вывести устройство из работоспособного состояния.
Также мной замечена существенная внешняя активность на устройства, выставленные в общий доступ в Интернет. Например, неоднократно были установлены попытки доступа к telnet порту IP устройств извне. Т.е. некими лицами, производилась брутфорс-атака на данный порт. Также существует множество программных средства, типа веб-брутфорс, использующих разные приемы авторизации.
В оригинальной статье в этом месте присутствует снимок и комментарий к нему. Снимок по естественным соображениям не публикуется, но комментарий прилагается. На снимке приводится часть дамп трафика от удалённого клиента, запущенного на ПК, находящегося за роутером по отношению к IP камере Hikvision. Красным подчёркнут искомая связка логин и пароль в зашифрованном формате.
Уязвимость №3
Для тех, кто хоть раз открывал telnet/ssh cессию на IP камеру Hikvision по делу, тот в курсе, что существуют команды получения информации об устройстве и управления им в среде bash (например: prtHardinfo, resetPasswd, getIp, setIp, getPort, setPort, getMtu, setMtu и др.) и видел результат вывода этих команд на консоль сессии.
Это доступно всем тем, кто имеет авторизацию на IP камере и если telnet/ssh доступ разрешен.
Вообще, я рад, что стал изучать этот бренд. У меня сложилось много положительных эмоций и впечатления о нём как таковом, видя его продукцию, разбираясь с его решениями, изучая составную часть оригинальных прошивок, как работает система изнутри и какие возможности предоставляет, размышляя, что можно добавить и пр.. Научившись разбирать и собирать прошивки для оборудования данного бренда и создав множество вспомогательных утилит в процессе, я был в очередной раз крайне удивлен тем, что в локальной сети, к которой подключена IP камера, можно получить доступ к её внутренним параметрам, вообще не используя авторизацию с помощью пользователей устройства.
Например:
- можно как получить, так и изменить текущие значения: IP, шлюз, маску, медиа-порт, MTU и др. извне, и для этого не потребуется ни логин, ни пароль, и, к сожалению, пресечь данную ситуацию из локальной сети будет нельзя. При этом возможно установить значение медиа-порта в недоступном диапазоне, который явно ограничивается в веб-интерфейсе [2000-65535].
- можно получить модель, серийный номер и дату старта устройства. Эта информация используется, как правило, в официальном приложении SADP или командой resetPasswd в telnet/ssh сессии, для использования её службой технической поддержки при генерации индивидуального пароля сброса. Однако и алгоритм генерации пароля для сброса, и способ отправки специального сообщения в IP камеру, без использования авторизации, вполне простые и легко реализуемы подручными средствами, для того, чтобы сбросить пароль пользователя admin у всех активных в локальной сети IP устройств Hikvision.
Также в процессе исследования данного вопроса обнаружились некоторые необычные явления, приводящие к побочным эффектам: непосредственного вывода камеры из строя. Т.е. на IP устройство отправляется определённое сообщение, и это устройство впоследствии, даже после перезагрузки, перестает опознаваться даже через SADP и отзываться на его стандартные порты.
Помогает только TFTP восстановление.
– Можно продолжать и дальше, но... не будем торопить события.
Сомневаюсь, что беЗконтрольное изменение параметров камер, а также свободный неавторизованный доступ к этим IP камерам - это естественно и может быть как-то объяснено производителем в качестве исключений из общих правил эксплуатации устройством.
Если так просто вывести IP устройство из строя, то невольно возникает, извечный вопрос: "Что делать и кто виноват"???
Некоторые уязвимости обнаружены совсем недавно, но даже одной уже достаточно для того, чтобы задуматься. Стоит ли исследовать эту проблему дальше и кому это вообще нужно???
Существует множество толковых изречений, посвящённым наличию ошибок и отношению к ним. Несколькими из них я озаглавил вступление к серии этих статей, и неслучайно.
Приведу еще одно:
"Каждая программа содержит ошибки.
Если программа не содержит ошибок, то она никому не нужна".
Как мне кажется, глубокий смысл данного изречения стоит искать в том, что всё должно быть сделано вовремя и правильно, а если нужна какая-то работа над ошибками, то она должна быть проделана своевременно, и исправляя в программе одну ошибку, не следует добавлять в неё ещё две!
Я предлагаю сделать выводы каждому самостоятельно и, как всегда, воздержусь от навязывания собственного мнения. По данному IP оборудованию бренда, как и по остальному его оборудованию, тема на этом не закончена, и впереди еще много всего интересного.
На очереди такие бренды, как:
- Dahua и его клоны (RVi, Falcone Eye и др.);
- XM и его клоны (Divitec, Polivision, Giraffe, Master, Hunter и др.);
а также и другие распространённые в России бренды.
Автор: iTuneDVR