
Мультиархитектурный набор инструментов для повышения привилегий в Linux с 24 готовыми и компилируемыми во время выполнения эксплойтами. Автоматически определяет версию ядра, отфильтровывает пропатченные эксплойты и пробует каждый, пока не получит права root.
Мультиархитектурный набор инструментов для повышения привилегий с 24 эксплойтами (amd64 предварительно скомпилированы; остальные архитектуры компилируются через gcc во время выполнения). Поддерживает amd64, arm64, 386, mips, mipsle, mips64 и mips64le. Определяет версию ядра, отфильтровывает исправленные эксплойты и пробует каждый по порядку, пока не будет получен 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
| Флаг | Описание |
|---|---|
--dry-run | Показать, какие эксплойты доступны/пропущены |
--just-build | Разрешить все эксплойты, вывести пути, выйти (полезно для упаковки) |
--skip LIST | Список имён эксплойтов через запятую для пропуска |
-c, --command CMD | Выполнить CMD от root вместо запуска интерактивной оболочки |
-q, --quiet | Скрыть сообщения набора; показывать только вывод root-оболочки или unsuccessful in getting root |
-v, --verbose | Включать stdout/stderr эксплойтов в вывод (взаимоисключающе с -q) |
Примечание: -v и -q взаимоисключающие — набор завершится с ошибкой, если указаны оба.
# 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
Требования: Go 1.21+, gcc и кросс-компиляторы для целевых архитектур:
aarch64-linux-gnu-gcci686-linux-gnu-gccmips-linux-gnu-gccmipsel-linux-gnu-gccmips64-linux-gnuabi64-gccmips64el-linux-gnuabi64-gccФлаг --just-build определяет все пригодные эксплойты и выводит их пути. Используйте его, чтобы проверить, что будет доступно во время выполнения.
Архив предварительно скомпилированных бинарников для каждого релиза включает статически слинкованный Go-бинарник со встроенными C-эксплойтами. Все эксплойты предварительно скомпилированы для всех архитектур.
toolkit.go: Основные определения эксплойтов, разбор версии ядра, поиск бинарников, обработчик злоупотребления sudo через GTFOBins, execCommandAsRoot() для неинтерактивного выполнения команд, вспомогательные функции уровня подробности msg()/say()main.go: Точка входа CLI с флагами (-c, -q, -v, --skip, --dry-run, --just-build) и обработкой сигналовbuild-exploits.sh: Скрипт кросс-компиляции C-эксплойтовexploits/: C-исходники и предварительно скомпилированные бинарники, встраиваемые через cve_2026_41651.c: Добавлен Pack2TheRoot — «сырой» D-Bus-клиент (без libdbus) гоняет флаги SIMULATE/NONE пакета PackageKit InstallFiles, чтобы вызвать выполнение postinst с правами root, и размещает setuid-root bash по пути /var/tmp/.suid_bash
Исправлен parseKernelVersion: добавлен parseIntPrefix для обработки суффиксов -rcN при сравнении версий ядра
bad_epoll.c переписан в соответствии с корректной архитектурой J-jaeyoung: две пары epoll, расширение IRQ через timerfd с 3000+ ожидающими, оракул глубины 3, атомарные операции acquire/release над разделяемыми переменными
Все эксплойты (включая только-утечка/только-PoC) теперь запускают root-оболочку или выполняют запрошенную команду
cve_2026_46333.c: Добавлен try_passwd_root() — похищает доступный для записи fd /etc/shadow у passwd, записывает известный хеш пароля, затем запускает su -; при неудаче использует методы только-утечки
cve_2025_38352.c: Добавлена перезапись через в стиле dirtypipe → → запуск
OFF_* и PIVOT* под своё ядро. Требуется /proc/kallsyms (kptr_restrict=0). Запускайте на непропатченном ядре — исправление (коммит a6dc643c6931, добавляет ep_clear_and_put) было бэкпортировано во многие дистрибутивы, включая 6.8 HWE в Ubuntu 22.04.| # | Имя | Цель | Тип |
|---|
| 1 | Copy Fail CVE-2026-31431 | AF_ALG + запись в page-cache через splice | предварительно собран / компиляция |
| 2 | Dirty Frag CVE-2026-43284 | запись в page-cache xfrm-ESP/RxRPC | предварительно собран / компиляция |
| 3 | Fragnesia CVE-2026-46300 | повреждение page-cache через espintcp splice | предварительно собран / компиляция |
| 4 | DirtyDecrypt CVE-2026-31635 | запись в pagecache rxgk | предварительно собран / компиляция |
| 5 | Fragnesia v2 | объединение GRO через skb_segment | предварительно собран / компиляция |
| 6 | PinTheft | RDS zerocopy + перезапись page-cache через io_uring | предварительно собран / компиляция |
| 7 | Dirty Pipe CVE-2022-0847 | перезапись /etc/passwd в page-cache | предварительно собран / компиляция |
| 8 | CIFSwitch CVE-2026-46243 | cifs.spnego + путаница пространств имён NSS | предварительно собран / компиляция |
| 9 | PwnKit CVE-2021-4034 | побег из окружения pkexec | предварительно собран / компиляция |
| 10 | OverlayFS CVE-2021-3493 | побег через монтирование user-ns | предварительно собран / компиляция |
| 11 | OvFS+FUSE CVE-2023-0386 | побег через монтирование FUSE | предварительно собран / компиляция |
| 12 | Pack2TheRoot CVE-2026-41651 | гонка PackageKit D-Bus → setuid root | предварительно собран / компиляция |
| 13 | Polkit D-Bus CVE-2021-3560 | гонка accounts-daemon | предварительно собран / компиляция |
| 14 | Docker Socket | доступный для записи /var/run/docker.sock | предварительно собран / компиляция |
| 15 | netfilter OOB CVE-2021-22555 | повреждение ip_tables | предварительно собран / компиляция |
| 16 | nft UAF2 CVE-2022-2586 | UAF цепочки nftables | предварительно собран / компиляция |
| 17 | pidfd race CVE-2026-46333 | кража FD ssh-keysign/shadow | предварительно собран / компиляция |
| 18 | CPU Timer Race CVE-2025-38352 | гонка POSIX-таймера (PoC) | предварительно собран / компиляция |
| 19 | nft UAF CVE-2024-1086 | многофайловый nftables Notselwyn | предварительно собран / компиляция |
| 20 | PEdit COW CVE-2026-46331 | перезапись su в page-cache через tc-pedit | предварительно собран / компиляция |
| 21 | DirtyClone CVE-2026-43503 | запись passwd в page-cache через ESP-in-UDP TEE | предварительно собран / компиляция |
| 22 | Bad Epoll CVE-2026-46242 | гонка close-vs-close epoll UAF | предварительно собран / компиляция |
| 23 | FUSE OOB CVE-2026-31694 | OOB-запись в кэш readdir FUSE -> passwd | предварительно собран / компиляция |
| 24 | GTFOBins | 80+ способов sudo без пароля | go-обработчик |
//go:embed/etc/passwdsplice()root::0:0:su -Режим команды: Эксплойты page-cache используют --corrupt-only, чтобы пропустить интерактивный PTY-мост; execCommandAsRoot() передаёт команду в stdin su для надёжного неинтерактивного выполнения