Тепер легко обійти автентифікацію MediaTek SP Flash Tool

click fraud protection

Група розробників створила утиліту Python для обходу процедури автентифікації MediaTek SP Flash Tool. Подивіться зараз!

Пристрої з чіпсетами MediaTek мають BROM (boot read-only memory), який зазвичай завантажує програму попереднього завантаження виконуваний файл і згодом завантажує систему Android, але також містить альтернативний режим завантаження, відомий як Режим завантаження. Він призначений суто для обслуговування OEM і може використовуватися для деблокування пристрою, як Режим екстреного завантаження Qualcomm (EDL). Запатентована програма MediaTek під назвою «SP Flash Tool» може використовувати цей інтерфейс для примусової перезавантаження системного програмного забезпечення на пристрої. Оскільки низькорівневий режим завантаження повністю контролює пам’ять пристрою, багато OEM-виробників, зокрема Xiaomi та Realme, мають почав обфускацію процесу перепрошивки. Через таку практику перепрошивання мікропрограми в режимі завантаження може виконуватися лише підписаною програмою «Агент завантаження», яка була авторизована відповідним OEM, що фактично означає, що

ви не можете прошити або розблокувати свій власний смартфон, якщо у вас немає на це дозволу від виробника пристрою.

Що ж, фантастична спільнота розробників XDA знову прийшла на допомогу. На основі завантажувальний ROM-експлойт спочатку виявлено від XDA Senior Member xyz`, розробники Дінолек і k4y0z розробили загальний метод обходу, який сумісний із багатьма пристроями на базі MediaTek, які в іншому випадку вимагали б автентифікації під час перепрошивки. Метод, який використовує корисні навантаження експлойтів, специфічні для SoC, перехоплює запити до флеш-пам’яті, зроблені SP Flash Tool, і примусово встановлює значення двох важливих параметрів. ("Автентифікація за послідовним посиланням» і «Завантажити автентифікацію агента") як false, щоб продовжити процес мигання без будь-якого авторизації.


Важливо зазначити, що для успішного перехоплення корисні навантаження експлойтів потребують спеціально налаштованого драйвера USB. Якщо ви використовуєте Windows, вам потрібно встановити драйвер фільтра на основі libusb, щоб замінити набір драйверів за замовчуванням. Користувачам Linux, з іншого боку, потрібно застосувати певний пластир до ядра. Якщо ви не хочете торкатися своєї основної операційної системи, ви можете скористатися FireISO – завантажувальний ISO GNU/Linux, розроблений спеціально для цієї мети.

Що стосується доступу до режиму завантаження MediaTek, вам просто потрібно вимкнути цільовий пристрій, утримувати кнопку збільшення гучності (зменшення гучності для телефонів Xiaomi) і підключити телефон до ПК. Ви повинні побачити новий послідовний пристрій у списку «Диспетчер пристроїв» (Windows) або у вихідних даних dmesg | grep usb (Linux).

На цьому етапі виконайте цей простий 5-етапний процес, щоб вимкнути захист завантажувача:

  1. Завантажте та встановіть Python. Користувачі Windows повинні вибрати «Додати Python X.X до ШЛЯХУ», коли буде запропоновано.
  2. Встановіть необхідні залежності за допомогою pip:
    pip install pyusb pyserial json5
  3. Завантажте утиліту обходу.
  4. Розпакуйте архів, запустіть утиліту та підключіть телефон у режимі завантаження MediaTek. У кінці журналу має з’явитися повідомлення «Захист вимкнено».
    • Windows:
      pythonmain.py
    • Linux:
      ./main.py
  5. Після цього, не відключаючи телефон, запустіть SP Flash Tool в режимі UART Connection.

І це все! Процедуру автентифікації обійдеться, і тепер ви готові перепрошити/розблокувати свій телефон. Якщо хтось більш досвідчений бажає піти далі, він може створити резервну копію зміненого розділу відновити зіпсований IMEI, але це виходить за рамки цієї статті.

Нижче наведено список SoC, які наразі підтримуються. Вважається, що метод обходу працює так само на інших чіпсетах MediaTek, але комусь потрібно спершу закодувати відповідне корисне навантаження, щоб вимкнути процедуру захисту bootrom.

Список підтримуваних SoC

  • mt6261
  • mt6572
  • mt6580
  • mt6582
  • mt6735
  • mt6737
  • mt6739
  • mt6755
  • mt6757
  • mt6761
  • mt6763
  • mt6765
  • mt6768
  • mt6771
  • mt6785
  • mt6799
  • mt6873
  • mt8127
  • mt8163
  • mt8173
  • mt8695

читати далі

Висновок

Якщо ви пам’ятаєте, чіпсети MediaTek раніше виявилися чутливими до небезпечного руткіта майже рік тому, і його активно використовували хакери для отримання root-доступу. З огляду на це, невідомо, чому тайванська компанія з розробки чіпів досі не виправила недолік у своїх чіпсетах, який дозволяє подолати ланцюжок довіри під час перепрошивки. Хоча ми побачили лише позитивну сторону ситуації, вона ще гірша з точки зору безпеки, якщо взяти до уваги сотні менш відомих моделей пристроїв, які використовують ці чіпи MediaTek.

Є ще один аспект ситуації з точки зору спільноти custom development, чиї інтереси ми представляємо. Більшість пристроїв MediaTek опиняються в нежиттєздатному поєднанні легкого зведення та важкого для відновлення. Крім того, вимога примусового дозволу дійсно обмежує потенціал розвитку вторинного ринку на них. Метод обходу — це не що інше, як проблиск надії для власників пристроїв MediaTek, які просто хочуть позбутися клопоту, пов’язаного з виходом із модифікації.

Тим, хто зацікавлений у дослідженні кодової бази методу обходу, слід переглянути посилання GitHub нижче. Ви також можете поспілкуватися з розробниками, відвідавши тема обговорення.

MediaTek SP Flash Tool Authentication Bypass GitHub Repo