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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2024-21338-Exploit — CVE-2024-21338에 대한 개념 증명 익스플로잇, Lazarus 그룹이 0day로 사용한 Windows AppLocker 드라이버(appid.sys) 권한 상승 취약점. 조작된 IOCTL 요청 및 PreviousMode 조작을 통해 커널 읽기/쓰기를 달성합니다. | Kitploit
도구/GitHubGitHub/mistyfir/cve-2024-21338-exploit
Privilege EscalationVulnerability AnalysisExploitationPapers & ResearchLearning & EducationBinary Exploitation
GitHubmistyfir/cve-2024-21338-exploit

CVE-2024-21338-Exploit

CVE-2024-21338에 대한 개념 증명 익스플로잇, Lazarus 그룹이 0day로 사용한 Windows AppLocker 드라이버(appid.sys) 권한 상승 취약점. 조작된 IOCTL 요청 및 PreviousMode 조작을 통해 커널 읽기/쓰기를 달성합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2024-21338 익스플로잇

프로젝트 소개

이는 CVE-2024-21338에 대한 POC로, 이 취약점은 Windows AppLocker 드라이버(appid.sys)의 권한 상승 취약점으로, Lazarus 조직이 0day로 활용하여 Windows 로컬 권한 상승에 사용되었습니다.

취약점 배경

CVE-2024-21338은 2024년 2월 13일 Microsoft Patch Tuesday에서 공개된 권한 상승 취약점으로, Lazarus 해커 조직이 커널 액세스 권한을 획득하여 FudModule 루트킷을 배포하는 데 악용했습니다.

이 취약점은 appid.sys 드라이버의 0x22A018 제어 코드에 존재하며, 공격자는 특수하게 조작된 IOCTL 요청을 전송하여 취약점을 트리거하고, 임의 콜백 호출을 수행하여 최종적으로 커널 읽기/쓰기 권한을 얻을 수 있습니다.

취약점 원리

취약점 위치

alt text

이 취약점은 appid.sys 드라이버의 AppHashComputeImageHashInternal 함수에 있으며, AipDeviceIoControlDispatch가 0x22A018 요청을 처리할 때 PreviousMode를 올바르게 검사하지 않아 사용자 모드 프로세스가 커널 모드 콜백 함수를 트리거할 수 있습니다.

익스플로잇 과정

  1. Local Service 권한 획득: 이 취약점은 \\Device\\AppID 장치에 액세스하기 위해 Local Service 권한이 필요하므로, 도구는 먼저 Local Service 프로세스를 찾아 가장(impersonate)합니다.

  2. IOCTL 요청 구성: 도구는 제어 가능한 함수 포인터와 매개변수를 포함하는 특수하게 조작된 IOCTL 요청을 구성합니다.

  3. 취약점 트리거: IOCTL 요청을 전송하여 취약점을 트리거하고, 커널 내의 가젯(gadget) 함수를 호출하여 현재 스레드의 PreviousMode 필드를 사용자 모드에서 커널 모드로 수정합니다.

  4. 커널 읽기/쓰기 권한 획득: PreviousMode를 수정한 후, 사용자 모드 프로세스는 NtReadVirtualMemory 및 NtWriteVirtualMemory를 사용하여 임의의 커널 메모리를 읽고 쓸 수 있습니다.

프로젝트 구조

사용 방법

컴파일

Visual Studio 2026을 사용하여 이 프로젝트를 컴파일하며, Windows SDK 및 C++ 컴파일러 지원이 필요합니다.

실행

  1. 패치되지 않은 Windows 시스템(예: Windows 10 1709)에서 Application Identity 서비스를 활성화합니다.

  2. 관리자 권한으로 컴파일된 실행 파일을 실행합니다.

  3. 도구가 자동으로 Local Service 프로세스를 찾아 해당 프로세스를 가장(impersonate)합니다.

  4. 도구가 appid.sys 드라이버를 로드하고 IOCTL 요청을 구성하여 취약점을 트리거합니다.

  5. 취약점 트리거 성공 후, 도구는 수정할 커널 주소와 값을 입력하라는 메시지를 표시하여 커널 메모리 수정을 수행합니다.

면책 조항

이 프로젝트는 교육 및 연구 목적으로만 사용되며, 불법적인 용도로 사용할 수 없습니다.

참고 자료

  1. Windows AppLocker Driver Elevation of Privilege (CVE-2024-21338)

  2. Lazarus and the FudModule Rootkit: Beyond BYOVD with an Admin-to-Kernel Zero-Day

  3. Microsoft Security Advisory CVE-2024-21338

도구 다운로드
파일 이름기능 설명
main.cpp주 함수, 취약점 익스플로잇 흐름 제어 담당
CVE-2024-21338.h취약점 익스플로잇 관련 구조체 및 함수 선언
CVE-2024-21338.cpp취약점 익스플로잇의 전제 조건 구현 함수
export_func.h내보내기 함수 선언
gadget_search.cpp커널 가젯 검색 구현
Native.h네이티브 Native API 정의
PE.hPE 파일 처리 관련 유틸리티 함수