Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-31431 — Rust로 작성된 Linux 커널 로컬 권한 상승 취약점 PoC로, Crypto API와 splice를 악용하여 페이지 캐시를 덮어쓰고 /etc/passwd의 UID를 수정해 루트 권한을 획득합니다. | Kitploit
도구/GitHubGitHub/g01d3nw01f/cve-2026-31431
Privilege EscalationExploit FrameworksExploitationBinary Exploitation
GitHubg01d3nw01f/cve-2026-31431

CVE-2026-31431

Rust로 작성된 Linux 커널 로컬 권한 상승 취약점 PoC로, Crypto API와 splice를 악용하여 페이지 캐시를 덮어쓰고 /etc/passwd의 UID를 수정해 루트 권한을 획득합니다.

저장소 보기
44개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-31431 LPE PoC (Rust 구현)

이 프로젝트는 로컬 권한 상승(LPE) 취약점(CVE-2026-31431 시뮬레이션)을 Rust로 구현한 개념 증명(PoC)입니다. Crypto API를 악용하여 Linux 커널 페이지 캐시를 조작하는 방법을 시연합니다.[cite: 1, 2]

[!CAUTION] 이 코드는 교육 및 윤리적 보안 연구 목적으로만 사용됩니다. 사전 명시적 동의 없이 시스템에 대해 이 도구를 무단 사용하는 것은 불법입니다. 저자는 이 프로그램으로 인한 오용이나 손해에 대해 어떠한 책임도 지지 않습니다.

개요

이 도구는 AF_ALG(커널 암호화 인터페이스) 및 splice 시스템 호출과 관련된 취약점을 악용합니다.[cite: 2] 권한이 없는 사용자가 읽기 전용 파일의 페이지 캐시 4바이트를 덮어쓸 수 있게 하며, 특히 /etc/passwd의 UID 필드를 대상으로 일시적으로 0000(root)으로 변경합니다.[cite: 1, 2]

작동 방식

  • 대상 식별: 프로그램은 main.rs를 파싱하여 /etc/passwd 내 현재 사용자 UID의 정확한 파일 오프셋을 찾습니다.[cite: 1, 2]
  • 페이지 캐시 워밍: 대상 파일을 읽어 관련 페이지가 커널 페이지 캐시에 로드되도록 합니다.[cite: 2]
  • 메모리 조작:
    • authesn(hmac(sha256),cbc(aes)) 알고리즘으로 AF_ALG를 사용하여 소켓을 초기화합니다.[cite: 2]
    • setsockopt 매개변수를 신중하게 구성하고 splice를 사용하여 파일 데이터를 암호화 파이프라인을 통해 리디렉션합니다.[cite: 2]
    • 이 취약점을 통해 "복호화" 프로세스가 원래 페이지 캐시 데이터를 원하는 4바이트(0000)로 덮어쓸 수 있습니다.[cite: 2]
  • 권한 상승:
    • --shell 플래그가 제공되면 su <user>를 실행하며, 시스템이 캐시된 /etc/passwd에서 사용자 UID를 0으로 인식하므로 성공합니다.[cite: 1]
    • 그렇지 않으면 POSIX_FADV_DONTNEED를 사용하여 손상된 페이지 캐시를 제거하고 시스템 무결성을 복원합니다.[cite: 1]

사전 요구 사항

  • OS: Linux(특히 이 Crypto API 동작에 취약한 버전).
  • 언어: Rust(Edition 2024).[cite: 3]
  • 의존성: libc 및 nix(fs, socket, zerocopy, user 기능 포함).[cite: 3]

사용법

빌드

root@kitploit:~
cargo build --release

실행

셸을 생성하지 않고 페이지 캐시 패칭 테스트:

root@kitploit:~
./target/release/cve-2026-31431

루트 셸로 권한 상승 시도:

root@kitploit:~
./target/release/cve-2026-31431 --shell

프로젝트 구조

  • main.rs: 공격을 조율하고, CLI 인수를 처리하며, 최종 셸 명령을 실행합니다.[cite: 1]
  • modules.rs: AF_ALG 소켓 조작 및 UID 오프셋 검색을 포함한 핵심 악용 로직을 포함합니다.[cite: 2]
  • Cargo.toml: 프로젝트 메타데이터와 외부 크레이트 의존성을 정의합니다.[cite: 3]

기술 참조

  • 관련 파일: main.rs, modules.rs, Cargo.toml[cite: 1, 2, 3]
  • 주요 시스템 호출: socket, bind, sendmsg, splice, posix_fadvise.[cite: 1, 2]
도구 다운로드