Multi-architecture pri escalation toolkit with 29 exploits (amd64 pre-built; other architectures compiled via gcc at runtime). Supports amd64, arm64, 386, mips, mipsle, mips64, and mips64le. Detects kernel , filters patched exploits, and tries each in order until root is obtained.
| Flag | Description |
|------|-------------|
| --dry-run | Show which exploits are a/skipped |
| --just-build | Resolve all exploits, print paths, exit (useful for packaging) |
| --skip LIST | Comma-separated exploit names to skip |
| -c, --command CMD | Execute CMD as root instead of spawning an interacti |
| -q, --quiet | Suppress toolkit messages; only show root shell output or unsuccessful in getting root |
| -v, -- | Include exploit stdout/stderr in output (mutually exclusive with -q) |
Note: -v and -q are mutually exclusive — the toolkit exits with an error if both are specified.
| # | Name | Target | Type |
|---|------|--------|------|
| 1 | Copy Fail C | AF_ALG + splice page-cache write | pre-built / compile |
| 2 | Dirty Frag C | xfrm-ESP/RxRPC page-cache write | pre-built / compile |
| 3 | Fragnesia C | espintcp splice page-cache corruption | pre-built / compile |
| 4 | DirtyDecrypt C | rxgk pagecache write | pre-built / compile |
| 5 | Fragnesia v2 | skb_segment GRO coalesce | pre-built / compile |
| 6 | PinTheft | RDS zerocopy + io_uring page-cache o | pre-built / compile |
| 7 | Dirty Pipe C | /etc/passwd page-cache o | pre-built / compile |
| 8 | CIFSwitch C | cifs.spnego + NSS namespace confusion | pre-built / compile |
| 9 | PwnKit C | pkexec en escape | pre-built / compile |
| 10 | O C | user-ns mount escape | pre-built / compile |
| 11 | OvFS+FUSE C | FUSE mount escape | pre-built / compile |
| 12 | Pack2TheRoot C | PackageKit D-Bus race → setuid root | pre-built / compile |
| 13 | Polkit D-Bus C | accounts-daemon race | pre-built / compile |
| 14 | Docker Socket | writable /var/run/docker.sock | pre-built / compile |
| 15 | netfilter OOB C | ip_tables corruption | pre-built / compile |
| 16 | nft UAF2 C | nftables chain UAF | pre-built / compile |
| 17 | pidfd race C | ssh-keysign/shadow FD theft | pre-built / compile |
| 18 | CPU Timer Race C | POSIX timer race (PoC) | pre-built / compile |
| 19 | nft UAF C | Notselwyn multi-file nftables | pre-built / compile |
| 20 | PEdit COW C | tc-pedit page-cache o su | pre-built / compile |
| 21 | DirtyClone C | ESP-in-UDP TEE page-cache passwd | pre-built / compile |
| 22 | Bad Epoll C | epoll close- race UAF | pre-built / compile |
| 23 | FUSE OOB C | FUSE readdir cache OOB -> passwd | pre-built / compile |
| 24 | RefluXFS C | XFS reflink CoW race -> passwd o | pre-built / compile |
| 25 | CrackArmor C+ | AppArmor confused-deputy -> sudo root | pre-built / compile |
| 26 | skb_shift C | TCP SACK flag loss -> ESP page-cache su | pre-built / compile |
| 27 | GRO Flag Loss C | GRO coalesce flag loss -> ESP page-cache su | pre-built / compile |
| 28 | snap-confine C | set-cap race -> udev rule -> setuid bash | pre-built / compile |
| 29 | GTFOBins | 80+ passwordless sudo techniques | go-handler |
Requirements: Go 1.21+, gcc, and cross-compilers for target architectures:
aarch64-linux-gnu-gcci686-linux-gnu-gccmips-linux-gnu-gccmipsel-linux-gnu-gccmips64-linux-gnuabi64-gccmips64el-linux-gnuabi64-gccThe --just-build flag resolves all usable exploits and prints their paths. Use it to what will be a at runtime.
The pre-compiled binary archive for each release includes a statically linked Go binary with embedded C exploits. All exploits are pre-compiled for all architectures.
toolkit.go: Core exploit definitions, kernel parsing, binary resolution, GTFOBins sudo abuse handler, execCommandAsRoot() for non-interacti execution, msg()/say() helpersmain.go: CLI entry point with flags (-c, -q, -v, --skip, --dry-run, --just-build) and signal handlingbuild-exploits.sh: Cross-compilation script for C exploitsexploits/: C source files and pre-compiled binaries embedded via //go:embedInstallFiles SIMULATE/NONE flags to trigger root-pri postinst execution, drops setuid-root bash at /var/tmp/.suid_bashparseKernel fixed: added parseIntPrefix to handle -rcN suffixes when comparing kernel bad_epoll.c rewritten with correct J-jaeyoung architecture: two epoll pairs, timerfd IRQ widening via 3000+ waiters, depth-3 oracle, acquire/release atomics on shared try_passwd_root() — steals writable /etc/shadow fd from passwd, writes a known password hash, then spawns su -; falls back to leak-only methodssplice() o of /etc/passwd → root::0:0: → spawns su ---corrupt-only to skip the interactive PTY bridge (also honored by refluxfs, crackarmor, skbshift, groflag, snapconfine); execCommandAsRoot() pipes the command to su stdin for shellcode-patched binaries (or SuStdin-flagged marker exploits), tries su - -c with an empty password for passwd-clearing exploits (RefluXFS), then a setuid helper shell (/var/tmp/.suid_bash, /var/tmp/cifswitch_rootsh), then falls back to sudo -nOFF_* and PIVOT* defines for your kernel. Requires /proc/kallsyms (kptr_restrict=0). Run on an unpatched kernel — the fix (commit a6dc643c6931, adds ep_clear_and_put) was backported to many distros including Ubuntu 22.04's 6.8 HWE.-c runs commands su.CAP_SETUID, triggering the sudo+Postfix fail-open to root; -c runs via sudo -n. Kernel-space paths (UAF/double-free) need per-target grooming and are not included.SKBFL_SHARED_FRAG propagation in skb_shift() bypasses the Dirty Frag/Fragnesia patches; deterministic ESP-in-TCP byte-at-a-time su o (~10s, v3.9–v7.1-rc4, all distros). -c runs su (SuStdin).skb_gro_receive() over veth; working PoC with in-loop (retry on partial write); also a container-escape angle. -c su.PROGRAM rule → root command exec dropping a setuid bash; -c runs via the new setuid-helper fallback (also fixes -c for Pack2TheRoot/CIFSwitch helpers). Needs Ubuntu with set-cap snap-confine + firefox snap + FUSE + udevd.Deliberately excluded: C/81000/68121/74469 (only hea, target-pinned PoCs exist — exact kernels, vCPU/RAM shapes, destructive), C (working chain needs CAP_NET_RAW + K stages; Debian/Ubuntu default is DoS-only), C (no public weaponization), C (10–30 day time-gated trigger).
开发语言:C
Star 数:404
该项目属于CTF思路方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Multi-architecture Linux privilege escalation toolkit with 29 pre-built and runtime-compilable exploits. Auto-detects kernel version, filters patched exploits, tries each until root.展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | lpe-toolkit - Multi-architecture Linux privilege escalation tool |
| 所属分类 | CTF思路 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 23:42:14 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 212 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |