
Zertifikats-Exploit für MTK-Geräte.Es gibt einen Logikfehler im MTK-Zertifikatsüberprüfungsprozess.Ähnlich wie CVE-2023-20696.
Zertifikats-Exploit für MTK-Geräte.Es gibt einen Logikfehler im MTK-Zertifikatsüberprüfungsprozess.Ähnlich wie CVE-2023-20696. Gefixt. CVE-2023-20696 CVE-2025-20730
Es gibt einige Probleme mit der Architekturerkennung.Müssen behoben werden, wenn ich Zeit habe.Oder jemand kann einen Pull-Request stellen. Dies ist eine vibe-codierte Version, und ich werde sie später umschreiben.Aber jetzt ist sie nutzbar.
Dieses Projekt dient nur zu Forschungszwecken. Stellen Sie sicher, dass Sie autorisiert sind, bevor Sie es verwenden. Nicht für illegale Zwecke erlaubt. Es ist nicht erlaubt, diesen Exploit für kostenpflichtige Dienste zu nutzen.
Bei MTK-Geräten überprüft der Preloader bl2_ext/lk/atf und springt dann dorthin.
Diese Images sind mit ASN.1-Zertifikaten signiert.
Aber es gibt einen Logikfehler im ASN.1-Parsing-Prozess.
Bei alten V5/V6-Geräten wird der Zertifikatsinhalt durch bypass_mode 1 identifiziert.
In diesem Modus wird jedes Objekt betreten.
So können wir ein gefälschtes Zertifikat mit einem 0x3(Bit-String)-Objekt erstellen.
Das gefälschte Zertifikat ist unverändert. So kann es die Überprüfung bestehen.
Das echte Zertifikat befindet sich unter dem gefälschten Zertifikat.Und wir können den Image-Hash und den Image-Hdr-Hash am Anfang des echten Zertifikats platzieren.
Bei neuen V6-Geräten wird der Zertifikatsinhalt durch bypass_mode 0 identifiziert.
In diesem Modus werden alle Objekte außer 0x30 übersprungen.
So können wir den Image-Hash und den Image-Hdr-Hash an den Anfang des Zertifikats setzen.
Dann lassen wir andere Dinge unverändert.
Dann können wir den Image-Inhalt modifizieren.
So erlangen wir die Kontrolle über EL3.
Sie können BL2_EXT patchen, um die Überprüfung von lk, atf oder gz zu entfernen.
Und dann LK patchen, um die Überprüfung von lk_main_dtb zu entfernen (sonst stürzt es ab).
Und Sie müssen LK patchen, um alle Bootloader-Sperren zu entfernen, einschließlich set_lock_state, um ein erneutes Sperren oder einige Abstürze zu vermeiden.
python parse-part-img.py [the original image file] --split -o out
Dann sehen Sie separate Images (wie lk, bl2_ext, lk_main_dtb, aee)
nach dem Patchen Für neue V6-Geräte python sign_mtk_cert.py [single image file] -w Für alte V6-Geräte/V5-Geräte python sign_mtk_cert.py [single image file] -w --legacy
Dann fügen Sie das neue signierte Image wieder ein
python build-part-img.py replace [original image file] --name [the single image name you want to insert back] -- file [the new signed single image]
