Как обнаружить скрытые камеры

Возможно ли обнаружить скрытые камеры (CCTV, DVR, NVR, ANPR, Dome Camera, IP камеры, нательные камеры)

Если камера использует Wi-Fi, то её MAC адрес виден всем. Если сопоставить этот MAC с базой данных производителей камер, то можно выявить эту камеру.

Если камера не использует Wi-Fi, но использует проводную сеть, то её можно обнаружить только если есть подключение к этой же сети (например, к сети отеля, аэропорта и т. п.).

Если устройство не использует ни проводную, ни беспроводную сеть, то выявить такое устройство невозможно описанными ниже методами. То есть, к примеру, видеорегистраторы таким способом не найти.

Для Wi-Fi устройств MAC адреса можно собрать с помощью airodump-ng, для устройств в сети, к которой мы подключены, мак адреса можно узнать с помощью Nmap. Но нам нужна база данных производителей скрытых камер, да и камер вообще.

Связанная статья: Как узнать MAC-адрес и Как по MAC-адресу узнать производителя

База данных MAC адресов всех скрытых камер

Я не нашёл баз данных MAC адресов производителей камер, кроме небольших списков, составленных энтузиастами. Может быть, для отправной точки это подошло бы, но всё равно не то.

Я нашёл сайт, со списками производителей специализированного оборудования: https://directory.ifsecglobal.com/video-surveillance-code004812.html. Я не знаю, актуальные эти списки или нет, полные или не полные, но они достаточно большие и там есть все производители, упомянутые энтузиастами (а тех, которых нет на сайте, то я их не нашёл и в списке OUI, содержащих MAC адреса всех производителей устройств).

Правильное название производителя легко сопоставить с базой данных MAC, поэтому нам достаточно собрать имена вендоров — это отлично подойдёт для нашей цели — поиск скрытых камер.

Создайте файл vendors.sh:

gedit vendors.sh

Скопируйте в него следующий код:

Запускать так:

bash ./vendors.sh

В результате будет создан файл vendors.txt.

Статистика:

Total vendors in the list: 1665
Unique vendors in the list: 680

Всего найден 680 уникальный производитель — это достаточно много. Если вы знаете другие списки или базы данных, то пишите в комментариях — можно будет использовать их или дополнить данные из них. Я не знаю, попали ли сюда «ноунеймы». На AliExpress продаются камеры наблюдения без названия на корпусе, без упоминания производителя в инструкции и без его упоминания на коробке (потому что коробки нет). Если у вас есть MAC адреса таких ноунеймов, то пишите их в комментариях, можно будет добавить в скрипт для улучшения охвата.

Вы также можете просмотреть список vendors.txt и удалить лишние, по вашему мнению, записи. Например, я обратил внимание, что много «срабатываний» вызывает «HUAWEI TECHNOLOGIES CO.,LTD», поскольку эта фирма делает ещё и мобильные телефоны (но камеры наблюдения они тоже делают: https://www.google.com/search?q=HUAWEI+CCTV&tbm=isch).

Сканер скрытых камер Wi-Fi по MAC адресу

Теперь, когда у нас есть база данных производителей скрытых камер, нам нужно собрать MAC адреса в округе.

Я буду использовать проверенный метод, описанный в статье «Как обнаружить все Wi-Fi устройства в округе?»

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

Чтобы проанализировать файл .csv, нужно, чтобы airodump-ng его создала. Для этого переводим беспроводную карту в режим монитора. Я всегда начинаю со следующих двух команд, чтобы не мешали никакие процессы:

sudo systemctl stop NetworkManager
sudo airmon-ng check kill

После этого перевожу Wi-Fi карту в режим монитора:

sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up

Теперь запускаем airodump-ng примерно следующей командой:

sudo airodump-ng --berlin 60000 -w /tmp/test wlan0

Если вас также интересует диапазон 5 ГГц и если ваша беспроводная карта его поддерживает, то можно запустить примерно такой командой:

sudo airodump-ng --channel 1-13,36-165 --berlin 60000 -w /tmp/test wlan0

Я сохранил в файл /home/mial/cameras-01.csv, у меня там набралось 1600 строк, в ручную мы его анализировать, конечно же, не будем:

cat /home/mial/cameras-01.csv | wc -l
1600

Вообще мы можем использовать скрипт из статьи «Как обнаружить все Wi-Fi устройства в округе?», просто добавив в него ещё и проверку по базе данных производителей скрытых камер. И именно так мы и поступим, но попозже. Дело в том, что при большом количестве записей скрипт работает медленно.

Поэтому вначале мы воспользуемся более лёгким скриптом, который просто проверит, есть ли вокруг камеры наблюдения. И если они есть, то можно запустить более тяжёлый скрипт, для анализа, к каким Точкам Доступа они подключены.

Создайте файл fc.sh:

gedit fc.sh

Скопируйте в него следующий код:

Запускать так:

bash ./fc.sh /ПУТЬ/ДО/ФАЙЛА.csv

Если файл, который получен с airodump-ng, расположен по пути /tmp/test-01.csv, тогда моя команда следующая:

bash fc.sh /tmp/test-01.csv

Также нам понадобиться файл с базой данных MAC-адресов и соответствующих им производителей, скачайте его в ту же директорию, где разместили файл fc.sh — скачать этот файл нужно до запуска fc.sh и всех других скриптов из этой статьи:

wget http://standards-oui.ieee.org/oui/oui.txt

Исправляем скаченный файл, поскольку в нём используется разрыв строки DOS/Windows, а это приводит к проблемам, описанным в статье «Почему при объединении строк они перекрывают друг друга», конкретно в нашем случае без этого исправления программа grep не смогла бы найти строку, даже если она соответствует шаблону:

dos2unix -i oui.txt

Скрипт, используя базу данных сопоставляющую производителей с выделенными им MAC адресами (oui.txt), определит имя вендоров для каждого собранного MAC-адреса и затем проверит, присутствует ли этот вендор в списке производителей камер наблюдения.

Скрипт покажет MAC адрес и название производителей для всех потенциальных камер. Если скрипт ничего не показал, значит ничего не нашлось.

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

Если вы нашли что-то интересное, то можно воспользоваться скриптом, который показывает, к каким Точкам Доступа подключены все устройства.


Создайте файл findcameras.sh:

gedit findcameras.sh

Скопируйте в него следующий код:

Запускать так:

bash findcameras.sh /ПУТЬ/ДО/ФАЙЛА.csv

Например:

bash findcameras.sh /tmp/test-01.csv

Если присмотреться, то можно увидеть, что это скрипт wfw.sh из статьи про поиск всех Wi-Fi устройств, но в него добавлена проверка по списку производителей камер наблюдения.

Для этого скрипта, так же как и для предыдущего, требуются оба файла oui.txt и vendors.txt.

Фирма Hand Held Products Inc делает как тепловизоры, так и разные устройства считывания штрихкодов и т. п. — это может быть любым из этих устройств, т. к. это ТД магазина.

Wistron Neweb Corporation делает разную электронику, в том числе Security IP Camera.

Вместо подключения по Wi-Fi, камеры могут использовать проводную сеть — такие камеры не попадут в список.

Поиск камер наблюдения в локальной сети

Этот способ работает только в сетях, где можно получить MAC-адреса других устройств, то есть только в локальных сетях. Сканировать Интернет бесполезно. Примерами локальных сетей, к которым мы часто подключаемся, — это публичные Точки Доступа Wi-Fi в аэропортах, гостиницах, ресторанах, общественном транспорте и т. п.).

Создайте файл fcl.sh:

gedit fcl.sh

Скопируйте в него следующий код:

Запускать так (для Nmap требуются повышенные привилегии):

sudo bash fcl.sh СЕТЬ/МАСКА

Например:

sudo bash ./fcl.sh 192.168.0.0/24

Если будут найдены устройства с MAC-адресами производителей камер наблюдения, то они будут показаны.

Если ничего не показано, значит ничего не найдено.

Если будет найдена хотя бы одна камера, то будет запущено ещё одно сканирование Nmap — более агрессивное, с полным выводом результатов, чтобы вы могли увидеть IP устройства, которое может оказаться камерой, а также с попыткой определения версии ОС и служб — это может помочь с выявлением камеры.

Фрагмент вывода из дополнительного сканирования:

|_http-title: NETSurveillance WEB
554/tcp  open  rtsp    H264DVR rtspd 1.0
|_rtsp-methods: OPTIONS, DESCRIBE, SETUP, TEARDOWN, GET_PARAMETER, SET_PARAMETER, PLAY, PAUSE
8899/tcp open  soap    gSOAP 2.7
|_http-server-header: gSOAP/2.7

Заголовок NETSurveillance WEB намекает, что это сетевая камера наблюдения. Открытые порты 554 и 8899 принадлежат службам RTSP и ONVIF характерным для IP камер.

Связанная статья: Аудит безопасности IP камер

Заключение

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

Если у вас есть примеры MAC-адресов камер наблюдения произведённых «ноунеймами» и «Unbranded», то тоже пишите их в комментариях — их можно добавить в скрипты для дополнительной проверки по ним.

Обратите внимание, что в файле vendors.sh я уже добавляю несколько вендоров. Я нашёл их следующим образом:

  1. Сделал захват данных в местах, где видны камеры (магазины, банки и т.п.)
  2. После этого проанализировал вывод скрипта findcameras.sh, изучая производителей устройств, выбирая те из них, которые совершенно незнакомые.
  3. Гуглил фразы вида «НАЙДЕННЫЙ ВЕНДОР CCTV», «НАЙДЕННЫЙ ВЕНДОР CAMERA» и т. п. Удобно, кстати, гуглить по картинкам. Если находятся камеры данного производителя, значит добавляем к известным вендорам производителей камер наблюдения. Производители, в названии которых встречаются слова «mobile», «communications» и «link» это обычно мобильные телефоны и сетевые карты. Понятное дело, что гуглить надо клиентов, а не Точки Доступа.

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

Смотрите также программу trackerjacker и инструкцию «Продвинутое слежение за Wi-Fi устройствами». С помощью программы trackerjacker также можно следить за беспроводными устройствами, например, можно увидеть, когда Wi-Fi камера начала обмен трафиком — это может означать, что камера заметила движение.

Ещё одна связанная статья «Выборочное глушение Wi-Fi сетей и клиентов (DoS атака на отдельные точки доступа/клиентов)» (но помните, что в камерах обычно установлены карты памяти).

Если вы тоже ходите с включённым ноутбуком в рюкзаке, то смотрите следующие статьи — в них написано, как настроить компьютер так, чтобы он не выключался при закрытии крышки лэптопа:

Поиск скрытых камер по характеристикам сетевого трафика

Когда уже написал статью и гуглил «mac addresses of hidden cameras», чтобы найти хоть что-то про ноунеймов, а скрытые камеры обычно выпускаются либо вовсе без бренда, либо под совершенно рандомными именами, которые напрочь отсутствуют в OUI, то случайно наткнулся на исследование «Detecting Hidden Wireless Cameras through Network Traffic Analysis» (Выявление скрытых камер посредством анализа сетевого трафика). Они смогли найти паттерны в характеристике трафика скрытых камер, хотя ни кодом, ни MAC адресами они не поделились. Тем не менее, возможно, кому-то будет интересно почитать и натолкнёт на новые идеи.

Рекомендуется Вам:

7 комментариев to Как обнаружить скрытые камеры

  1. Олег:

    Добрый день,

    У Вас опечатка:
    Создайте файл vendors.sh:

    1

    gedit vendors.txt

     

    Нужно: gedit vendors.sh

  2. Alexey:

    В файл vendors.sh добавил ещё одну страницу для парсинга, которую сначала пропустил, теперь находит 702 вендора.

  3. Alexey:

    В файл vendors.sh добавлен новый вендор «HangZhou KuoHeng Technology Co.,ltd» (камера с АлиЭкспресса).

  4. Alexey:

    Добавлен ещё один источник (сайт) вендоров камер.

    Изменено поведение скрипта fc.sh (для предварительного поиска камер) — теперь он проверяет только клиентов, Точки Доступа теперь исключены.

  5. Владислав:

    vendors.sh:

    for urlpath in screens-monitors-code004843.html cameras-code004815.html ...
    do
    curl -s "https://directory.ifsecglobal.com/$urlpath" | ...
    done

    for letter in {A..Z}
    do
    curl -s "https://www.ispyconnect.com/sources.aspx?letter=$letter" | …
    done

    • Alexey:

      Приветствую! Поправил свой позорный код в соответствии с вашими подсказками — было 199 строк, стало 48. Спасибо!

Добавить комментарий

Ваш адрес email не будет опубликован.