Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
ghostlock-myron-tw — Exploit de kernel GhostLock (CVE-2026-43499) portado para el firmware de REDMI K90 Pro Max Taiwan (myron, WPMTWXM): offsets, guía de compilación, binario precompilado | Kitploit
Herramientas/GitHubGitHub/jason5545/ghostlock-myron-tw
Seguridad AndroidEscalada de PrivilegiosExplotaciónIngeniería InversaSeguridad MóvilExplotación de Binarios
GitHubjason5545/ghostlock-myron-tw

ghostlock-myron-tw

Exploit de kernel GhostLock (CVE-2026-43499) portado para el firmware de REDMI K90 Pro Max Taiwan (myron, WPMTWXM): offsets, guía de compilación, binario precompilado

Ver Repositorio
5hace 2 mesesAún no revisado

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

GhostLock para POCO F8 Ultra / REDMI K90 Pro Max — Variante Global y de Taiwán (myron, WPMTWXM)

Port del exploit del kernel GhostLock (CVE-2026-43499) para el firmware global/de Taiwán del POCO F8 Ultra / REDMI K90 Pro Max (nombre en clave myron, Snapdragon 8 Elite Gen 5 / SM8850).

Objetivo: HyperOS OS3.0.6.0.WPMTWXM — kernel 6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k

Resumen en inglés abajo / 下方有英文摘要。


Por qué se necesita este port

El mismo teléfono, el mismo nombre en clave, pero el kernel de la versión internacional/Taiwán (WPMTWXM, es decir, POCO F8 Ultra) y el de la versión de China continental (WPMCNXM) no son el mismo binario:

ROMkernel releaseHora de compilación
Versión de Taiwán 3.0.1.0.WPMTWXM...-ga5f232d1ead0-ab14083253-4k2025-09-11
Versión de Taiwán 3.0.6.0.WPMTWXM...-g5a0e85dd9db0-ab14499855-4k2025-11-26
Versión de China continental 3.0.306/308.WPMCNXM...-g16e473de48a3-abogki462654244-4k2025-11-19
  • La versión continental sigue la rama oficial GKI de Google (abogki*), mientras que la versión de Taiwán usa la rama de integración propia de Xiaomi
  • Los commits de git de ambos lados son diferentes, la config difiere en 7 opciones y todo se compila con +pgo +bolt +lto — cualquier diferencia en el código desordena por completo la disposición de símbolos
  • Medición real: init_task/init_cred difieren en 0x10000, selinux_state difiere en 0x120c8 (desplazamiento no fijo)

Los exploits de solo datos como GhostLock necesitan las direcciones exactas de esa compilación, por lo que todos los payloads calculados para la versión de China continental son inválidos en la versión internacional. Este repo es precisamente para completar la tabla de offsets que le falta a la versión internacional.

Contenido

  • offsets/myron_tw/offsets.h — objetivo completo de la versión de Taiwán 3.0.6.0 (para usar con JoinChang/ghostlock-oneplus)
  • scripts/device_step1.sh — script de respaldo de ABL tras obtener root + flasheo del EFI de desbloqueo
  • En Releases hay un binario ghostlock ya compilado (arm64)

Resultados de análisis ya verificados

  1. Corrección de la extracción estática de kallsyms: verificación cruzada leyendo de vuelta el binario tomando _text como base — init_task.comm="swapper", init_cred.usage=4, init_uts_ns.release coincide carácter por carácter con uname. No se necesita root en un dispositivo real para obtener desplazamientos fiables.
  2. El diseño de las estructuras es idéntico al de la versión de China continental (verificado con BTF): task_struct 5184 bytes, cred@0x900, pi_blocked_on@0xA18, etc., coherente con el STRUCT_OFFSETS_6_12 de upstream.
  3. Viabilidad de la disposición de la pila: futex_wait_requeue_pi (frame 0x1c0, waiter@sp+0x80) y core_sys_select (frame 0x1b0, stack_fds@sp+0x18) son exactamente iguales al Xiaomi 17 (pudding) ya verificado como viable → PSELECT_SHIFT=0.
  4. selinux_state.enforcing está en +0 y policycap en +2; una escritura de un solo byte no corrompe policycap.
  5. Rust ashmem → solo es utilizable la Ruta B (escritura PI directa); la Ruta A (UMH) no es utilizable.

Compilación

git clone https://github.com/JoinChang/ghostlock-oneplus.git
cd ghostlock-oneplus
cp /path/to/this-repo/offsets/myron_tw/offsets.h src/devices/myron_tw/offsets.h
# 在 src/devices/offsets.h 的 #include 清單加一行:
#   #include "myron_tw/offsets.h"
make NDK_CC=<你的 NDK>/toolchains/llvm/prebuilt/*/bin/aarch64-linux-android35-clang

Uso

adb shell uname -r
# 必須是 6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k,否則程式會拒絕執行

adb push ghostlock /data/local/tmp/e
adb shell chmod 755 /data/local/tmp/e
adb shell /data/local/tmp/e
  • Éxito → shell root + SELinux permisivo (root suave, se pierde al reiniciar)
  • Si falla y reinicia = no se acertó el timing, volver a ejecutar; si hay panics consecutivos se puede probar PSELECT_SHIFT=-1 u otros ajustes finos
  • No permitas que el dispositivo se actualice por OTA — tras la actualización cambia el kernel, el offset deja de ser válido y además la nueva versión puede haber parcheado la vulnerabilidad

Pasos siguientes (desbloqueo del BL)

Los dispositivos de la versión internacional, tras obtener root, pueden desbloquearse mediante el método de sustitución de ABL (no requiere cupo oficial): hacer copia de seguridad de abl_a/b → flashear el EFI de desbloqueo → con fastboot flashear el ABL de fábrica + spoof → restaurar. El ABL de fábrica se obtiene del abl.img de la ROM 3.0.1.0 de la versión de Taiwán que tengas en tu poder (este repo no incluye archivos de firmware propietarios de Xiaomi). scripts/device_step1.sh es la parte del proceso que se ejecuta en el teléfono. Este proceso no borra los datos del usuario.

Portar a otras versiones regionales (MIXM / EUXM / INXM…)

Este repo solo cubre WPMTWXM. Xiaomi compila el kernel por separado para cada rama regional, por lo que los offsets no se pueden compartir; pero el método sí. En tools/ están las tres herramientas que realmente usamos para generar el target de la versión de Taiwán:

# 1. 從你的 OTA 包解出 boot.img(payload.bin 用 payload-dumper),然後:
python3 tools/extract_offsets.py boot.img          # 產生 OFFSETS_ENTRY + 交叉驗證
python3 tools/check_btf.py boot.img                # 驗證 struct 布局(決定 STRUCT_OFFSETS 能否沿用)
python3 tools/check_feasibility.py boot.img        # 驗證 pselect 棧配置(決定 SHIFT)
  • extract_offsets.py: extrae kallsyms, calcula todos los desplazamientos y vuelve a leer init_task.comm / init_cred.usage / init_uts_ns.release para hacer una verificación cruzada; si no pasa, no lo uses
  • check_btf.py: lee del BTF incrustado en el núcleo los desplazamientos de los campos de task_struct/cred/selinux_state y los compara uno por uno con STRUCT_OFFSETS_6_12
  • check_feasibility.py: desensambla la configuración de marcos de futex_wait_requeue_pi y core_sys_select y la compara con núcleos de viabilidad conocida (requiere pip install capstone)

Los tres pasaron, tu versión probablemente funcione. Te invitamos a enviar un PR con el target de la nueva versión de la región para incluirlo.

Agradecimientos

  • Nebula Security — investigación original y PoC de GhostLock
  • JoinChang/ghostlock-oneplus — base de este port
  • Diversas experiencias de portabilidad de la comunidad de Coolapk

English Summary

El firmware global del POCO F8 Ultra (REDMI K90 Pro Max) incluye una compilación del kernel diferente a la del firmware CN (rama, configuración y diseño PGO/BOLT distintos), por lo que todos los offsets de GhostLock publicados por la comunidad — calculados sobre kernels ogki de CN — fallan en los dispositivos globales. Este repositorio proporciona los offsets objetivo que faltaban para OS3.0.6.0.WPMTWXM (6.12.23-android16-5-g5a0e85dd9db0-ab14499855-4k), extraídos estáticamente del paquete OTA oficial y validados de forma cruzada (kallsyms + BTF + lecturas dentro de la imagen), además de un binario precompilado en Releases. Los diseños de las estructuras son idénticos a los de la compilación CN; solo difieren las direcciones de los símbolos. El diseño del marco de pila coincide con el del Xiaomi 17 (pudding), verificado como funcional.

Úsalo solo en tu propio dispositivo. La vulnerabilidad es pública (divulgación obligatoria por kernelCTF); este port existe para que los propietarios de la variante global puedan rootear sus propios teléfonos.

Descargo de responsabilidad / Disclaimer

Solo para investigación de seguridad autorizada en dispositivos propios. For authorized security research on your own devices only. No se garantiza ningún resultado; úsalo bajo tu propio riesgo.

Descargar herramienta