
Kit d'élévation de privilèges Linux multi-architecture avec 24 exploits pré-construits et compilables à l'exécution. Détecte automatiquement la version du noyau, filtre les exploits corrigés, essaye chacun jusqu'à l'obtention des droits root.
Kit d'escalade de privilèges multi-architecture avec 24 exploits (amd64 pré-compilé ; autres architectures compilées via gcc à l'exécution). Prend en charge amd64, arm64, 386, mips, mipsle, mips64, et mips64le. Détecte la version du noyau, filtre les exploits corrigés, et essaie chacun dans l'ordre jusqu'à l'obtention du root.
# run directly (no gcc needed on target if pre-compiled binaries are embedded)
./lpe-toolkit
# dry-run: show exploit plan without executing
./lpe-toolkit --dry-run
# skip specific exploits
./lpe-toolkit --skip "dirtyfrag,dirtypipe"
# execute a command once root is achieved and show its output
./lpe-toolkit -c "id"
# silent automation: suppress all output except the command result
./lpe-toolkit -q -c "whoami"
# verbose output (includes exploit stdout/stderr)
./lpe-toolkit -v
| Drapeau | Description |
|---|---|
--dry-run | Affiche les exploits disponibles/ignorés |
--just-build | Résout tous les exploits, imprime les chemins, quitte (utile pour l'empaquetage) |
--skip LIST | Noms d'exploits séparés par des virgules à ignorer |
-c, --command CMD | Exécute CMD en tant que root au lieu de lancer un shell interactif |
-q, --quiet | Supprime les messages du kit ; affiche seulement la sortie du shell root ou unsuccessful in getting root |
-v, --verbose | Inclut stdout/stderr de l'exploit dans la sortie (mutuellement exclusif avec -q) |
Note : -v et -q sont mutuellement exclusifs — le kit se termine par une erreur si les deux sont spécifiés.
# native build (pre-compile C exploits then embed in Go binary)
make
# cross-compile for all architectures (native arch's C exploits only)
make build-all
# run directly from source (compile exploits on target at runtime)
make run-source
# clean build artifacts
make clean
Prérequis : Go 1.21+, gcc, et cross-compilateurs pour les architectures cibles :
aarch64-linux-gnu-gcci686-linux-gnu-gccmips-linux-gnu-gccmipsel-linux-gnu-gccmips64-linux-gnuabi64-gccmips64el-linux-gnuabi64-gccLe drapeau --just-build résout tous les exploits utilisables et imprime leurs chemins. Utilisez-le pour vérifier ce qui sera disponible à l'exécution.
L'archive binaire pré-compilée pour chaque version inclut un binaire Go lié statiquement avec des exploits C intégrés. Tous les exploits sont pré-compilés pour toutes les architectures.
toolkit.go : Définitions d'exploits principales, analyse de version du noyau, résolution binaire, gestionnaire d'abus sudo GTFOBins, execCommandAsRoot() pour l'exécution de commande non interactive, aides de verbosité msg()/say()main.go : Point d'entrée CLI avec drapeaux (-c, -q, -v, --skip, --dry-run, --just-build) et gestion des signauxbuild-exploits.sh : Script de cross-compilation pour les exploits Cexploits/ : Fichiers sources C et binaires pré-compilés intégrés via InstallFiles pour déclencher l'exécution postinst privilégiée root, dépose un bash setuid-root à /var/tmp/.suid_bashparseKernelVersion corrigé : ajout de parseIntPrefix pour gérer les suffixes -rcN lors de la comparaison des versions du noyaubad_epoll.c réécrit avec l'architecture correcte J-jaeyoung : deux paires epoll, élargissement IRQ timerfd via 3000+ waiters, oracle de profondeur 3, atomiques acquire/release sur variables partagéestry_passwd_root() — vole le fd inscriptible de /etc/shadow depuis passwd, écrit un hash de mot de passe connu, puis lance su - ; se rabat sur les méthodes de fuite uniquementsplice() style dirtypipe de → → lance OFF_* et PIVOT* pour votre noyau. Nécessite /proc/kallsyms (kptr_restrict=0). Exécutez sur un noyau non corrigé — le correctif (commit a6dc643c6931, ajoute ep_clear_and_put) a été rétroporté à de nombreuses distributions, y compris le noyau 6.8 HWE d'Ubuntu 22.04.| # | Nom | Cible | Type |
|---|
| 1 | Copy Fail CVE-2026-31431 | AF_ALG + écriture page-cache via splice | pre-built / compile |
| 2 | Dirty Frag CVE-2026-43284 | xfrm-ESP/RxRPC écriture page-cache | pre-built / compile |
| 3 | Fragnesia CVE-2026-46300 | Corruption page-cache via espintcp splice | pre-built / compile |
| 4 | DirtyDecrypt CVE-2026-31635 | écriture page-cache rxgk | pre-built / compile |
| 5 | Fragnesia v2 | Coalescence GRO skb_segment | pre-built / compile |
| 6 | PinTheft | RDS zerocopy + io_uring écrasement page-cache | pre-built / compile |
| 7 | Dirty Pipe CVE-2022-0847 | Écrasement page-cache /etc/passwd | pre-built / compile |
| 8 | CIFSwitch CVE-2026-46243 | cifs.spnego + confusion d'espace de noms NSS | pre-built / compile |
| 9 | PwnKit CVE-2021-4034 | Échappement d'environnement pkexec | pre-built / compile |
| 10 | OverlayFS CVE-2021-3493 | Échappement de montage user-ns | pre-built / compile |
| 11 | OvFS+FUSE CVE-2023-0386 | Échappement de montage FUSE | pre-built / compile |
| 12 | Pack2TheRoot CVE-2026-41651 | Race PackageKit D-Bus → setuid root | pre-built / compile |
| 13 | Polkit D-Bus CVE-2021-3560 | Race accounts-daemon | pre-built / compile |
| 14 | Docker Socket | /var/run/docker.sock inscriptible | pre-built / compile |
| 15 | netfilter OOB CVE-2021-22555 | Corruption ip_tables | pre-built / compile |
| 16 | nft UAF2 CVE-2022-2586 | UAF chaîne nftables | pre-built / compile |
| 17 | pidfd race CVE-2026-46333 | Vol de FD ssh-keysign/shadow | pre-built / compile |
| 18 | CPU Timer Race CVE-2025-38352 | Race de timer POSIX (PoC) | pre-built / compile |
| 19 | nft UAF CVE-2024-1086 | Notselwyn multi-fichier nftables | pre-built / compile |
| 20 | PEdit COW CVE-2026-46331 | tc-pedit écrasement page-cache su | pre-built / compile |
| 21 | DirtyClone CVE-2026-43503 | ESP-in-UDP TEE page-cache passwd | pre-built / compile |
| 22 | Bad Epoll CVE-2026-46242 | UAF race epoll close-vs-close | pre-built / compile |
| 23 | FUSE OOB CVE-2026-31694 | FUSE readdir cache OOB -> passwd | pre-built / compile |
| 24 | GTFOBins | 80+ techniques sudo sans mot de passe | go-handler |
//go:embed/etc/passwdroot::0:0:su ---corrupt-only pour sauter le pont PTY interactif ; execCommandAsRoot() envoie la commande à l'entrée standard de su pour une exécution non interactive fiable