Xiaomi mi robot vacuum cleaner как узнать токен

Взлом Робота-пылесоса Xiaomi Mi Robot Vacuum, как получить root Xiaomi Mi Robot Vacuum, хак,
Дата обновления: 22.01.2018 — 15:31 , перейти к новому сообщению

Group Icon

Made In Tula
[SoftoRooMTeaM]

Группа: Администраторы
Сообщений: 29.596
Регистрация: 22.02.2004
Пользователь №: 7

Респектов: 6067

Твой софтовый форум

Робот-пылесос Xiaomi Mi Robot взломали

Дыры в интернете вещей стали обычным пугалом нашего времени, но даже страшные сказки иногда заканчиваются хорошо. Вот вам свежий пример: экспертам по информационной безопасности Деннис Гизе (Dennis Giese) и Дэниэл Вегемер (Daniel Wegemer) удалось взломать робот-пылесос Xiaomi Mi Robot — однако в процессе исследования выяснилось, что он намного безопаснее большинства смарт-устройств.

Получаем токен, ключ шифрования, МАС, ID, IP устройств Xiaomi для Home Assistant. Tokens extractor.

В своем выступлении на Chaos Communication Congress 34, который недавно прошел в Лейпциге, исследователи рассказали о том, как устроено программное обеспечение пылесоса и о том, какими уязвимостями они воспользовались для того, чтобы преодолеть его защиту.

Аппаратный взлом пылесоса Mi Robot с помощью фольги

Началось все с того, что Гизе и Вегемер с удивлением обнаружили, что начинка робота-пылесоса Xiaomi мощнее, чем у многих смартфонов: в него встроено целых три; процессора ARM, один из них четырехъядерный. Уже интригует, не так ли? Для разогрева Гизе и Вегемер попробовали несколько очевидных способов атаки.

Первым делом они проверили, можно ли использовать для взлома пылесоса порт micro-USB. Оказалось, что нельзя: разработчики Xiaomi защитили подключение аутентификацией. Затем исследователи полностью разобрали Mi Robot и попытались найти последовательный порт на материнской плате — но эта затея тоже оказалась неудачной.

Следующую попытку взлома эксперты предприняли через сеть. Они просканировали сетевые порты устройства, но все оказались закрыты. Перехват трафика тоже ни к чему не привел — выяснилось, что обмен данными пылесоса с внешним миром полностью зашифрован.

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

Но вернемся к Xiaomi Mi Robot. Следующая попытка заключалась в атаке на аппаратную часть пылесоса. Тут наконец-то исследователям улыбнулась удача — замкнув фольгой «правильные» контакты процессора, им удалось перевести чип в специальный режим, разрешающий не только чтение, но даже запись флеш-памяти напрямую через USB-порт.

Таким образом Гизе и Вегемер смогли извлечь прошивку Mi Robot, провести ее реверс-инжиниринг и модификацию, а потом загрузить результат своих трудов обратно в робот-пылесос — и таким образом получить полный контроль над устройством.

Прошивка пылесоса XIAOMI

Беспроводной взлом пылесоса Mi Robot

Но вскрытие корпуса и манипуляции с железом — это не круто, всегда гораздо интереснее, когда хакнуть удается «без проникновения». После реверс-инжиниринга прошивки исследователи нашли способ взломать пылесос просто через Wi-Fi, воспользовавшись недоработками в механизме обновления.

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

Однако кое-что реализовано не идеально. Во-первых, оказалось, что эти архивы с обновлениями Xiaomi защищены одним и тем же статичным паролем: rockrobo (никогда не пользуйтесь настолько слабыми паролями). Зная это, исследователи подготовили зашифрованный нужным образом пакет с собственной модифицированной прошивкой.

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

Сколько атмосфер должно быть в шинах самоката Xiaomi

Прошивка Mi Robot изнутри

Изучая прошивку, Гизе и Вегемер узнали ряд интересных фактов о смарт-устройствах Xiaomi. Во-первых, прошивка Mi Robot представляет собой операционную систему Ubuntu Linux — причем все патчи устанавливаются регулярно и оперативно. Во-вторых, компания применяет уникальные пароли суперпользователя на каждом устройстве, а значит, не существует единого пароля, которым можно одним махом взломать целую армию роботов-пылесосов. И в-третьих, система оснащена сетевым экраном, который блокирует любые полезные для хакеров порты. Вновь снимаю шляпу перед Xiaomi: по стандартам IoT они реализовали на удивление хорошую защиту.

Однако в бочке меда не обошлось без ложки дегтя: обнаружилось, что Mi Robot собирает и отправляет в облако Xiaomi очень много данных — по несколько мегабайт в день. Причем наряду с относительно безобидной телеметрией пылесос передает названия и пароли сетей Wi-Fi, к которым подключается, а также схемы помещений, которые создает с помощью встроенного лидара.

Еще один неприятный момент: все собранные пылесосом данные навечно остаются в системе, даже после сброса до заводских настроек. Так что если кто-то купит подержанный робот-пылесос Xiaomi на eBay и сумеет его взломать (а после публикации исследования Гизе и Вегемера это будет не так сложно сделать), то сможет без проблем добраться до паролей предыдущих хозяев.

Стоит подчеркнуть, что оба способа атаки, найденные Гизе и Вегемером, позволяют им взломать только собственные устройства. Первый метод требует физического доступа к пылесосу. Для второго же необходимо раздобыть ключ шифрования, чтобы сформировать фальшивый запрос на обновление, — а эти ключи генерируются заново при каждом «спаривании» устройства с мобильным приложению, не повторяясь. Заполучить такой ключ без доступа к смартфону, подключенному к нужному вам устройству Xiaomi, очень непросто.

Так что создание ботнета Xiaomirai нам вряд ли грозит. Скорее, наоборот: исследование продемонстрировало, что Xiaomi намного серьезнее относится к безопасности, чем большинство производителей подключенных устройств. Как известно, взломать можно практически что угодно, но если система хорошо защищена, вряд ли злоумышленники будут тратить на нее время — обычно их привлекает легкая добыча.

Последняя на данный момент прошивка (3.3.9_003132) с рутом и отдельно русская говорилка
Языковые пакеты можно ставить на любую прошивку, независимо стоковая она у вас или кастомная.

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

» Инструкция по прошивке на примере Debian 8.7-9.3 «

# — означает, что команда должна быть выполнена от пользователя root
Чтоб выполнить команду от пользователя root, необходимо перед командой добавить sudo (в Debian может не быть по умолчанию). Например sudo apt-get . либо перейти полностью в режим рут с помощью команды su (sudo su в Ubuntu). После ввода команды система попросит рут-пароль.

Робот должен быть заряжен или стоять на док-станции
Если будете прошивать говорилку, ставим китайский язык, который Default

Сначала тянем зависимости:

#apt-get install python-setuptools git python3 python3-dev build-essential
#easy_install pip
#pip install pipenv

Чтоб все сделать чисто, создаем папку в домашнем каталоге и переходим в неё

mkdir ~/cleaner
cd ~/cleaner

В эту папку теперь скачиваем прошивку и/или говорилку. В данном случае v11_003132_root.pkg и russian.pkg

wget https://www.dropbox.com/s/s55t9wanye3lml4/v11_003132_root.pkg?dl=1 -O v11_003132_root.pkg
wget https://www.dropbox.com/s/brtrgc511ll36ff/russian.pkg?dl=1 -O russian.pkg

Качаем необходимое ПО и разворачиваем:

Как включить gps на Xiaomi redmi 4a

alias python=python3
pipenv shell —three
pip install git+https://github.com/rytilahti/python-miio

Далее начинаем уже работу с пылесосом:
Если на компьютере есть Wi-Fi, то сбрасываем Wi-Fi удержанием обеих кнопок (выкл. и домой). Далее на компе появится новая открытая сеть rockrobo-XXXX. Подключаемся к ней.

Эта команда найдет нам ip и токен, которые нам нужны будут в дальнейшем. Например, IP 192.168.8.1 (ID: 03xxxxx) — token: b’374643644a4e41333232755346305a79′. Токен берем только то, что в кавычках. Выполняем:

mirobo discover —handshake true

Если на компьютере нет Wi-Fi, то выполняем действия по этой инструкции, чтоб получить токен.
1) С помощью Root Explorer или SQLite Editor на телефоне открыть /data/data/com.xiaomi.smarthome/databases/miio2.db и посмотреть Ваш token

Далее набор команд:

mirobo —ip=192.168.8.1 —token=#токен# status

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

Далее запускаем локальный сервер, с которого робот и будет тянуть прошивку:

python -m http.server 8000 «mode»:»normal», «install»:»1″, «app_url»:»http://192.168.8.167:8000/v11_003132_root.pkg», «file_md5″:»f00d9fe91f32c52cea4e019340a8d75c»,»proc»:»dnld install»>’

Если прошивка пошла, то на экране вы увидете следующую надпись (может и не появиться, зависит от ОС) и индикатор на роботе начнет часто мигать:

192.168.8.1 — — [03/Jan/2018 04:26:32] «GET /v11_003132_root.pkg HTTP/1.1» 200 —

Логин и пароль по ssh cleaner. После логина можно поменять пароль на свой с помощью команды passwd

Прошиваем говорилку:
Если до этого прошивали прошивку (обязательно дождитесь окончания прошивки — мелодия включения, только потом продолжайте), то нужно снова «поздороваться» с роботом, чтоб получить новый токен (возможно заново нужно подключиться к его сети), иначе пропускаем этот шаг:

mirobo discover —handshake true

IP-адрес (в моем случае 192.168.8.167) нужно посмотреть в состоянии Wi-Fi. MD5-сумма рассчитана для текущей говорилки (можно посчитать самим с помощью команды md5sum file.pkg):

mirobo —ip=192.168.8.1 —token=#токен# raw_command dnld_install_sound ‘<«md5″:»2324e8453474e3cb984569e118742fee»,»sid»:1,»url»:»http://192.168.8.167:8000/russian.pkg»>’

Рейтинг
( Пока оценок нет )
Загрузка ...
Китай Покупай