Sada je lako zaobići provjeru autentičnosti MediaTekovog SP Flash alata

Grupa programera stvorila je Python uslužni program za zaobilaženje rutine provjere autentičnosti MediaTek SP Flash Tool-a. Provjerite sada!

Uređaji s MediaTek čipsetima imaju BROM (boot read-only memory), koji obično učitava predloader izvršnu datoteku i zatim pokreće sustav Android, ali sadrži i alternativni način pokretanja poznat kao Način preuzimanja. Strogo je namijenjen servisiranju OEM-a i može se koristiti za deblokiranje uređaja, baš kao Qualcommov hitni način preuzimanja (EDL). Vlasnički program koji je napravio MediaTek pod nazivom "SP Flash Tool" može koristiti ovo sučelje za prisilno bljeskanje sistemskog softvera na uređaju. Budući da način preuzimanja niske razine ima potpunu kontrolu nad pohranom uređaja, mnogi proizvođači originalne opreme, uključujući Xiaomi i Realme, počeo zamagljivati ​​proces bljeskanja. Zbog ove prakse, flešovanje firmvera putem načina preuzimanja može izvesti samo potpisani program "Agent za preuzimanje" koji je autorizirao odgovarajući OEM, što u biti znači da

ne možete flash ili unbrick svoj vlastiti pametni telefon osim ako nemate dopuštenje od proizvođača uređaja za to.

Pa, XDA-ova fantastična zajednica programera ponovno je priskočila u pomoć. Na temelju iskorištavanje ROM-a za pokretanje izvorno otkrio od starijeg člana XDA xyz`, programeri Dinolek i k4y0z osmislili su generičku metodu zaobilaženja, koja je kompatibilna sa širokim spektrom uređaja koje pokreće MediaTek koji bi inače zahtijevali provjeru autentičnosti tijekom flashanja. Metoda, koja koristi korisni teret eksploatacije specifičan za SoC, presreće upite prije bljeskanja koje je napravio SP Flash Tool i prisilno postavlja vrijednosti dva ključna parametra ("Autentifikacija serijske veze" i "Provjera autentičnosti agenta za preuzimanje") kao false kako bi se nastavio proces bljeskanja bez ikakve autorizacije.


Važno je napomenuti da korisni učinci iskorištavanja zahtijevaju posebno prilagođeni USB upravljački program za uspješno presretanje. Ako koristite Windows, morate instalirati upravljački program filtra temeljen na libusb-u kako biste nadjačali zadani skup upravljačkih programa. Korisnici Linuxa, s druge strane, trebaju staviti određeni flaster na kernel. U slučaju da ne želite dirati svoj primarni operativni sustav, možete koristiti FireISO – GNU/Linux ISO koji se može pokrenuti posebno dizajniran za ovu svrhu.

Kada je riječ o pristupu MediaTekovom načinu preuzimanja, trebate samo isključiti ciljni uređaj, držati pritisnutu tipku za pojačavanje glasnoće (smanjenje glasnoće za Xiaomi telefone) i priključiti telefon na računalo. Trebali biste vidjeti novi serijski uređaj naveden pod Upraviteljem uređaja (Windows) ili u izlazu dmesg | grep usb (Linux).

U ovom trenutku slijedite ovaj jednostavan postupak od 5 koraka da biste onemogućili bootrom zaštitu:

  1. Preuzmite i instalirajte Piton. Korisnici Windowsa trebali bi odabrati "Dodaj Python X.X u PATH" kada se to od njih zatraži.
  2. Instalirajte potrebne ovisnosti pomoću pip:
    pip install pyusb pyserial json5
  3. Preuzmite uslužni program za zaobilaženje.
  4. Raspakirajte arhivu, pokrenite uslužni program i povežite svoj telefon u načinu rada MediaTek Download. Na kraju dnevnika trebali biste dobiti "Zaštita onemogućena".
    • Windows:
      pythonmain.py
    • Linux:
      ./main.py
  5. Nakon toga, bez odspajanja telefona, pokrenite SP Flash Tool u načinu UART veze.

I to je to! Rutina provjere autentičnosti je zaobiđena i sada ste spremni za flash/deblokiranje vašeg telefona. Ako netko iskusniji želi napraviti korak dalje, može flashati modificiranu sigurnosnu kopiju particije na popraviti pokvareni IMEI, ali to je izvan opsega ovog članka.

Popis SoC-ova koji su trenutno podržani možete pronaći u nastavku. Teoretizira se da metoda zaobilaženja radi na isti način na drugim MediaTek čipsetovima, ali netko prvo treba kodirati odgovarajući korisni teret da bi se onemogućila rutina zaštite bootrom.

Popis podržanih SoC-ova

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

Čitaj više

Zaključak

Ako se sjećate, prije skoro godinu dana utvrđeno je da su MediaTek čipseti podložni opasnom rootkitu, a hakeri su ga aktivno iskorištavali za dobivanje root pristupa. S obzirom na to, nepoznato je zašto tajvanska tvrtka za dizajn čipova još uvijek nije zakrpala grešku u svojim čipsetovima koja omogućuje pobijanje lanca povjerenja tijekom flashanja. Iako smo vidjeli samo dobru stranu situacije, ona je još gora iz sigurnosne perspektive kada uzmete u obzir stotine manje poznatih modela uređaja koji koriste ove MediaTek čipove.

Postoji još jedan aspekt situacije sa stajališta custom development zajednice, čije interese zastupamo. Većina MediaTekovih uređaja nalazi se u neodrživoj kombinaciji lakog zidanja i teškog oživljavanja. Povrh toga, zahtjev za prisilnom autorizacijom stvarno ograničava potencijal razvoja naknadnog tržišta na njima. Metoda zaobilaženja nije ništa drugo nego tračak nade za vlasnike MediaTek uređaja, koji se samo žele riješiti gnjavaže vezane uz izbacivanje iz modding scene.

Oni koji su zainteresirani za istraživanje baze kodova zaobilazne metode trebali bi pogledati poveznicu GitHub u nastavku. Također možete komunicirati s programerima tako da posjetite nit rasprave.

MediaTek SP Flash Tool Authentication Bypass GitHub Repo