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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2025-21333 — CVE-2025-21333에 대한 개념 증명 익스플로잇으로, Hyper-V의 vkrnlintvsp.sys에서 힙 기반 버퍼 오버플로우가 발생하여 I/O Ring 및 토큰 교체를 통해 로컬 권한 상승으로 이어집니다. | Kitploit
도구/GitHubGitHub/uname1able/cve-2025-21333
Privilege EscalationMemory ForensicsVulnerability AnalysisExploitationLearning & EducationBinary ExploitationLabs & Practice
GitHubuname1able/cve-2025-21333

CVE-2025-21333

CVE-2025-21333에 대한 개념 증명 익스플로잇으로, Hyper-V의 vkrnlintvsp.sys에서 힙 기반 버퍼 오버플로우가 발생하여 I/O Ring 및 토큰 교체를 통해 로컬 권한 상승으로 이어집니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-21333

Hyper-V NT Kernel Integration VSP(vkrnlintvsp.sys)Paged Pool 힙 오버플로 → 로컬 권한 상승(LPE)。
본 디렉토리는 lab용 PoC 소스 코드(MrAle98/CVE-2025-21333-POC 기반, 로컬 패치 포함)。


1. 취약점 요약

항목내용
CVECVE-2025-21333
유형Heap-based Buffer Overflow
영향로컬 권한 상승(EoP);야생 이용 표시됨
구성 요소vkrnlintvsp.sys
취약 함수VkiRootAdjustSecurityDescriptorForVmwp
Pool TagViRo
패치2025-01-14;Win11 23H2는 ≥22631.4751(KB5050021) 필요

근본 원인

VkiRootAdjustSecurityDescriptorForVmwp에서:

  1. WORD로 할당 길이 계산:AclSize + sid1 + sid2 + 16
  2. AclSize = 0xfff0일 때 합계 0x10040 → 0x40으로 절단
  3. ExAllocatePool2(..., 0x40, 'ViRo')
  4. memmove(pool, dacl, AclSize)는 여전히 전체 0xfff0 복사

핵심 부등식:allocatedBytes(0x40) < accessEnd(0xfff0)。

KD 동적 확인:

  • ExAllocatePool2 → @rdx = 0x40
  • memmove → @r8 = 0xfff0

트리거 경로

Windows Sandbox(및 Nested Virtualization)를 활성화해야 관련 syscall이 vkrnlintvsp.sys로 들어감:

root@kitploit:~
PoC → NtCreateCrossVmEvent
    → VkiRootCalloutCreateEvent
    → VkiRootAdjustSecurityDescriptorForVmwp

2. 재현 시스템 버전

항목값
Guest OSWindows 11 23H2

패치 적용된 23H2(≥ 22631.4751)재현 불가. Nested Virtualization + Windows Sandbox를 활성화해야 함.


3. 익스플로잇 체인(요약)

  1. Spray WNF_STATE_DATA
  2. Dual-ACE 구조로 AclSize=0xfff0 생성, 오버플로 트리거, 인접 WNF DataSize 확장
  3. 두 개의 홀 Free 후 재할당:IrRB(I/O Ring RegBuffers)+ NpAt(PipeAttribute)
  4. RegBuffers 중 하나 덮어쓰기 → 사용자 모드에서 가짜 IOP_MC_BUFFER_ENTRY
  5. IoRing Read/Write → 커널 임의 읽기/쓰기
  6. Token 교체 → PRIV_ESC_OK → 세션 바인딩에 표시되는 SYSTEM 셸

예상 레이아웃:0x30 IrRB + 0x80 NpAt(found1=1 && found2=1 필요)


4. 로컬 안정화 포인트(22631.3447)

상위 코드에서 생략할 수 없는 계약:

힙 스프레이 레이아웃은 비결정적이므로 권한 상승이 100% 보장되지 않음. 실패 시 재시도 가능.


5. 참고 링크

  • MSRC: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-21333
  • 업스트림 분석: https://medium.com/@ale18109800/cve-2025-21333-windows-heap-based-buffer-overflow-analysis-d1b597ae4bae
  • 업스트림 PoC: https://github.com/MrAle98/CVE-2025-21333-POC
  • I/O Ring 프리미티브: https://windows-internals.com/one-i-o-ring-to-rule-them-all-a-full-read-write-exploit-primitive-on-windows-11/
도구 다운로드
Guest build
10.0.22631.3447(< 4751, 재현 가능)
vkrnlintvsp.sys10.0.22621.2506;SHA256 015DD1211569B6F85CC0041269F249BA5935A3DA89B615B502DF59EAD5354BB8
주제포인트
Dual-ACE단일 ACE AceSize=0xf000는 SeCapture에 의해 약 0xf008로 변경됨 → 오버플로우 없음;이중 ACE로 커널 AclSize=0xfff0을 유지해야 함
반환 코드CrossVm이 STATUS_INVALID_ACL (0xC0000077)을 반환할 수 있어도 계속 WNF 스캔 필요
타이밍free CCC → Submit IoRing → Sleep(5000) → free DDD → pipe spray
SandboxIrRB/NpAt 확인 이후 WindowsSandboxClient 종료
ntos RVAExAllocatePool2=0xaac7a0, PsInitialSystemProcess=0xd1da60(3447에서 상위 오프셋은 system EPROCESS: 0을 반환함)
표시 셸CreateProcessAsUser + TokenSessionId + winsta0\Default → VISIBLE_SYSTEM_CMD_OK