Перейти к содержанию

Посты

Чуть больше года назад вышла по-настоящему мощная статья, которую я просто не мог пропуст…

14 мая 2025 г. в 18:39Max Knyazev is typing…Зеркало Telegram
Чуть больше года назад вышла по-настоящему мощная статья, которую я просто не мог пропустить (но пропустил, потому что не знал о ее существовании, а теперь наверстываю). Джеймс Уорнер опубликовал ее у себя на площадке jmswrnr.com. Если вам интересен реверс, IoT или просто хочется прокачать понимание того, как устроены умные устройства изнутри — читаем статью (и этот пост, потому что я тоже старался все по полочкам раскидать) 💯

Статья называется "Hacking a Smart Home Device", и это, без преувеличения, целая история превращения умного очистителя воздуха на базе ESP32 в полностью интегрируемый модуль для Home Assistant. Но то, как Джеймс к этому пришёл, — просто фантастика. Пожалуй, начнем 🍻

Итак, у нас есть девайс, есть кривое приложение, которое живёт только в облаке, и абсолютно никакой локальной интеграции. И вот автор решает: раз уж потратил деньги, то пусть отрабатывает их на все 100%. С этого и начинается реверс

Он пошёл по классике: анализ апкшки, поиск WebSocket-адресов, изучение сетевого трафика через Pi-hole и Wireshark. Тут, кстати, был первый нюанс — очиститель общается по UDP, и в пакетах не было ни намёка на читаемый текст. Только криптографическая мишура, которая (спойлер) оказалась кастомным ECDH+HKDF с AES-128-CBC шифрованием

Но это только начало 😅

Джеймс аккуратно вскрывает корпус, подключается по UART через Flipper Zero (ставьте 😍, если хотите обзор конкретно на мой Flipper Zero со всеми плюшками, которые у меня для него есть), и сливает прошивку. Там он увидел FAT-раздел, серийники, приватные ключи и сертификаты. Всё это находилось прямо на устройстве, без какой-либо защиты. В этот момент я подумал: «Серьёзно? В 2024?» Но ладно, поехали дальше (Бог им судья) 👏

С помощью Ghidra он разбирает бинарник, идентифицирует все основные функции, вычисляет, как работает обмен ключами, и даже патчит прошивку, чтобы устройство можно было запускать без фронтальной панели. К слову, Ghidra пришлось кастомно настроить под Xtensa, импортировать ROM-функции и SVD, чтобы хоть как-то с этим работать

Но главный кайф — это когда он расшифровывает первый пакет. То чувство, когда, наконец, все получается. В этот момент я был искренне рад за Джеймса. Дальше он строит полноценную MITM-схему. Он подменяет DNS, перехватывает пакеты, декодирует, дешифрует, логирует и… поднимает собственный сервер. Без единой строчки оригинального кода производителя. Просто по логике и анализу (это же пушка-бомба вообще) 🤩

Потом он подключает всё это к MQTT и Home Assistant. Описывает, как сделать связку в виде «девайс <—> сервер <—> Mosquitto <—> Home Assistant». Всё живёт у него локально, работает стабильно. Миссия выполнена 🥂

А теперь подведу итог и выскажу свое мнение по поводу всей его работы 😉

Во-первых, это одна из самых крутых и методичных реализаций реверса, которые я видел в open-source. В статье всё описывается максимально подробно по шагам, с объяснениями и даже скриптами. Это не просто «посмотрел трафик и написал сниффер», это прям вышка реверса с практической пользой

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

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

Если вам нравится reverse engineering, работать с ESP32 или хочется интегрировать непонятный китайский гаджет в свою экосистему — обязательно прочтите оригинал (статья на английском, но я не думаю, что в наше время это большая проблема). Вы увидите, насколько мощным может быть DIY, если в руках Flipper Zero, Ghidra, немного терпения, но велико желание сделать что-то крутое 🍿

Как-то так. Пишите ваше мнение и присылайте похожие истории (крутыми и полезными вещами нужно делиться). Всего вам доброго, мои дорогие айотовчане 🙏

#информационная_безопасность #интернет_вещей
Открыть исходный пост в Telegram

Граф связей

Как эта работа связана с другими

Для этой работы пока не настроено явных связей. Можно открыть общий граф или таймлайн всех работ.

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

Колёсико мыши меняет масштаб, а сам граф можно перетаскивать как карту.

Пост
100%

Обсуждение

Комментарии

Комментарии доступны только подтверждённым email-подписчикам

Подключиться к обсуждению

Введите ту же почту, которую вы уже использовали для подписки на сайт

Пока нет ни одного комментария