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
lenovo_y700_tb320fc_on_CVE-2025-21479 — Escalada de privilegios en el kernel en memoria para Lenovo Legion Y700 2023 (TB320FC) explotando CVE-2025-21479, una falla del SMMU de la GPU Qualcomm Adreno, con gestión de root ReSukiSU. | Kitploit
Herramientas/GitHubGitHub/xjoker/lenovo_y700_tb320fc_on_cve-2025-21479
Seguridad AndroidEscalada de PrivilegiosMecanismos de PersistenciaExplotaciónPentesting de Apps MóvilesPost-ExplotaciónSeguridad MóvilDesarrollo de PayloadsExplotació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
GitHubxjoker/lenovo_y700_tb320fc_on_cve-2025-21479

lenovo_y700_tb320fc_on_CVE-2025-21479

Escalada de privilegios en el kernel en memoria para Lenovo Legion Y700 2023 (TB320FC) explotando CVE-2025-21479, una falla del SMMU de la GPU Qualcomm Adreno, con gestión de root ReSukiSU.

Ver Repositorio
hace 13h 38mAún no revisado

Root de Kernel TB320FC — CVE-2025-21479

English | 简体中文

Escalada de privilegios en el kernel en memoria para el Lenovo Legion Y700 2023 (TB320FC), explotando CVE-2025-21479 (vulnerabilidad del SMMU de la GPU Qualcomm Adreno), con gestión completa de root proporcionada por ReSukiSU.

Sin desbloqueo de bootloader. Sin flasheo. Sin PC requerido para la activación.

⚠️ Para investigación de seguridad autorizada en dispositivos de tu propiedad. Consulta Disclaimer.


Dispositivo objetivo

Todos los offsets y comportamientos en este proyecto están ajustados para el siguiente dispositivo. No esperes que funcione en otros modelos/ROMs sin reajustar (consulta exploit/device_info.txt).

ModeloLenovo Legion Y700 2023 (TB320FC) / TB320FC_PRC
SoCQualcomm SM8475 (Snapdragon 8+ Gen 1, Adreno 730)
SistemaZUXOS 1.1.350 / Android 15 (SDK 35)
BuildAQ3A.240812.002 (TB320FC_CN_OPEN_USER_Q00031.0_V_ZUXOS_1.1.350_ST_250418)
Kernel5.10.209-android12-9-gef44381c3e04-ab50
Parche de seguridad2025-03-05
BootloaderBloqueado (este proyecto no lo desbloquea)

Verificado funcionando a partir de 2026-09 en el firmware anterior.

Características

Capturas de pantalla

RootActivator (activado)ReSukiSU (funcionando, 2 módulos)
RootActivatorReSukiSU

Izquierda: RootActivator tras una activación exitosa — SELinux Enforcing, kernelsu cargado, su disponible. Derecha: gestor ReSukiSU — modo LKM funcionando con 2 módulos (NeoZygisk + Vector).

Cómo funciona

root@kitploit:~
RootActivator APK
   │
   ├─ libcheese.so ── KGSL SMMU exploit (CVE-2025-21479)
   │     1. Adreno 730 microcode access-check flaw (SDS packet mistaken for RingBuffer)
   │     2. Fake CP_SMMU_TABLE_UPDATE overwrites GPU TTBR0 → arbitrary physical R/W
   │     3. Zero selinux_state.enforcing; dump kernel from fixed PA 0xA8000000,
   │        parse kallsyms from the raw image (SM8475 has no physical KASLR)
   │     4. Patch __do_sys_capset with an escalation shellcode
   │        (prepare_kernel_cred(0) + commit_creds + clear TIF_SECCOMP);
   │        forked child calls capset() → uid 0 + full caps
   │
   └─ libksud.so (ReSukiSU) ── late-load mode
         1. kernelsu.ko loaded from ksud's embedded assets with manual relocation
            (does not rely on kernel symbol exports)
         2. install → /data/adb/ksu (ksud/busybox/bootctl)
         3. su channel online: /system/bin/su → kernel hook redirect → u:r:ksu:s0
         4. setenforce 1 — Enforcing restored, policy rules already injected by the ko

Puntos de ingeniería destacables

  • Qualcomm GKI recorta las exportaciones de símbolos del kernel. Faltan 77 símbolos requeridos por KernelSU upstream, por lo que un simple insmod kernelsu.ko falla. El late-load de ReSukiSU resuelve los símbolos por sí mismo y carga sin problemas.
  • Corrección de afinidad de CPU en cheese. Con múltiples núcleos, el texto del kernel parcheado puede ejecutarse con instrucciones obsoletas en otro núcleo (coherencia de I-cache), provocando un panic. Fijar el proceso a un solo núcleo hace el exploit mucho más fiable.
  • Sensibilidad a la carga. Durante la tormenta de inicialización posterior al arranque (5-10 min) la tasa de fallo es significativamente mayor. Consulta docs/TROUBLESHOOTING.md.

Inicio rápido

1. Obtener RootActivator

Compila desde el código fuente (consulta Compilación) u obtén el APK desde la página de Releases de GitHub (no está almacenado en el repositorio).

2. Instalar el gestor ReSukiSU

Descárgalo desde ReSukiSU Releases e instala el APK del gestor.

3. Activar

  1. Tras el arranque, espera 5-10 minutos (la herramienta detecta automáticamente la carga del sistema y espera si es necesario)
  2. Abre RootActivator → toca Activate Root
  3. Espera 3-4 minutos (el progreso se muestra en el log integrado)
  4. Cuando termine, abre el gestor ReSukiSU y concede root a tus apps (Shizuku, terminales, ...)

4. (Opcional) Soporte de módulos Xposed

  1. Instala NeoZygisk (mediante el gestor ReSukiSU → Modules → install from storage)
  2. Instala Vector (framework Xposed)
  3. Con el root activo, inicia el inyector en el dispositivo (la activación no lo hace):
    root@kitploit:~
    su -c 'sh /data/adb/modules/zygisksu/post-fs-data.sh'
    
  4. Detalles en docs/VECTOR.md

Estructura del repositorio

root@kitploit:~
├── LICENSE / CHANGELOG.md
├── README.md / README.zh-CN.md
├── exploit/            cheese exploit (CVE-2025-21479, ported to TB320FC)
│   ├── source/         cheese.c / kallsyms_lookup.c / adrenaline.h
│   ├── device_info.txt Target device parameters (offsets, verified facts)
│   └── build.sh        Build script (requires Android NDK)
├── app/                RootActivator (Kotlin, hand-rolled build, no Gradle)
│   ├── src/            MainActivity.kt (single file, code-only UI)
│   ├── res/            launcher icon (mipmap-xxxhdpi)
│   ├── AndroidManifest.xml
│   ├── debug.keystore  debug signing key used by the public APK
│   ├── build.py        Build script (kotlinc + d8 + aapt2 + apksigner)
│   └── README.md       App documentation
├── tools/              Helper scripts
│   ├── fetch_assets.py         Host: prepare native assets (exploit + ksud)
│   ├── neozygisk_setup.sh      On-device: NeoZygisk + Vector (see VECTOR.md)
│   ├── status_check.sh         On-device: root / module snapshot
│   └── check_mods.sh           On-device: module inspection helper
├── docs/               Documentation (English)
│   ├── ARCHITECTURE.md         Deep dive into both chains
│   ├── TROUBLESHOOTING.md      Failure handling, success-rate data
│   └── VECTOR.md               Xposed (NeoZygisk + Vector) setup
└── screenshots/        On-device PNG evidence

Compilación

exploit (Android NDK)

root@kitploit:~
cd exploit
NDK=/path/to/android-ndk ./build.sh
# Produces ./cheese (arm64) → used as app/native/libcheese.so

APK RootActivator

root@kitploit:~
cd app
python ../tools/fetch_assets.py    # prepare native assets
python build.py                    # requires kotlinc + Android build-tools
# Produces RootActivator.apk

Variables de entorno aceptadas por la compilación (consulta app/build.py para más detalles): KOTLIN_HOME, ANDROID_BUILD_TOOLS, ANDROID_JAR, KEYSTORE, JAVA_HOME. fetch_assets.py además necesita RESUKISU_APK (ruta a un APK arm64 de ReSukiSU) para extraer libksud.so.

Limitaciones

  • Se requiere reactivación tras cada reinicio (enfoque en memoria, nada persiste)
  • Tasa de fallo de activación de ~20-40% (inherente al exploit; un fallo reinicia el dispositivo sin pérdida de datos — simplemente reintenta)
  • adb root no está disponible (adbd cannot run as root in production builds)
  • Xposed requiere NeoZygisk; nunca uses ksud soft-reboot — cuelga el sistema (usa la inyección ptrace de NeoZygisk en su lugar)

Disclaimer

Este proyecto se proporciona únicamente con fines de investigación de seguridad y educativos, y solo para dispositivos que poseas o estés explícitamente autorizado a probar. Eres el único responsable de cualquier consecuencia e implicación legal. El exploit puede reiniciar el dispositivo; en casos raros es posible la pérdida de datos — haz una copia de seguridad de los datos importantes primero.

Créditos

  • zhuowei/cheese — exploit original de CVE-2025-21479 (Zhuowei Zhang)
  • ReSukiSU — fork de KernelSU con modo late-load
  • NeoZygisk — inyección ptrace en zygote
  • Vector — framework Xposed
  • hawkes — adrenaline.h (definiciones de comandos KGSL)

Licencia

MIT

Descargar herramienta
CapacidadImplementación
Escalada de privilegiosexploit cheese: bug del SMMU de KGSL → R/W físico arbitrario de la GPU → root en memoria (uid 0 + todas las caps)
Gestión de rootReSukiSU (fork de KernelSU) en modo late-load carga kernelsu.ko; su servido por un hook en el kernel (u:r:ksu:s0)
SELinuxRestaurado a Enforcing tras la activación (las reglas de política de ReSukiSU permanecen aplicadas)
UX de un toqueAPK RootActivator con exploit + ksud embebidos; un solo toque tras el arranque
Módulos XposedCompatibles mediante NeoZygisk (inyección ptrace en zygote) + Vector
PersistenciaNinguna por diseño (en memoria): reactivar tras cada reinicio (~3-4 min)