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
ghostlock-a17 — Exploit de kernel para CVE-2026-43499 en Samsung Galaxy A17 que logra root mediante bypass de KDP, recuperación de KASLR y ejecución de workqueue forjada con shell persistente. | Kitploit
Herramientas/GitHubGitHub/mobilehackinglab/ghostlock-a17
Seguridad AndroidEscalada de PrivilegiosMecanismos de PersistenciaExplotaciónPost-ExplotaciónSeguridad MóvilExplotación de Binarios
GitHubmobilehackinglab/ghostlock-a17

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-a17

Exploit de kernel para CVE-2026-43499 en Samsung Galaxy A17 que logra root mediante bypass de KDP, recuperación de KASLR y ejecución de workqueue forjada con shell persistente.

Ver Repositorio
1hace 2 díasAún no revisado

GhostLock — CVE-2026-43499 en Samsung Galaxy A17

Cadena de exploit completa de usuario a root para CVE-2026-43499 ("GhostLock") en el Samsung Galaxy A17 SM-A175F, con Android 16 / GKI 6.12.

La cadena comienza con las primitivas públicas de GhostLock y termina con un usermode helper ejecutándose como:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root)
context=u:r:kernel:s0

También inicia un shell root persistente por arranque mediante g4d / g4sh y sale sin pánico de kernel.

📖 Informe técnico completo:
https://www.mobilehackinglab.com/blog/cve-2026-43499-ghostlock-a17-root-shell

Nota de investigación

No descubrimos CVE-2026-43499. El crédito por la vulnerabilidad original y la investigación de IonStack corresponde a Nebula Security.

Este repositorio documenta nuestro port independiente para el Samsung Galaxy A17, los cambios necesarios para las protecciones del kernel de Samsung y una nueva etapa final de explotación.

Solo para investigación de seguridad autorizada y fines educativos.


Objetivo


¿Qué hace diferente a este port?

La investigación original de ghostlock proporciona las primitivas de entrada:

root@kitploit:~
pselect reclaim
      ↓
fake rt_mutex_waiter
      ↓
constrained rb-tree pointer write

Sin embargo, en el Galaxy A17, la estrategia final estándar de parcheo de credenciales no funciona.

Samsung KDP bloquea la escritura habitual de credenciales

KDP protege los datos del kernel relacionados con las credenciales en EL2.

En esta compilación, los intentos de modificar las credenciales de las tareas se descartaron silenciosamente incluso cuando las direcciones objetivo eran correctas.

Así que, en lugar de escribir credenciales de root, este port hace que el kernel ejecute con las credenciales privilegiadas existentes.

Nueva etapa final: ejecución mediante workqueue forjado

La etapa final:

root@kitploit:~
constrained kernel write
        ↓
physical read/write channel
        ↓
KASLR slide recovery
        ↓
discover system_wq / cpu_pwq
        ↓
forge work_struct
        ↓
call_usermodehelper_exec_work
        ↓
/system/bin/sh
        ↓
uid=0(root), u:r:kernel:s0

Se coloca un elemento de trabajo forjado en un pool vinculado de system_wq y se dispara con una tormenta de asignación/liberación de ptmx.

El usermode helper resultante se ejecuta con las credenciales de init.

No se requiere sobrescribir las credenciales de la tarea.


Cadena del exploit

root@kitploit:~
userspace shell (uid 2000)
        │
        ▼
pselect / PI-futex primitive
        │
        ▼
constrained aligned kernel pointer write
        │
        ▼
forged pipe_buffer channel
        │
        ▼
arbitrary physical read/write
        │
        ├── recover KASLR slide
        │
        ├── locate system_wq / cpu_pwq
        │
        └── prepare forged work_struct
        │
        ▼
queue usermode-helper work
        │
        ▼
ptmx storm wakes worker
        │
        ▼
/system/bin/sh runs with init creds
        │
        ▼
uid=0(root)
        │
        ▼
g4d → @ghostlockd → g4sh

Cambios clave de ingeniería

En comparación con el port público de OnePlus, la mayoría de las etapas posteriores a la primitiva de escritura inicial fueron reestructuradas.

1. Nueva etapa root compatible con KDP

La etapa final de parcheo de credenciales fue reemplazada por un elemento de workqueue forjado dirigido a la ruta de ejecución del usermode helper.

Esto evita por completo escribir en las estructuras cred protegidas.

2. Nuevo oráculo de KASLR slide

El enfoque anterior de anclaje mediante perf-event no era fiable en este dispositivo.

En su lugar, el exploit utiliza tres punteros desplazados (slid) de la entrada ctl_table de boot_id:

root@kitploit:~
procname
data
proc_handler

Los tres se validan de forma cruzada antes de aceptar el slide.

3. Descubrimiento de workqueue en tiempo de ejecución

cpu_pwq se descubre recorriendo:

root@kitploit:~
system_wq → pwqs

en lugar de depender de un offset fijo específico del dispositivo.

4. Salida limpia del exploit

El canal original deja cambios colaterales en el estado de struct page que pueden provocar PANIC_ON_OOPS durante el teardown.

La cadena actual evita el fallo del teardown y se ha demostrado que sale limpiamente después del root.

5. Shell root

El usermode helper inicia:

root@kitploit:~
g4d

que escucha en el socket Unix abstracto:

root@kitploit:~
@ghostlockd

g4sh se conecta a él y proporciona un shell root interactivo o la ejecución de un único comando.

root@kitploit:~
/data/local/tmp/a/g4sh
/data/local/tmp/a/g4sh -c "id"

Por qué el Galaxy A17 es interesante

Este objetivo combina varias protecciones que rompen las técnicas comunes de explotación del kernel de Android:

  • Samsung KDP — protege los datos del kernel relacionados con las credenciales en EL2
  • DEFEX — restringe la ejecución privilegiada desde rutas no confiables
  • SELinux
  • PANIC_ON_OOPS / PANIC_ON_BUG
  • Grandes slides de KASLR en arm64
  • Primitiva de escritura restringida solo con punteros

Esto obligó a adoptar una estrategia de exploit diferente a la habitual:

root@kitploit:~
arbitrary RW → patch cred → disable SELinux

En su lugar:

root@kitploit:~
arbitrary RW → recover runtime state → forge kernel work → execute usermode helper

Compilación

Requiere un Android NDK reciente.

root@kitploit:~
make

Produce:

root@kitploit:~
ghostlock   # exploit
g4d         # static root-shell daemon
g4sh        # root-shell client

Ejecución

Sube los binarios:

root@kitploit:~
adb push ghostlock /data/local/tmp/a/g4
adb push g4d /data/local/tmp/a/g4d
adb push g4sh /data/local/tmp/a/g4sh

adb shell 'chmod 755 /data/local/tmp/a/g4 /data/local/tmp/a/g4d /data/local/tmp/a/g4sh'

Ejecuta el bucle de exploit con gestión de reinicios:

root@kitploit:~
./scripts/rr_loop4.sh

Después de ROOTED:

root@kitploit:~
adb shell /data/local/tmp/a/g4sh

O ejecuta un único comando:

root@kitploit:~
adb shell '/data/local/tmp/a/g4sh -c "id"'

Resultado esperado:

root@kitploit:~
uid=0(root) gid=0(root) groups=0(root) context=u:r:kernel:s0

Fiabilidad

La primitiva es probabilística y depende en gran medida de las condiciones de arranque.

La explotación exitosa puede requerir intentos repetidos. El script incluido rr_loop4.sh gestiona automáticamente los reintentos y los ciclos de reinicio.

Es un exploit de investigación, no una herramienta de root instantánea de un solo uso.


Validación con QEMU

qemu-e2e/ contiene un harness de validación de extremo a extremo que utiliza el kernel de Samsung extraído.

El harness se utilizó para probar:

  • cambios en la cadena del exploit
  • manejo de KASLR
  • forjado de workqueue
  • ejecución del usermode helper
  • teardown limpio del exploit
  • viajes de ida y vuelta de g4d / g4sh

La imagen del kernel de Samsung en sí no está incluida.

Consulta:

root@kitploit:~
qemu-e2e/

para las instrucciones de configuración.


Estructura del repositorio

root@kitploit:~
Makefile
src/                  exploit source and device profiles
src/daemon/           g4d root daemon + g4sh client
docs/OFFSETS.md       validated device offsets
docs/PORTING.md       porting notes
examples/             proof-of-root artifacts
scripts/rr_loop4.sh   reboot-aware exploit loop
qemu-e2e/             end-to-end QEMU validation

Investigación relacionada

Investigación original de GhostLock / IonStack

NebuSec:

https://nebusec.ai/research/ionstack-part-3/

https://github.com/NebuSec/CyberMeowfia/tree/main/IonStack

Port de OnePlus

https://github.com/JoinChang/ghostlock-oneplus

Informe de Mobile Hacking Lab

Un análisis más profundo del port para Samsung Galaxy A17, las limitaciones de KDP, la recuperación de KASLR, la etapa final basada en workqueue y la implementación del shell root:

https://www.mobilehackinglab.com/blog/cve-2026-43499-ghostlock-a17-root-shell


Prueba de root

Los artefactos de un dispositivo real están disponibles en:

root@kitploit:~
examples/

incluidos los registros del exploit y la verificación del contexto root.

Ejemplo:

root@kitploit:~
uid=0(root)
gid=0(root)
groups=0(root)
context=u:r:kernel:s0

Descargo de responsabilidad

Esta prueba de concepto se proporciona únicamente con fines educativos y de investigación de seguridad autorizada.

Úsala únicamente en dispositivos y entornos que poseas o en los que tengas permiso explícito para realizar pruebas.

Descargar herramienta
CVECVE-2026-43499 — "ghostlock"
DispositivoSamsung Galaxy A17 (SM-A175F, mt6789)
GPUMali-G57
Kernel6.12.23-android16-5-abA175FXXS3BZA5-4k
Resultadouid=0(root) / u:r:kernel:s0
Shell rootdaemon g4d + cliente g4sh
PersistenciaPor arranque
Salida del exploitLimpia, sin pánico de kernel
Mitigaciones encontradasSamsung KDP, DEFEX, SELinux, PANIC_ON_OOPS, arm64 KASLR