Дата публикации: 8 июня 2018

Конкурс CAMBreaker: как атаковали камеры видеонаблюдения

В этом году форум Positive Hack Days посетило более 5000 человек, большая часть которых — специалисты по информационной безопасности. Отличительная черта посетителей форума — нестандартный склад ума и сверхинтуиция по многим техническим вопросам. Все эти качества можно было проявить в хакерских конкурсах, которые приготовили организаторы, одним из таких был конкурс по взлому IP-камер CAMВreaker. Удалось ли кому-то справиться со всеми поставленными испытаниями — в нашей статье.

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

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

  1. Выбор камер для конкурса.
  2. Ревизия камер на версионность прошивок, программное обеспечение, предлагаемое для работы с ними, а также их работоспособность.
  3. Получение прошивок (микропрограммное обеспечение) каждой камеры. Оно осуществлялось несколькими методами:
    • Перехват прошивки во время обновления камеры через приложение Android.
    • Скачивание с официального сайта производителя.
    • Через подключение к устройству с помощью Telnet.
    • Через подключение к устройству с помощью интерфейса UART. Для справки: протокол UART (universal asynchronous receiver transmitter), или УАПП (универсальный асинхронный приемопередатчик) — старейший и самый распространенный на сегодняшний день физический протокол передачи данных. Наиболее известный протокол семейства UART — RS-232 (в народе – COM-порт).
    • Подключение программаторов к Flash-чипам, установленным внутри камеры, с помощью зажима-прищепки без выпаивания электронных компонентов устройства.
    • И, пожалуй, самый трудоемкий процесс извлечения дампов — выпаивание и вычитывание чипов с помощью программатора.
  4. Настройка статических IP-адресов и данных аутентификации на самих устройствах.
  5. Проектирование, построение локальной сети для стенда конкурса.
  6. Настройка и конфигурация стенда в demo-среде.
  7. Вот несколько фотографий, сделанных в процессе подготовки:

    Процесс извлечения данных из чипа с помощью программатора CH341A
    Плата одной из камер
    Программатор и его друзья :)
    Некоторые чипы все же пришлось выпаивать из-за особенностей схемы включения

    Стенд cостоял из жесткого каркаса, на котором были установлены 11 камер и несколько свитчей. Для участников была развернута беспроводная сеть, а также предусмотрен один свободный свитч с патчкордами для подключения к сети.

    Стенд
    Большой брат следит за… братьями поменьше

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

    Hackers @ work
    Попав в сеть и получив прошивки, участники сразу же начинают исследование

    В первый день соревнования мы предложили конкурсантам решить непростое задание: найти уязвимость в камере, написать advisory по ее эксплуатации или работающий PoC-эксплойт. К сожалению, внушительная часть участников отсеялась, как только узнала о таких высоких требованиях. Но JTAGulator просто так не выиграешь!

    Более стойкие часами изучали прошивки, восседая на удобных пуфиках. Файлы прошивок были заранее загружены на доступный из локальной сети конкурса FTP-сервер. Для исследования прошивок в поисках уязвимостей в ход шли самые разные инструменты: IDA Pro, Binwalk, Radare2, Strings, Wireshark, Tcpdump, Sqlmap, Burp Suite. «Не стоит прогибать сеть под изменчивый мир, пусть лучше она прогнется под нас», — возможно, так решили участники конкурса, генерируя сотни гигабайт трафика в процессе исследований.

    В 13:37 — самое подходящее «хакерское» время — принесли пару кег холодного пива.

    Охладиться во время соревнования можно было пивом

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

    Участники конкурса

    Зато во второй день пришли сразу два репорта о найденных уязвимостях. Первую из них в камере vstarcam-c16s нашел ИБ-специалист из Новосибирска Павел Черепанов. Вторая уязвимость была выявлена другим специалистом, Иваном Анисеней. В веб-форме аутентификации камеры MDC-N4090W-8 он нашел слепую SQLi, которая позволяет внедрить SQL-команды в параметр id и с помощью техники слепой эксплуатации извлечь из базы данных все логины и пароли (в том числе суперпользователя root).

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

    Павел и Иван получили свои заслуженные призы.

    Награждение: Павел Черепанов
    Награждение: за Ивана Анисеню приз получил Георгий Зайцев
    Все новости