Крипто-кошельки

Как я хотел следить за собакой и случайно разоблачил уязвимости камер TP-Link

Крипто-кошельки
Wanted to spy on my dog, ended up spying on TP-Link

История о том, как желания владельца домашнего животного привести к глубокому техническому исследованию и вскрытию слабых мест в системе безопасности камер TP-Link, раскрывая особенности работы устройств и пути обхода ограничений производителя. .

Современные технологии открывают практически неограниченные возможности для наблюдения и контроля за домашними питомцами, особенно когда хозяина нет дома. Недавно я решил приобрести недорогую внутреннюю камеру Tapo от компании TP-Link, чтобы проследить за тем, как ведет себя моя собака в мое отсутствие. Однако этот простой замысел вскоре превратился в полноценное техническое расследование, где мне удалось раскрыть скрытые аспекты работы устройства, неудобства настройки и даже серьезные уязвимости в системе безопасности TP-Link. Первоначально процесс настройки камеры в связке с приложением Frigate оказался куда сложнее, чем ожидалось. Практически отсутствовала понятная документация, и даже среди опытных энтузиастов не было единого мнения о том, как именно взаимодействовать с камерами Tapo.

Моя главная цель была наладить двустороннюю аудиосвязь в Frigate, но стандартный rtsp:// протокол не поддерживал эту функцию. Оказалось, что для полноценной работы звука необходимо использовать специальный tapo:// протокол с пропуском через go2rtc, поскольку TP-Link реализовала двустороннюю аудиосвязь исключительно через собственный проприетарный API. Кроме технических барьеров меня начал раздражать навязчивый сервис Tapo Care, который постоянно продвигался через официальное мобильное приложение. Это заставило задуматься о существовании альтернативных, более закрытых от облака способов настройки камеры - возможно, совсем без необходимости соединения с серверами TP-Link. Для реализации подобного сценария требовалось понять протоколы связи между приложением и устройством, а также методы авторизации и шифрования данных.

Первым серьезным препятствием стала необходимость отслеживания сетевого трафика, чтобы понять, какие запросы и ответы происходят во время процесса первоначальной настройки камеры. Традиционные способы перехвата трафика, такие как использование proxy-сервера с добавлением собственного сертификата в хранилище доверия телефона, в последнее время все чаще оказываются неэффективными. Современные приложения все чаще обходят системные настройки прокси и игнорируют хранилище сертификатов, внедряя механизмы certificate pinning. Чтобы обойти эти методы защиты, я применил динамическую инструментализацию с помощью фреймворка Frida. Этот мощный инструмент позволяет вмешиваться в выполнение приложения на лету, подменяя его поведение и заставляя принимать нужные сертификаты, игнорируя при этом встроенную проверку сертификатов.

 

Как итог, удалось настроить сложную цепочку из камеры, ноутбука с mitmproxy, проксирующего трафик, и мобильного приложения с внедренными скриптами Frida, которые обеспечили доступ к зашифрованным запросам. В процессе анализа запросов обратило на себя внимание, что камера изначально использует стандартные учетные данные с логином admin и каким-то паролем, после чего приложение меняет пароль администратора на соответствующий облачному. Интересный момент заключался в том, что если пользователь изменяет пароль в облаке после первичной настройки, устройство оказывается не в курсе этих изменений. Это позволило предположить о наличии на устройстве "по умолчанию" пароля, который доступен сразу после установки и до синхронизации с облаком. Чтобы проверить гипотезу, мной был произведен разбор APK-файла официального приложения TP-Link с помощью инструмента JADX.

 

В процессе декомпиляции были обнаружены функции, возвращающие зашитый в код дефолтный пароль для начального этапа аутентификации. Пароль оказался фиксированным значением, которое начинается с префикса TPL07 и далее состоит из числовой последовательности. Наличие данного встроенного пароля подтверждало первоначальную догадку о возможности обхода облачной авторизации на этапе онбординга камеры. Далее, с помощью информации о механизме шифрования с использованием типа шифра encrypt_type: 3, стала возможна разработка скриптов для расшифровки передаваемых данных. Совместно с библиотекой PyTapo я смог реализовать скрипт на языке Python, который внедрялся в mitmproxy, позволяя в реальном времени расшифровывать и анализировать содержимое запросов и ответов, получаемых от камеры.

 

Анализ сетевого взаимодействия показал, что процесс настройки камеры состоит из ряда последовательных вызовов, включая сканирование доступных Wi-Fi сетей, присоединение к выбранной сети, изменение пароля администратора, активацию RTSP и ONVIF аккаунтов, а также другие операции, вроде установки часового пояса и режима записи. Однако, по факту, большинство операций оказывались второстепенными на фоне важных команд, связанных с обеспечением базовой функциональности камеры и ее подключения к сети. Завершилось исследование небольшим Bash-скриптом, который автоматизировал весь процесс - от логина с использованием дефолтного пароля, отправки команд на подключение к Wi-Fi, отключения надоедливого логотипа на видео, включения необходимых сервисов до смены пароля на защищенный вариант. Такой подход практически исключал необходимость использования фирменного облачного приложения и позволял владельцам сохранять контроль над своими устройствами без вмешательства TP-Link. В ходе этого долгого и порой утомительного "обхода" я сделал важные выводы о состоянии безопасности и качестве реализации прошивки TP-Link в недорогих камерах.

В то время как некоторые API использовали современные алгоритмы хеширования типа SHA-256, другие, что было неожиданным и печальным, по-прежнему опирались на устаревший MD5. Разработчики явно попытались внедрить криптографические меры, но получилась не слишком надежная система, напоминающая работу любителей-шифровальщиков с дивана. Для передач паролей применялось два публичных ключа - один открытый клиенту и второй, "секретный", глубоко интегрированный в приложение. Выбор между ними зачастую был случайным и непредсказуемым. Такой хаос усложнял разработку более безопасных решений и усиливал опасения насчет уязвимости устройств на практике.

И, несмотря на всевозможные сложности и обнаруженные проблемы, я наконец-то узнал, чем же занимается моя собака, когда меня нет рядом. Оказалось, что она просто спит, отдыхает на диване и порой уютно устраивается в своей кровати. Удивительно, как иногда из простого желания присмотреть за питомцем может родиться целое приключение в мире безопасности IoT-устройств. Таким образом, мой опыт с камерой Tapo от TP-Link показывает, насколько важно владеть не только конечным устройством, но и глубоко погружаться в его внутренние механизмы. Особенно если хочется избежать навязываемых компанией облачных сервисов и сохранить за собой право на контроль и конфиденциальность данных.

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

Автоматическая торговля на криптовалютных биржах

Далее
An employee-first equity structure for Silicon Valley
Среда, 07 Январь 2026 Как новая модель распределения акций в Кремниевой долине меняет игру для сотрудников стартапов

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

Solana Foundation Validator Discussion: SIMD-0326 [video]
Среда, 07 Январь 2026 Обсуждение валидаторов Solana Foundation: анализ заседания SIMD-0326

Глубокий анализ дискуссии валидаторов Solana Foundation на заседании SIMD-0326, раскрывающий ключевые аспекты развития экосистемы Solana и значимость роли валидаторов в обеспечении безопасности и масштабируемости сети. .

Baby Shaker
Среда, 07 Январь 2026 Baby Shaker: история скандального приложения и уроки для индустрии мобильных игр

Разбор судьбы приложении Baby Shaker, вызвавшего волну общественного недовольства и быстро удалённого с App Store. Анализ ошибок в модерации, влияние на восприятие мобильных игр и ключевые выводы для разработчиков и платформ.

TalerBarr – v0.1.0 (Inventory Sync)
Среда, 07 Январь 2026 TalerBarr v0.1.0: Новая эра синхронизации инвентаря в цифровых платежах

Подробный обзор инновационной системы TalerBarr версии 0. 1.

Ookla launches Wi-Fi Speedtest Certified program to help prove network quality
Среда, 07 Январь 2026 Новый стандарт качества Wi-Fi: программа сертификации Speedtest Certified от Ookla

Компания Ookla запускает программу Speedtest Certified, которая помогает убедиться в надежности и скорости публичных Wi-Fi сетей. Сертификация станет важным ориентиром для отелей, конференций и бизнес-центров, обеспечивая уверенность пользователей в качественном интернет-соединении.

Building an IoT Product – The Product(ion) Feedback Loop (2021)
Среда, 07 Январь 2026 Создание IoT-продукта: циклы обратной связи производства и эксплуатации для оптимизации качества

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

130K+ Reqs/SEC with MoroJs
Среда, 07 Январь 2026 MoroJs: Революция в Мире Быстрых API с Производительностью Более 130 000 Запросов в Секунду

Узнайте, как MoroJs устанавливает новые стандарты в разработке API, обеспечивая сверхвысокую производительность и минимальную задержку. Разбор технических особенностей, сравнительный анализ с популярными фреймворками и практические рекомендации для внедрения в проекты любой сложности.