
CVE-2026-25676에 대한 연구 및 개념 증명(PoC)으로, M-Track Duo HD 설치 프로그램의 DLL 검색 경로 하이재킹 취약점을 다루며, 근본 원인 분석, 탐지 기회, 그리고 통제된 테스트를 위한 무해한 PoC를 포함합니다.
이 저장소는 M-Track Duo HD 1.0.0 설치 프로그램에 영향을 미치는 DLL 검색 경로 하이재킹 취약점인 CVE-2026-25676과 관련된 초기 연구 및 개념 증명을 포함합니다.
이 프로젝트의 목표는 이 취약점 클래스와 관련된 근본 원인, 영향 및 탐지 기회를 문서화하는 것으로, 적대자 시뮬레이션, 방어적 가시성 및 보안 연구에 중점을 둡니다.
이 작업은 교육 및 방어적 보안 목적으로 작성되었습니다.
⸻
CVE-2026-25676은 통제되지 않은 검색 경로 요소(CWE-427)로 분류됩니다. 설치 프로그램은 안전하고 결정적인 해석 경로를 적용하지 않고 외부 라이브러리를 로드합니다. 그 결과, 제어 가능한 디렉터리에 배치된 악성 DLL이 권한 있는 프로세스에 의해 로드될 수 있습니다.
이는 다음을 초래할 수 있습니다:
이 취약점은 일반적으로 설치 프로그램 실행을 통한 사용자 상호 작용이 필요합니다.
⸻
DLL 검색 순서 하이재킹은 다음과 같은 이유로 현대 기업 환경에서 여전히 관련성이 있습니다:
이 기술은 MITRE ATT&CK에 매핑됩니다:
⸻
이 저장소는 다음을 목표로 합니다:
이는 무기화된 악용을 제공하기 위한 것이 아닙니다.
⸻
포함된 PoC는 설치 중에 악성 DLL이 로드될 수 있음을 입증합니다. 유해한 페이로드를 실행하는 대신, DLL은 코드 실행을 확인하기 위해 임시 디렉터리에 무해한 마커 파일을 생성합니다.
PoC는 다음을 수행합니다:
이 접근 방식은 통제된 환경에서 안전한 검증을 가능하게 합니다.
⸻
Windows는 라이브러리가 절대 경로 없이 참조될 때 검색 순서를 사용하여 DLL을 해석합니다. 순서에는 일반적으로 다음이 포함됩니다:
애플리케이션이 안전하지 않은 로드 함수(예: 기본 LoadLibrary 동작)를 사용하는 경우, 공격자는 해석에 영향을 미칠 수 있습니다.
일반적인 원인은 다음과 같습니다:
⸻
일반적인 공격 시나리오는 다음과 같습니다:
공격자의 목표는 권한 있는 컨텍스트에서 실행 권한을 얻는 것입니다.
⸻
방어자는 다음을 모니터링하여 이 클래스의 활동을 탐지할 수 있습니다:
관련 텔레메트리 소스는 다음과 같습니다:
⸻
권장 제어 사항:
⸻
향후 작업에는 다음이 포함될 수 있습니다:
⸻
이 저장소는 연구 및 방어적 보안을 위해 제공됩니다. 승인된 환경과 통제된 실험실 조건에서만 사용해야 합니다.
⸻
저자는 이 자료의 오용에 대해 책임을 지지 않습니다. 사용자는 법적 및 윤리적 준수를 보장할 책임이 있습니다.
⸻
이 PoC는 격리되고 승인된 테스트 환경에서만 실행하도록 설계되었습니다. 프로덕션 시스템에서 실행하지 마십시오.
PoC를 실행하기 전에 다음을 확인하십시오:
일회용 VM 스냅샷을 강력히 권장합니다.
깨끗한 작업 디렉터리를 만들고 취약한 설치 프로그램을 복사합니다.
예시:
C:\lab\cve-2026-25676\
설치 프로그램을 이 폴더에 배치합니다.
PoC 스크립트에는 base64로 인코딩된 포함된 DLL이 있습니다. 실행 전에:
이 DLL은 의도적으로 무해합니다. 코드 실행을 입증하기 위해 마커 파일만 생성합니다.
⸻
PoC를 실행합니다:
python poc_cve-2026-25676.py <path_to_installer> [dll_name]
예시:
python poc_cve-2026-25676.py M-Track_Duo_HD_1.0.0.exe version.dll
설치 프로그램에 권한 상승이 필요한 경우 UAC 프롬프트를 수락합니다.
취약점이 성공적으로 트리거되면 악성 DLL이 설치 프로세스 중에 로드됩니다. PoC는 마커 파일을 생성합니다:
%TEMP%\poc_cve-2026-25676.txt
이 파일의 존재는 설치 프로그램의 컨텍스트에서 코드 실행이 발생했음을 확인합니다.
⸻
마커 파일이 생성되지 않은 경우 다음을 고려하십시오:
라이브러리 종속성에 대한 추가 분석이 필요할 수 있습니다.
⸻
스크립트는 생성된 DLL을 자동으로 제거하려고 시도합니다. 그러나 테스트 환경을 복원하려면 수동 정리를 권장합니다.
테스트 후 VM 스냅샷을 되돌리는 것이 가장 안전한 옵션입니다.