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
DFRoot — Herramienta de root para Android para Samsung Galaxy S25 Ultra (SM-S938B) que encadena DirtyFrag CVE-2026-43284 y CVE-2026-43499 para obtener root automáticamente al arrancar mediante KernelSU. | Kitploit
Herramientas/GitHubGitHub/a2333c/dfroot
Seguridad AndroidEscalada de PrivilegiosMecanismos de PersistenciaExplotaciónPentesting de Apps MóvilesPost-ExplotaciónPruebas de PenetraciónSeguridad MóvilUtilidades y FrameworksDesarrollo de Payloads
GitHub
61182hace 24 díasAú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
a2333c/dfroot

DFRoot

Herramienta de root para Android para Samsung Galaxy S25 Ultra (SM-S938B) que encadena DirtyFrag CVE-2026-43284 y CVE-2026-43499 para obtener root automáticamente al arrancar mediante KernelSU.

Ver Repositorio

DFRoot —— Versión adaptada para SM-S938B (Galaxy S25 Ultra) · Vía rápida + Manual

Fork de diabl0w/DFRoot, adaptado específicamente para Samsung Galaxy S25 Ultra (SM-S938B / pa3q), con interfaz y salida de ejecución completamente en chino.

Dos cadenas, una interfaz:

EsquemaVulnerabilidadCaracterísticas
Vía rápidaDirtyFrag (CVE-2026-43284)La del DFRoot original, de segundos a decenas de segundos
ManualCVE-2026-43499Probabilística, escalera de tres rondas, hasta más de diez minutos

Por defecto "Automático": primero ejecuta la vía rápida, si no funciona, encadena automáticamente el esquema manual.

En una frase: obtener root automáticamente al arrancar. Cada arranque intenta primero la vía rápida durante unos segundos; si no funciona, encadena automáticamente la cadena manual, reintentando tres rondas siguiendo "rápido → estable → paciente".

Tras obtener root, también ejecuta automáticamente dos comandos cmd connectivity (para eliminar los anuncios del "Instalador de paquetes" de Samsung), los comandos, la salida y el código de salida se muestran igualmente en el registro de la interfaz — véase la sección cinco "Configuración de anuncios del instalador". A partir de v1.8, estos dos comandos se escriben como script de arranque de KernelSU, y en cada arranque posterior KernelSU los ejecuta por sí mismo como root, sin necesidad de abrir la aplicación ni de ventanas de autorización.

Qué cambió en v1.9

  • Corregido Cannot run program "su": error=2, No such file or directory: v1.8, para no reiniciar una vez más, eliminó el --soft-reboot pasado a ksud; y el su de KernelSU precisamente es montado por el módulo del kernel en la fase post-fs-data en /system/bin/su, el late-load de ksud solo ejecuta las fases late-load / post-mount / service / boot-completed (código fuente de KernelSU userspace/ksud/src/late_load.rs) —— sin reiniciar el framework, en este arranque ese punto de montaje nunca aparecerá, y su -c … en la aplicación dará inevitablemente error=2. Ambos problemas tienen la misma causa raíz;
  • Nueva tercera vía de root: el ksud incluido en la aplicación (KsudChannel) —— el APK incluye una copia adicional de ksud (libksud.so, ubicado en jniLibs/arm64-v8a/, instalado en nativeLibraryDir, la App puede hacer execve directamente), usa libksud.so debug su para abrir un shell root, y los comandos se escriben en su stdin. La elevación de privilegios va por el ioctl(KSU_IOCTL_GRANT_ROOT) del kernel, sin depender de /system/bin/su, sin ventanas de autorización y sin reiniciar el framework del sistema;
  • Orden de canales: helper (justo cuando acaba de terminar el esquema manual) → ksud → su. En el registro se imprime primero una línea de autocomprobación * root 通道:helper=…,ksud=可用,su=…, para ver de un vistazo dónde se atasca;
  • La configuración complementaria pasa a 4 veces × 15 segundos (unos 45 segundos): ksud se levanta justo en el momento en que la vía rápida devuelve éxito, es normal fallar las primeras veces, ahora se reintenta automáticamente;
  • Antes de ejecutar su, se añaden /data/adb/ksu/bin, /debug_ramdisk, /data/adb/magisk, /data/adb/ap/bin al PATH, y SU_PATHS se amplía a 8 entradas (algunas variantes de KernelSU solo colocan su en estos directorios).

Qué cambió en v1.8

  • Ya no se reinicia una vez más tras el arranque: ya no se pasa --soft-reboot a ksud. Antes este parámetro hacía que ksud, tras instalar, reiniciara el framework del sistema una vez —— lo que el usuario veía era "tras arrancar, se reinicia solo otra vez"; peor aún, este reinicio interrumpía el proceso de la aplicación junto con la "Configuración de anuncios del instalador" que estaba ejecutando;
  • La configuración de anuncios del instalador pasa a script de arranque de KernelSU: ya no depende de que la aplicación use su en el momento del arranque (en ese momento KernelSU aún no está listo, en dispositivos reales fallaba en cada arranque, y había que abrir manualmente KernelSU y luego la aplicación para que funcionara). Ahora los mismos dos comandos se escriben en /data/adb/service.d/dfroot-ads.sh, y KernelSU lo ejecuta como root en cada arranque —— sin pasar por la aplicación, sin pasar por su, sin necesidad de ninguna ventana de autorización;
  • Si en el momento del arranque no funciona a la primera, se reintenta automáticamente: se delega al servicio en primer plano, que lo intenta cada 30 segundos durante los siguientes 5 minutos, y al primer éxito termina (ese éxito instala además el script de arranque);
  • En la interfaz se añade una línea "Script de arranque: …", que muestra directamente el resultado de la última ejecución del script.

Qué cambió en v1.7

  • El "Lento" del esquema pasa a llamarse "Manual", y la descripción también cambia: si el automático no funciona, intentar manualmente;
  • Nuevo "Configuración de anuncios del instalador": tras obtener root, ejecuta automáticamente esos dos cmd connectivity, y los comandos, la salida y el código de salida se muestran todos en el registro de la interfaz (una ejecución exitosa siempre tiene salida);
  • Se comprueba en cada arranque y cada vez que se abre la App, y si no tuvo éxito se complementa una vez;
  • El resto del comportamiento no cambia (vía rápida + esquema manual + automático al arrancar).

Uno, qué es cada una de las dos cadenas

Vía rápida: DirtyFrag (CVE-2026-43284)

La que viene con el DFRoot original, todo el código está en app/src/main/jni/ (exp.c + dos fragmentos de shellcode + el módulo del kernel en dirtyfrag-lkm/), compilado como libexp.so y llamado directamente por la App:

  1. Descifrado in situ con AES-CBC ESP + splice() para modificar la page cache de archivos de solo lectura;
  2. Escribir el módulo del kernel en /vendor/lib64/libstagefrighthw.so y luego cargarlo con finit_module, poniendo SELinux en permissive;
  3. Enganchar libc.so / libc++.so, aprovechar el dominio de modprobe para lanzar el ksud incluido, y hacer late-load de KernelSU.

Rápido (unos segundos), el precio es que deja en /dev/df la huella de "ya fortificado en esta ronda", y además su ruta de instalación de ksud es distinta a la de la cadena manual (véase la sección siete).

Manual: CVE-2026-43499

Los tres binarios están precompilados (byte a byte sin modificar):

ArchivoUbicaciónFunción
libcve43499root.sojniLibs/arm64-v8a/helper, ELF ejecutable, la App hace execve directamente, no necesita Shizuku
cve-2026-43499-app.soassets/payloads/payload, el helper lo dlopen y luego ejecuta la vulnerabilidad
ksud-s25u-kdpassets/payloads/KernelSU en sí (ksud + kernelsu.ko embebido)
1. helper --run-payload <payload> <helper> <log>   obtener root (probabilístico)
2. helper -c "cp ksud …"                           colocar ksud en /data/local/tmp
3. helper --late-load                              bind mount /system/bin/logcat,
                                                   luego exec "logcat late-load …" para instalar KernelSU

Criterio de éxito: en el registro aparecen simultáneamente exploit completed y done=1 root=1.

El esquema "Manual" de la interfaz ejecuta esta cadena (el esquema "Automático", cuando la vía rápida no funciona, también la ejecuta a continuación).


Dos, cómo se encadena el modo automático (v1.5 añade la cadena, v1.6 corrige el automático al arrancar, v1.7 añade la configuración de anuncios del instalador, v1.8 corrige el reinicio al arrancar y la configuración de anuncios, v1.9 corrige "su no existe")

Pulsar el botón manualmente (en la interfaz)
   └─ Se ejecuta en el proceso actual: esquema "Automático" = vía rápida → manual; esquema "Manual" = manual directamente
Descargar herramienta