Удаленный доступ к веб-камерам и камерам наблюдения — самая наглядная практика взлома. Она не требует спецсофта, позволяя обойтись только браузером и нехитрыми манипуляциями. Тысячи цифровых глаз по всему миру станут доступны, если ты умеешь находить их IP-адреса и уязвимости.

WARNING

Статья носит исследовательский характер. Она адресована специалистам по безопасности и тем, кто собирается ими стать. При ее написании использовались общедоступные базы данных. Ни редакция, ни автор не несут ответственности за неэтичное использование любых упомянутых здесь сведений.

 

С широко закрытыми глазами

Видеонаблюдение используется преимущественно для охраны, а потому не жди веселых картинок с первой же хакнутой камеры. Может, тебе и посчастливится быстро найти HD-трансляцию из элитного борделя, но чаще будут попадаться скучные виды на безлюдные склады и парковки с разрешением VGA. Если в кадре и есть люди, то в основном это ждуны в холле и жруны в кафе. Куда интереснее наблюдать за самими операторами и работой всяких роботов.

Реальное и формальное наблюдение
Реальное и формальное наблюдение

IP-камеры и веб-камеры часто путают, хотя это принципиально разные устройства. Сетевая камера, или IP-камера, — самодостаточное средство наблюдения. Она управляется через веб-интерфейс и самостоятельно передает видеопоток по сети. По сути, это микрокомпьютер со своей ОС на базе Linux. Сетевой интерфейс Ethernet (RJ-45) или Wi-Fi позволяет выполнять прямое подключение к IP-камере. Раньше для этого использовались фирменные клиентские приложения, но большинство современных камер управляются через браузер с любого устройства — хоть с компа, хоть со смартфона. Как правило, IP-камеры включены постоянно и доступны удаленно. Именно этим и пользуются хакеры.

Робот в архиве библиотеки
Робот в архиве библиотеки

Веб-камера — пассивное устройство, которым управляют локально с компьютера (по USB) или ноутбука (если она встроенная) через драйвер операционной системы. Этот драйвер может быть двух разных типов: универсальный (предустановленный в ОС и подходящий для многих камер разных производителей) и написанный на заказ для конкретной модели. Задача хакера здесь уже другая: не подключиться к веб-камере, а перехватить ее видеопоток, который она транслирует через драйвер. У веб-камеры нет отдельного IP-адреса и встроенного веб-сервера. Поэтому взлом веб-камеры всегда следствие взлома компьютера, к которому она подключена. Давай пока отложим теорию и немного попрактикуемся.

Очки н-н-нада?
Очки н-н-нада?
 

Взлом камер наблюдения

Взлом IP-камер вовсе не говорит о том, что кто-то хозяйничает на компьютере, с которого владелец смотрит их видеопоток. Просто теперь он смотрит его не один. Это отдельные и довольно легкие цели, однако подводных камней на пути к ним хватает.

WARNING

Подглядывание через камеры может повлечь административное и уголовное наказание. Обычно назначают штраф, но не всем удается легко отделаться. Мэттью Андерсон отсидел полтора года за взлом веб-камер с помощью трояна. Повторившему его подвиг присудили уже четыре года.

Во-первых, удаленный доступ к выбранной камере может поддерживаться только через какой-то конкретный браузер. Одним подавай свежий Chrome или Firefox, а другие работают только со старым IE. Во-вторых, видеопоток транслируется в интернет в разных форматах. Где-то для его просмотра нужно будет установить плагин VLC, другие камеры потребуют Flash Player, а третьи не покажут ничего без старой версии Java или собственного плагина.

Китайская вежливость
Китайская вежливость

Иногда встречаются нетривиальные решения. Например, Raspberry Pi превращают в сервер видеонаблюдения с nginx и транслируют видео по RTMP.

Малиновая камера
Малиновая камера

По замыслу, IP-камеру защищают от вторжения два секрета: ее IP-адрес и пароль учетной записи. На практике IP-адреса вряд ли можно назвать секретом. Они легко обнаруживаются по стандартным адресам, к тому же камеры одинаково откликаются на запросы поисковых роботов. Например, на следующем скриншоте видно, что владелец камеры отключил анонимный доступ к ней и добавил ввод CAPTCHA для предотвращения автоматизированных атак. Однако по прямой ссылке /index.htm можно изменить их без авторизации.

Получаем доступ вопреки настройкам
Получаем доступ вопреки настройкам

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

inurl:«wvhttp-01»
inurl:«viewerframe?mode=»
inurl:«videostream.cgi»
inurl:«webcapture»
inurl:«snap.jpg»
inurl:«snapshot.jpg»
inurl:«video.mjpg»
Находим камеры через Google
Находим камеры через Google

Куда удобнее искать их через Shodan. Для начала можно ограничиться простым запросом netcam, а затем перейти к более продвинутым: netcam city:Moscow, netcam country:RU, webcamxp geo:55.45,37.37, linux upnp avtech и другим. Подробнее об использовании этого поисковика читай в статье «Белая шляпа для Shodan».

Ищем камеры в Shodan
Ищем камеры в Shodan

Прекрасно ищет камеры и Censys. Язык запросов у него чуть сложнее, но разобраться с ним тоже большого труда не составит. Например, запрос 80.http.get.body:"DVR Web Client" покажет камеры, подключенные к IP-видеорегистратору, а metadata.manufacturer:"axis" найдет камеры производства Axis. О том, как работать с Censys, мы тоже уже писали — в статье «Что умеет Censys?».

Ищем камеры в Censys
Ищем камеры в Censys

Еще один шикарный поисковик по «интернету вещей» — ZoomEye. Камеры в нем находятся по запросам device:webcam или device:media device.

Ищем камеры в ZoomEye
Ищем камеры в ZoomEye

Можно искать и по старинке, банально сканируя диапазоны IP-адресов в поисках характерного отклика от камеры. Получить список айпишников определенного города можно на этом веб-сервисе. Там же есть сканер портов на случай, если у тебя до сих пор нет собственного.

В первую очередь нас интересуют порты 8000, 8080 и 8888, поскольку они часто заданы по умолчанию. Узнать дефолтный номер порта для конкретной камеры можно в ее руководстве. Номер практически никогда не меняют. Естественно, на любом порте можно обнаружить и другие сервисы, поэтому результаты поиска придется дополнительно фильтровать.

RTFM!
RTFM!

Узнать модель обнаруженной камеры просто: обычно она указана на титульной странице веб-интерфейса и в ее настройках.

Узнаем модель камеры и настраиваем ее
Узнаем модель камеры и настраиваем ее

Когда я говорил в начале статьи об управлении камерами через «фирменное клиентское приложение», то имел в виду программы вроде iVMS 4xxx, которая поставляется с камерами Hikvision. На сайте разработчика можно почитать русскоязычный мануал к программе и самим камерам. Если ты найдешь такую камеру, то с большой вероятностью на ней будет стоять заводской пароль, и программа предоставит к ней полный доступ.

С паролями к камерам наблюдения дела вообще обстоят крайне весело. На некоторых камерах пароля просто нет и авторизация отсутствует напрочь. На других стоит заданный по умолчанию пароль, который легко найти в мануале к камере. На сайте ipvm.com опубликован список самых часто встречающихся логинов и паролей, установленных на разные модели камер.

admin/admin, откройся!
admin/admin, откройся!

Часто бывает, что производитель оставил в прошивке камеры служебный вход для сервис-центров. Он остается открытым даже после того, как владелец камеры сменил дефолтный пароль. В мануале его уже не прочтешь, а вот найти на тематических форумах можно.

Огромная проблема состоит в том, что во многих камерах используется один и тот же веб-сервер GoAhead. В нем есть несколько известных уязвимостей, которые производители камер не спешат патчить.

INFO

Первое упоминание GoAhead в «Хакере» датируется 2002 годом, а в прошлом году в нем нашли уязвимость, приводящую к RCE.

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

Вливайся, милок!
Вливайся, милок!

На сегодняшний день больше миллиона IP-камер и IP-видеорегистраторов разных производителей позволяют удаленно получить доступ к их настройкам безо всякой авторизации. Скрипт на Python, автоматизирующий атаку на уязвимые устройства, уже выложен на GitHub. Проблема была обнаружена в начале 2017 года при реверсинге прошивок DVR производства Dahua Technology. Чуть позже выяснилось, что она затрагивает более тысячи моделей разных производителей. Они просто тиражировали ошибки друг друга. Автор обещал дать время на исправление и пока не раскрывать всех деталей, но он готов поделиться ими приватно по email со всеми специалистами по безопасности. Если у тебя есть сертификат CEH (Certified Ethical Hacker) или аналогичный — можешь попробовать.

Добавим яркости!
Добавим яркости!

В коде других прошивок встречаются такие ляпы, как кривые условные переходы. Такая камера открывает доступ, если ввести неправильный пароль или просто нажать кнопку «Отмена» несколько раз. Во время нашего исследования мне попалось более десятка таких камер. Так что, если ты устал перебирать дефолтные пароли, попробуй кликнуть Cancel — есть шанс внезапно получить доступ.

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

Управление камерой
Управление камерой

Когда говорят о тысячах уязвимых камер, хочется подробнее разобрать хотя бы одну. Предлагаю начать с популярного производителя Foscam. Помнишь, я говорил про служебные входы? Так вот у камер Foscam и многих других они есть. Помимо встроенной учетки admin, пароль к которой рекомендуется задать при первом включении камеры, есть еще один аккаунт — operator. Его пароль по умолчанию пустой, и его редко кто догадывается сменить.

Логинимся как оператор и добавляем новые учетки
Логинимся как оператор и добавляем новые учетки

Кроме того, у камер Foscam очень узнаваемые адреса из-за шаблонной регистрации. В общем случае он выглядит как xxxxxx.myfoscam.org:88, где первые два xx — буквы латиницы, а последующие четыре — порядковый номер в десятичном формате.

Если камера подключена к IP-видеорегистратору, то можно не только удаленно наблюдать в реальном времени, но и просмотреть прежние записи.

Смотрим запись из бэкапа
Смотрим запись из бэкапа

 

Как устроен детектор движения

Профессиональные камеры наблюдения оснащены дополнительным датчиком — детектором движения, который работает даже в полной темноте благодаря ИК-приемнику. Это интереснее постоянно включенной ИК-подсветки, так как не демаскирует камеру и позволяет ей вести скрытое наблюдение. Люди всегда светятся в ближнем ИК-диапазоне (по крайней мере — живые). Как только сенсор зафиксирует движение, контроллер включает запись. Если фотоэлемент сигнализирует о низкой освещенности, дополнительно включается подсветка. Причем точно в момент записи, когда уже поздно закрываться от объектива.

Дешевые камеры устроены проще. У них нет отдельного датчика движения, а вместо него используется сравнение кадров с самой веб-камеры. Если картинка отличается от предыдущей, значит, в кадре что-то изменилось и надо это записать. Если движение не зафиксировано, то серия кадров просто удаляется. Это экономит место, трафик и время на последующую перемотку видео. Большинство детекторов движения настраиваются. Можно задать порог срабатывания, чтобы не протоколировать любое шевеление перед камерой, и настроить дополнительные оповещения. Например, отправлять СМС и последнюю фотку с камеры сразу на смартфон.

Настраиваем детектор движения камеры
Настраиваем детектор движения камеры

Программный детектор движения сильно уступает аппаратному и часто становится причиной казусов. В ходе своих изысканий я наткнулся на две камеры, которые непрерывно слали алерты и записывали гигабайты «компромата». Все тревоги оказались ложными. Первая камера была установлена снаружи какого-то склада. Она заросла паутиной, которая дрожала на ветру и сводила детектор движения с ума. Вторая камера была расположена в офисе напротив мигающего огоньками роутера. В обоих случаях порог срабатывания был слишком низким.


 

Взлом веб-камер

Веб-камеры, которые работают через универсальный драйвер, часто называют UVC-совместимыми (от USB Video Class — UVC). Взломать UVC-камеру проще, поскольку она использует стандартный и хорошо задокументированный протокол. Однако в любом случае для доступа к веб-камере атакующему придется сначала получить контроль над компьютером, к которому она подключена.

Технически доступ к веб-камерам на компьютерах с Windows любой версии и разрядности осуществляется через драйвер камеры, фильтры DirectDraw и кодеки VFW. Однако начинающему хакеру не требуется вникать во все эти детали, если он не собирается писать продвинутый бэкдор. Достаточно взять любую «крысу» (RAT — Remote Admin Tool) и слегка модифицировать ее. Средств удаленного администрирования сегодня просто уйма. Кроме отборных бэкдоров с VX Heaven, есть и вполне законные утилиты, вроде Ammyy Admin, LiteManager, LuminosityLink, Team Viewer или Radmin. Все, что опционально требуется изменить в них, — это настроить автоматический прием запросов на удаленное подключение и сворачивание главного окна. Дальше дело за методами социального инжиниринга.

Девушка, живущая в сети
Девушка, живущая в сети

Кодомодифицированная крыса загружается жертвой по фишинговой ссылке или проползает на ее компьютер сама через первую обнаруженную дыру. О том, как автоматизировать этот процесс, смотри в статье «Gophish — фреймворк для фишинга». Кстати, будь осторожен: большинство ссылок на «программы для взлома камер» сами фишинговые и могут привести тебя к скачиванию малвари.

У рядового пользователя большую часть времени веб-камера неактивна. Обычно о ее включении предупреждает светодиод, но даже с таким оповещением можно выполнять скрытое наблюдение. Как оказалось, индикацию активности веб-камеры можно отключить даже в том случае, если питание светодиода и CMOS-матрицы физически взаимосвязано. Это уже проделывали с веб-камерами iSight, встроенными в MacBook. Исследователи Брокер и Чекоуэй из университета Джона Хопкинса написали утилиту iSeeYou, которая запускается от простого пользователя и, эксплуатируя уязвимость контроллера Cypress, подменяет его прошивку. После запуска жертвой iSeeYou атакующий получает возможность включать камеру, не зажигая ее индикатор активности.

Уязвимости регулярно находят и в других микроконтроллерах. Специалист компании Prevx собрал целую коллекцию таких эксплоитов и показал примеры их использования. Практически все найденные уязвимости относились к 0day, но среди них были и давно известные, которые производители просто не собирались устранять.

Способов доставить эксплоиты становится все больше, а отловить их все труднее. Антивирусы часто пасуют перед модифицированными файлами PDF, имеют предустановленные ограничения на проверку больших файлов и не могут проверить зашифрованные компоненты малвари. Более того, полиморфизм или постоянная перекомпиляция боевой нагрузки стала нормой, поэтому сигнатурный анализ давно отошел на второй план. Внедрить троян, открывающий удаленный доступ к веб-камере, сегодня стало исключительно просто. Это одна из популярных забав среди троллей и script kiddies.

 

Превращаем вебку в камеру наблюдения

Любую веб-камеру можно превратить в подобие IP-камеры, если установить на подключенном к ней устройстве сервер видеонаблюдения. На компьютерах многие используют для этих целей старый webcamXP, чуть более новый webcam 7 и подобные программы.

Для смартфонов есть аналогичный софт — например, Salient Eye. Эта программа умеет сохранять видео в облачный хостинг, освобождая локальную память смартфона. Однако дыр в таких программах и самих ОС хватает, поэтому взломать управляемые ими веб-камеры часто оказывается не сложнее, чем IP-камеры с дырявой прошивкой.

Webcam 7 показывает видео без авторизации
Webcam 7 показывает видео без авторизации

 

Смартфон как средство наблюдения

В последнее время старые смартфоны и планшеты нередко приспосабливают для домашнего видеонаблюдения. Чаще всего на них ставят Android Webcam Server — простое приложение, которое транслирует видеопоток со встроенной камеры в интернет. Оно принимает запросы на порт 8080 и открывает панель управления на странице с говорящим названием /remote.html. Попав на нее, можно менять настройки камеры и смотреть изображение прямо в окне браузера (со звуком или без).

Обычно такие смартфоны показывают довольно унылые картины. Вряд ли тебе интересно смотреть на спящего пса или на припаркованную возле дома машину. Однако Android Webcam Server и аналогичные приложения можно использовать иначе. Помимо тыловой камеры, у смартфонов есть и фронтальная. Почему бы нам не включить ее? Тогда мы увидим другую сторону жизни владельца смартфона.

Переключаем камеры смартфона
Переключаем камеры смартфона
 

Защита от подглядывания

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

Разработчики антивирусов и других комплексов программной защиты используют путаницу в терминологии для продвижения своих продуктов. Они пугают статистикой взлома камер (которая действительно впечатляет, если в нее включить IP-камеры), а сами предлагают решение для контроля доступа к веб-камерам, причем технически ограниченное.

Защиту IP-камер можно повысить простыми средствами: обновив прошивку, сменив пароль, порт и отключив учетные записи по умолчанию, а также включив фильтрацию IP-адресов. Однако этого мало. Многие прошивки имеют неустраненные ошибки, которые позволяют получить доступ безо всякой авторизации — например, по стандартному адресу веб-страницы с LiveView или панели настроек. Когда находишь очередную дырявую прошивку, так и хочется ее обновить удаленно!

Помоги обновить прошивку уязвимой камеры
Помоги обновить прошивку уязвимой камеры

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

Тот же Kaspersky Internet Security предотвращает несанкционированный доступ только к видеопотоку веб-камеры. Он не помешает хакеру изменить ее настройки или включить микрофон. Список защищаемых им моделей официально ограничивается веб-камерами Microsoft и Logitech. Поэтому функцию «защита веб-камеры» стоит воспринимать лишь как дополнение.

 

Подглядывающие сайты

Отдельная проблема — атаки, связанные с реализацией управления доступом к камере в браузерах. Многие сайты предлагают сервисы общения с использованием камеры, поэтому запросы доступа к ней и ее встроенному микрофону всплывают в браузере по десять раз на день. Особенность здесь в том, что на сайте может использоваться скрипт, который открывает pop-under (дополнительное окно в фоне). Этому дочернему окну передаются разрешения родительского. Когда ты закрываешь основную страницу, микрофон остается включенным на фоновой. Из-за этого возможен сценарий, при котором пользователь думает, что закончил разговор, а на деле собеседник (или кто-то еще) продолжает его слышать.

В большинстве браузеров разрешения хранятся постоянно, поэтому при следующем посещении сайта тебя могут видеть и слышать уже без предупреждения. Стоит почаще проверять разрешения доступа к веб-камере и ее микрофону для разных сайтов. В Google Chrome это можно сделать на странице настроек chrome://settings/contentExceptions#media-stream. В старых версиях Firefox аналогичные настройки были на странице about:permissions, а в новых они задаются отдельно для каждого сайта при клике на иконку (i) слева в адресной строке. Подробнее смотри в документации Mozilla.

2 комментария

  1. Themistocles

    27.04.2017 at 14:26

    Спасибо за статью, очень познавательно. По поводу мониторинга через смартфон — отличная идея, надо будет понаблюдать за котом )

  2. Vindwo

    28.04.2017 at 04:11

    Я прямо вижу, как грядет новая волна на двачах.

Оставить мнение

Check Also

Как Apple обходит стандарты. Колонка Олега Афонина

Иногда сложные вещи начинаются с простых: планшет iPad Pro 10.5 вдруг перестал заряжаться …