Энтузиаст рассказал про успешный беспроводной сброс (на RFID-чипе с DRM) счётчика для фильтра очистителя воздуха Xiaomi Mi Air Purifier (моделей 4/4 Pro/4 Lite, MI PRO, MI PRO H, PRO H, PRO, 3H).
«Я поискал в Интернете достойный очиститель воздуха, и оказалось, что Xiaomi 4 Pro соответствует всем моим требованиям. Размер фильтра, удалённый запуск через смартфон, планировщик и рабочий объём соответствовали всем моим требованиям. Я настроил его и ничего об этом не думал, пока на прошлой неделе в моей комнате не появилось предупреждение о замене фильтра: «Осталось 0%». Я настроил своё устройство на отключение ЖК-дисплея, так что это стало нежелательным сюрпризом. Я проигнорировал предупреждение, нажав на кнопку, чтобы скрыть ошибку, и через 15 минут в моей комнате снова появилось на экране устройства это же предупреждение», — уточнил исследователь.
В приложении Xiaomi нигде не было возможности отключить предупреждение о счётчике фильтра. Прочистив фильтр несколько раз в течение года, пользователь был уверен, что этот элемент очистителя воздуха можно было использовать ещё некоторое время.
Ранее энтузиасты из команды Flamingo Tech потратили некоторое время на реверс-инжиниринг этих фильтров и опубликовали на GitHub свои наработки по данным тегов внутри электроники фильтров.
К сожалению, тег NfcA по-прежнему оказался заблокирован, и его нельзя редактировать без пароля. К счастью, сообщество proxmark также занималось этой проблемой, включая изучение процесса поиска необходимого пароля.
В итоге Flamingo Tech смогли опубликовали скрипт, написанный исследователем Doegox, в котором описывается, как работает взлом пароля.
Скрипт Flamingo Tech содержит два примера. Первый пример основан на UID тега 04A03CAA1E7080, в результате чего получается пароль CD91AFCC. Сначала берётся UID устройства и преобразуется в массив байтов. Таким образом, 04A03CAA1E7080 становится последовательностью байтов [04, A0, 3C, AA, 1E, 70, 80]. Затем к этому массиву байтов применяется хеш-функция SHA-1, которая даёт на выходе bcaf806333ccf720cd441a167f914fbe6ea4a513. Это значение также далее преобразуется в массив байтов, поскольку для формирования пароля нужно всего 4 байта из этой строки. Используя первый байт массива BC, нужно преобразовать его в десятичное число, чтобы получить 188, и использовать этот байт, чтобы определить, где находится каждый байт в хеше.
Рассчитываемые индексы: 188 % 20 = 8 (188 + 5) % 20 = 13 (188 + 13) % 20 = 1 (188 + 17) % 20 = 5
Теперь вернёмся к хешу, который генерировали ранее — bcaf806333ccf720cd441a167f914fbe6ea4a513.
Взяв байты в правильном порядке, мы получаем: 8-й байт: CD 13-й байт: 91 1-й байт: AF 5-й байт: CC
Объединение этих форм образует пароль: CD91AFCC
Теперь, когда мы знаем, как это работает, то можно изменить/сбросить данные на других аналогичных фильтрах. Не у всех есть доступ к устройству Proxmark стоимостью $350. Именно поэтому энтузиаст создал инструкцию по обновлению и сбросу данных фильтра с помощью любого мобильного телефона с поддержкой NFC.
Инструкция для сброса счётчика фильтра Xiaomi Mi Air Purifier:
Установите бесплатную версию NFC tools на свой Android или iPhone с поддержкой NFC.
2.Отсканируйте NFC-метку в нижней части фильтра с помощью функции чтения из бесплатного приложения NFC tools.
Скопируйте полученный «Серийный номер/UID» (14-значное шестнадцатеричное значение) вашего фильтра с помощью NFC tools.
Создайте команду сброса, введя 14 символов в форму на сайте. Если UID — 12345678901234, пароль будет 011853E8, а команда сброса фильтра будет следующей: 1B011853E8,3008,A20800000000.
В главном меню приложения NFC tools нажмите Other -> Advanced NFC commands и примите отказ от ответственности. Затем вставьте приведённую выше команду из генератора пароля в поле данных. (ПРИМЕЧАНИЕ. Пользователям Android необходимо будет выбрать класс ввода-вывода NfcA (ISO 14443-3A) из раскрывающегося меню.
Убедитесь, что верхняя часть смартфона находится над меткой, и нажмите «Отправить команду». Вуаля! Вы успешно сбросили фильтр. Повторяйте по мере необходимости для непрерывной и беспроблемной очистки воздуха.
Список совместимых устройств с этой операцией по сбросу счётчика фильтра Xiaomi Mi Air Purifier:
Источник: habr.com