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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2023-20573-poc — CVE-2023-20573을 시연하는 개념 증명: AMD SEV-SNP의 하드웨어 취약점으로, KVM에서 예외 재주입 억제를 허용하여 명령 수준 악용을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/freax13/cve-2023-20573-poc
Vulnerability AnalysisExploitationFuzzingHardware SecurityBinary Exploitation
GitHubfreax13/cve-2023-20573-poc

cve-2023-20573-poc

CVE-2023-20573을 시연하는 개념 증명: AMD SEV-SNP의 하드웨어 취약점으로, KVM에서 예외 재주입 억제를 허용하여 명령 수준 악용을 가능하게 합니다.

저장소 보기
632년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

PoC 사용법

이 저장소는 사용자 정의 커널로 SEV-SNP 게스트를 부팅하는 VMM을 포함합니다. VMM과 커널은 제 프로젝트의 축소 버전입니다. 호스트에서 실행하려면 수정된 Linux 커널이 필요합니다: https://github.com/Freax13/linux/tree/for-amd.

이 PoC는 다음과 같이 실행할 수 있습니다:

root@kitploit:~
cd host
cargo run -p vmm

설명

이 코드는 두 명령어 사이를 오가며 점프합니다:

root@kitploit:~
2:
    nop
    jmp 2b

FLAGS 레지스터에서 TF 플래그가 설정되면 명령어 포인터가 두 명령어를 번갈아 가리키는 예외가 생성되어야 합니다.

게스트 커널은 인터럽트 스택 프레임에서 보고된 명령어 포인터를 단순히 기록하는 예외 핸들러를 정의합니다. 이론적으로 로그는 다음과 같아야 합니다:

root@kitploit:~
...
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
...

하지만 실제로는 수정된 호스트 커널이 재주입을 억제하여 다음과 같은 로그가 나타납니다:

root@kitploit:~
...
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:53] last instruction was also nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:59] last instruction was also jmp
[INFO  kernel/src/exception.rs:50] nop
[INFO  kernel/src/exception.rs:56] jmp
[INFO  kernel/src/exception.rs:50] nop
...

억제된 이벤트는 호스트 커널 로그에 표시됩니다:

root@kitploit:~
...
[798678.660473] kvm_amd: exit_int_info=80000301 exit_info_1=500000004 exit_info_2=180000000 exit_code=400
[798678.678645] kvm_amd: exit_int_info=80000301 exit_info_1=500000004 exit_info_2=180000000 exit_code=400
[798678.680906] kvm_amd: exit_int_info=80000301 exit_info_1=500000004 exit_info_2=180000000 exit_code=400
[798678.683491] kvm_amd: exit_int_info=80000301 exit_info_1=500000004 exit_info_2=180000000 exit_code=400
[798678.700844] kvm_amd: exit_int_info=80000301 exit_info_1=500000004 exit_info_2=180000000 exit_code=400
[798678.712970] kvm_amd: exit_int_info=80000301 exit_info_1=500000004 exit_info_2=180000000 exit_code=400
...

이는 #DB 예외의 전달이 억제되었음을 보여줍니다.

도구 다운로드