Sploitus

Exploit for lpe-toolkit

kitploit Β· 2026-08-26

Exploit Code

MARKDOWN111 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-PORTBUSTER1337-LPE-TOOLKIT
# Linux LPE Toolkit

ΠœΡƒΠ»ΡŒΡ‚ΠΈΠ°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ инструмСнтов для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ с 24 эксплойтами (amd64 ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скомпилированы; ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· gcc Π²ΠΎ врСмя выполнСния). ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ amd64, arm64, 386, mips, mipsle, mips64 ΠΈ mips64le. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Π²Π΅Ρ€ΡΠΈΡŽ ядра, ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ исправлСнныС эксплойты ΠΈ ΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΠΎ порядку, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ root.

## Быстрый старт

root@kitploit:~
    
    
    # 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` Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠ΅ β€” Π½Π°Π±ΠΎΡ€ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ с ошибкой, Ссли ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΠ±Π°.

## Эксплойты

## Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· исходников

root@kitploit:~
    
    
    # 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 ΠΈ кросс-компиляторы для Ρ†Π΅Π»Π΅Π²Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€:

  * **arm64** : `aarch64-linux-gnu-gcc`
  * **386** : `i686-linux-gnu-gcc`
  * **mips** : `mips-linux-gnu-gcc`
  * **mipsle** : `mipsel-linux-gnu-gcc`
  * **mips64** : `mips64-linux-gnuabi64-gcc`
  * **mips64le** : `mips64el-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 β†’  β†’ запуск 




### Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ Π½ΠΎΠ²Ρ‹Π΅ эксплойты

  * **peditcow.c** (CVE-2026-46331): ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ² записи Π² page-cache Ρ‡Π΅Ρ€Π΅Π· tc-pedit пСрСзаписываСт ELF-запись su шСллкодом. v5.18–v7.1-rc6. НСпривилСгированный ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ + сСтСвоС пространство ΠΈΠΌΡ‘Π½ Π΄Π°ΡŽΡ‚ CAP_NET_ADMIN.
  * **dirtyclone.c** (CVE-2026-43503): ΠΏΠΎΡ€Ρ‚ DirtyClone с Python Π½Π° C. ЦСль netfilter ESP-in-UDP TEE ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π°Π΅Ρ‚ /etc/passwd. ВстроСнная рСализация AES-128-CBC. v7.1-rc1–rc4.
  * **bad_epoll.c** (CVE-2026-46242): Π³ΠΎΠ½ΠΊΠ° close-vs-close Bad Epoll UAF. **Зависит ΠΎΡ‚ Ρ†Π΅Π»ΠΈ** : смСщСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ рассчитаны Π½Π° lts-6.12.67 (kernelCTF). НастройтС опрСдСлСния `OFF_*` ΠΈ `PIVOT*` ΠΏΠΎΠ΄ своё ядро. ВрСбуСтся /proc/kallsyms (kptr_restrict=0). ЗапускайтС Π½Π° **Π½Π΅ΠΏΡ€ΠΎΠΏΠ°Ρ‚Ρ‡Π΅Π½Π½ΠΎΠΌ ядрС** β€” исправлСниС (ΠΊΠΎΠΌΠΌΠΈΡ‚ `a6dc643c6931`, добавляСт `ep_clear_and_put`) Π±Ρ‹Π»ΠΎ бэкпортировано Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ дистрибутивы, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ 6.8 HWE Π² Ubuntu 22.04.
  * **cve_2026_31694.c** (CVE-2026-31694): OOB-запись Π² кэш readdir FUSE. ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ 24 Π±Π°ΠΉΡ‚Π° Π½Π° сосСднюю страницу page-cache, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ root Π² /etc/passwd Π±Π΅Π· пароля. v6.15+. ВрСбуСтся fusermount3.