Используем зубную щётку Evowera Planck Mini не по назначению

Помните историю со взломом зубной щётки? А вброс про ботнет из 3 млн щёток? Тема оказалась популярной. Недавно один немецкий энтузиаст Аарон Кристофель (известный под ником atc1441) взломал другую зубную щётку, запустив на ней рикролл, а затем и Doom (а куда же без него)?

Используем зубную щётку Evowera Planck Mini не по назначению

Свою историю он рассказал в соцсети X, а кастомную прошивку и OTA-загрузчик выложил на GitHb. Рассказываем подробности этой маленькой забавной истории.

Используем зубную щётку Evowera Planck Mini не по назначению

Evowera Planck Mini — это небольшая, рассчитанная на детей версия обычной электрической зубной щетки Planck O1. Обе они оснащены цветным ЖК-дисплеем с диагональю 0,96 дюйма, но у O1 есть только Bluetooth, через который гаджет подключается к приложению на смартфоне. В Mini же встроен датчик давления на щётку, а также датчики движения для отслеживания усилий ребёнка по чистке зубов.

Функция WiFi в Mini, по-видимому, предназначена как для обновления прошивки, так и для того, чтобы родители могли видеть отчёты о чистке зубов своих детей в приложении. Поскольку эта функция обеспечивается процессором ESP32-C3 внутри устройства, возник вопрос, насколько она безопасна. Как выяснил Аарон, не очень.

А эксплойт простой: зубная щётка подключается к стандартной WiFi сети (SSID evowera, пароль12 345 678), пытается получить новую прошивку и без лишних прелюдий накатывает её, если находит. Соответственно, можно создать свою, «правильную» версию прошивки и обновить щётку.

По словам Аарона, ломать почти ничего не пришлось. Сработала связка ESP32-C3 + ST7789 LCD + прошивка из «источников».

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

Используем зубную щётку Evowera Planck Mini не по назначению

Одновременно с ковырянием в плате Аарон запустил на щётке рикролл.

Используем зубную щётку Evowera Planck Mini не по назначению

А позднее в голову пришла мысль о Doom. В интернете уже были порты Doom для такой платы, поэтому разработчику осталось только адаптировать игру для гаджета. Из-за малого объёма памяти (в щётке всего всего 4 МБ) пришлось уменьшить число локаций и количество текстур.

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

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

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

11
5 комментариев

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

2
Ответить

У меня лампочка красная горит

Ответить

Пффф я на своей вилке запускал дум.

Ответить

Комментарий недоступен

Ответить