업데이트로 돌아가기
UpdatedJul 26, 2026

pwnage24mtk — Updated!

MTK 기기 대상 Cert 익스플로잇. MTK 인증서 검증 프로세스에 논리적 결함이 존재합니다. CVE-2023-20696과 유사합니다.

공유

pwnage24mtk

MTK 기기를 위한 Cert 익스플로잇입니다. MTK 인증서 검증 프로세스에 논리적 결함이 있습니다. CVE-2023-20696과 유사합니다. 패치됨. CVE-2023-20696 CVE-2025-20730

아키텍처 감지에 몇 가지 문제가 있습니다. 시간이 날 때 수정해야 합니다. 아니면 누구든 pull request를 만들 수 있습니다. 이것은 vibe-coded 버전이며, 나중에 다시 작성할 것입니다. 하지만 지금은 사용할 수 있습니다.

면책 조항

이 프로젝트는 연구 목적으로만 사용됩니다. 사용하기 전에 반드시 승인을 받아야 합니다. 불법적인 사용은 허용되지 않습니다. 이 익스플로잇을 유료 서비스 제공에 사용하는 것은 허용되지 않습니다.

MTK 기기의 경우 preloader는 bl2_ext/lk/atf를 검증한 후 해당 이미지로 점프합니다.

이 이미지들은 ASN.1 인증서로 서명됩니다.

하지만 ASN.1 파싱 프로세스에는 논리적 결함이 있습니다.

이전 V5/V6 기기의 경우 인증서 내용은 bypass_mode 1로 식별됩니다.

이 모드에서는 모든 객체가 내부로 들어갑니다.

따라서 0x3(bit string) 객체를 사용하여 가짜 인증서를 만들 수 있습니다.

가짜 인증서는 수정되지 않습니다. 따라서 검증을 통과할 수 있습니다.

실제 인증서는 가짜 인증서 아래에 있습니다. 그리고 실제 인증서의 시작 부분에 이미지 해시와 이미지 hdr 해시를 넣을 수 있습니다.

새로운 V6 기기의 경우 인증서 내용은 bypass_mode 0으로 식별됩니다.

이 모드에서는 0x30을 제외한 모든 객체가 건너뛰어집니다.

따라서 인증서 시작 부분에 이미지 해시와 이미지 hdr 해시를 넣을 수 있습니다.

그런 다음 다른 것들은 수정하지 않은 채 유지합니다.

그러면 이미지 내용을 수정할 수 있습니다.

그래서 EL3 제어를 획득합니다.

BL2_EXT를 패치하여 lk, atf 또는 gz에 대한 검증을 제거할 수 있습니다.

그런 다음 LK를 패치하여 lk_main_dtb에 대한 검증을 제거해야 합니다(그렇지 않으면 충돌합니다).

또한 LK를 패치하여 set_lock_state를 포함한 모든 부트로더 잠금을 제거하여 다시 잠기거나 충돌이 발생하지 않도록 해야 합니다.

사용법:

python parse-part-img.py [the original image file] --split -o out

그러면 분리된 이미지(lk, bl2_ext, lk_main_dtb, aee 등)를 볼 수 있습니다.

패치 후 새로운 v6 기기의 경우 python sign_mtk_cert.py [single image file] -w 이전 v6 기기/v5 기기의 경우 python sign_mtk_cert.py [single image file] -w --legacy

그런 다음 새로 서명된 이미지를 다시 삽입합니다.

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]

예시:

4c8558aaea5e8d939ba978d6b10be14d 17fe099c27560ec4b0dd0ab1540e1442 b56f0026951f2c58612b315b44423437 이미지

카테고리