
다중 아키텍처 Linux 권한 상승 툴킷으로, 24개의 사전 빌드 및 런타임 컴파일 가능한 익스플로잇을 제공합니다. 커널 버전을 자동 감지하고, 패치된 익스플로잇을 필터링하며, 루트를 얻을 때까지 각각을 시도합니다.
다중 아키텍처 권한 상승 도구 모음으로, 24개의 익스플로잇을 포함합니다 (amd64는 사전 빌드, 다른 아키텍처는 런타임에 gcc로 컴파일). amd64, arm64, 386, mips, mipsle, mips64 및 mips64le을 지원합니다. 커널 버전을 감지하고, 패치된 익스플로잇을 필터링하며, 루트 권한을 얻을 때까지 순서대로 각 익스플로잇을 시도합니다.
# 직접 실행 (대상에 gcc가 필요하지 않으며, 사전 컴파일된 바이너리가 포함되어 있음)
./lpe-toolkit
# 드라이 런: 실행하지 않고 익스플로잇 계획만 표시
./lpe-toolkit --dry-run
# 특정 익스플로잇 건너뛰기
./lpe-toolkit --skip "dirtyfrag,dirtypipe"
# 루트 권한 획득 후 명령어 실행 및 출력 표시
./lpe-toolkit -c "id"
# 무음 자동화: 명령 결과를 제외한 모든 출력 억제
./lpe-toolkit -q -c "whoami"
# 자세한 출력 (익스플로잇의 stdout/stderr 포함)
./lpe-toolkit -v
| 플래그 | 설명 |
|---|---|
--dry-run | 사용 가능/건너뛰기된 익스플로잇 표시 |
--just-build | 모든 익스플로잇을 확인하고 경로를 출력한 후 종료 (패키징에 유용) |
--skip LIST | 건너뛸 익스플로잇 이름 (쉼표로 구분) |
-c, --command CMD | 대화형 셸 대신 루트로 CMD 실행 |
-q, --quiet | 툴킷 메시지 억제; 루트 셸 출력 또는 unsuccessful in getting root만 표시 |
-v, --verbose | 출력에 익스플로잇 stdout/stderr 포함 (-q와 상호 배타적) |
참고: -v와 -q는 상호 배타적입니다. 둘 다 지정하면 툴킷이 오류와 함께 종료됩니다.
# 네이티브 빌드 (C 익스플로잇을 사전 컴파일한 후 Go 바이너리에 포함)
make
# 모든 아키텍처에 대해 크로스 컴파일 (네이티브 아키텍처의 C 익스플로잇만)
make build-all
# 소스에서 직접 실행 (럼타임에 대상에서 익스플로잇 컴파일)
make run-source
# 빌드 아티팩트 정리
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 플래그는 사용 가능한 모든 익스플로잇을 확인하고 경로를 출력합니다. 런타임에 무엇을 사용할 수 있는지 확인하는 데 사용하세요.
각 릴리스의 사전 컴파일된 바이너리 아카이브에는 C 익스플로잇이 포함된 정적으로 링크된 Go 바이너리가 포함됩니다. 모든 익스플로잇은 모든 아키텍처에 대해 사전 컴파일됩니다.
toolkit.go: 핵심 익스플로잇 정의, 커널 버전 파싱, 바이너리 해상도, GTFOBins sudo 남용 핸들러, 비대화식 명령 실행을 위한 execCommandAsRoot(), 장황도 헬퍼 msg()/say()main.go: CLI 진입점, 플래그 (-c, -q, -v, --skip, --dry-run, --just-build) 및 신호 처리build-exploits.sh: C 익스플로잇용 크로스 컴파일 스크립트exploits/: //go:embed를 통해 포함된 C 소스 파일 및 사전 컴파일된 바이너리cve_2026_41651.c: Pack2TheRoot 추가 — raw D-Bus 클라이언트(libdbus 없음)가 PackageKit InstallFiles SIMULATE/NONE 플래그를 경쟁시켜 루트 권한의 postinst 실행을 트리거하고, /var/tmp/.suid_bash에 setuid 루트 bash를 생성함
parseKernelVersion 수정: 커널 버전 비교 시 -rcN 접미사를 처리하기 위해 parseIntPrefix 추가
bad_epoll.c 올바른 J-jaeyoung 아키텍처로 재작성: 두 개의 epoll 쌍, 3000개 이상의 대기자를 통한 timerfd IRQ 확장, 깊이 3 oracle, 공유 변수에 acquire/release 원자 연산
모든 익스플로잇(leak-only/PoC-only 포함)이 이제 루트 셸을 생성하거나 요청된 명령어를 실행함
cve_2026_46333.c: try_passwd_root() 추가 — passwd에서 쓰기 가능한 /etc/shadow fd를 훔쳐 알려진 비밀번호 해시를 쓰고 su -를 실행; 실패 시 leak-only 메서드로 대체
cve_2025_38352.c: dirtypipe 스타일 splice()로 /etc/passwd 덮어쓰기 → → 실행 추가
OFF_* 및 PIVOT* 정의를 사용자 정의하세요. /proc/kallsyms 필요 (kptr_restrict=0). 패치되지 않은 커널에서 실행 — 수정 사항(커밋 a6dc643c6931, ep_clear_and_put 추가)은 Ubuntu 22.04의 6.8 HWE를 포함한 많은 배포판에 백포트되었습니다.| # | 이름 | 대상 | 유형 |
|---|
| 1 | Copy Fail CVE-2026-31431 | AF_ALG + splice 페이지 캐시 쓰기 | 사전 빌드 / 컴파일 |
| 2 | Dirty Frag CVE-2026-43284 | xfrm-ESP/RxRPC 페이지 캐시 쓰기 | 사전 빌드 / 컴파일 |
| 3 | Fragnesia CVE-2026-46300 | espintcp splice 페이지 캐시 손상 | 사전 빌드 / 컴파일 |
| 4 | DirtyDecrypt CVE-2026-31635 | rxgk 페이지캐시 쓰기 | 사전 빌드 / 컴파일 |
| 5 | Fragnesia v2 | skb_segment GRO coalesce | 사전 빌드 / 컴파일 |
| 6 | PinTheft | RDS zerocopy + io_uring 페이지 캐시 덮어쓰기 | 사전 빌드 / 컴파일 |
| 7 | Dirty Pipe CVE-2022-0847 | /etc/passwd 페이지 캐시 덮어쓰기 | 사전 빌드 / 컴파일 |
| 8 | CIFSwitch CVE-2026-46243 | cifs.spnego + NSS 네임스페이스 혼동 | 사전 빌드 / 컴파일 |
| 9 | PwnKit CVE-2021-4034 | pkexec 환경 탈출 | 사전 빌드 / 컴파일 |
| 10 | OverlayFS CVE-2021-3493 | 사용자 네임스페이스 마운트 탈출 | 사전 빌드 / 컴파일 |
| 11 | OvFS+FUSE CVE-2023-0386 | FUSE 마운트 탈출 | 사전 빌드 / 컴파일 |
| 12 | Pack2TheRoot CVE-2026-41651 | PackageKit D-Bus 경쟁 → setuid 루트 | 사전 빌드 / 컴파일 |
| 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 | nftables 체인 UAF | 사전 빌드 / 컴파일 |
| 17 | pidfd race CVE-2026-46333 | ssh-keysign/shadow FD 도용 | 사전 빌드 / 컴파일 |
| 18 | CPU Timer Race CVE-2025-38352 | POSIX 타이머 경쟁 (PoC) | 사전 빌드 / 컴파일 |
| 19 | nft UAF CVE-2024-1086 | Notselwyn 다중 파일 nftables | 사전 빌드 / 컴파일 |
| 20 | PEdit COW CVE-2026-46331 | tc-pedit 페이지 캐시 덮어쓰기 su | 사전 빌드 / 컴파일 |
| 21 | DirtyClone CVE-2026-43503 | ESP-in-UDP TEE 페이지 캐시 passwd | 사전 빌드 / 컴파일 |
| 22 | Bad Epoll CVE-2026-46242 | epoll close-vs-close 경쟁 UAF | 사전 빌드 / 컴파일 |
| 23 | FUSE OOB CVE-2026-31694 | FUSE readdir 캐시 OOB -> passwd | 사전 빌드 / 컴파일 |
| 24 | GTFOBins | 80개 이상의 비밀번호 없는 sudo 기법 | go-handler |
root::0:0:su -명령 모드: 페이지 캐시 익스플로잇은 --corrupt-only를 사용하여 대화형 PTY 브리지를 건너뜀; execCommandAsRoot()가 명령어를 su stdin으로 파이프하여 안정적인 비대화식 실행을 보장