꿈을꾸는 파랑새

반응형

오늘은 마이크로소프트 윈도우 디펜더(Windows Defender)를 무력화하는 제로데이 공격 코드(익스플로잇) 간단하게 분석을 해보는 시간을 가져 보겠습니다. 해당 익스플로잇은 지금 악용 중이라 난리도 아냐~
일단 해당 부분을 알고 가기 전에 배경부터 설명
해당 취약점은 나이트메어 이클립스 라는 가명의 보안 연구가가 2026년 4~5월 사이 윈도우 보안 취약점(YellowKey, UnDefend 등) 6개와 실제 공격 코드(익스플로잇)
보안 연구가가 정상적인 절차로 취약점을 제보했으나 MS 측이 소통 거부, 보상금 지급 거절, 계정 차단으로 대응하자 이에 대한 보복으로 공개
유출된 코드가 실제 해킹에 악용되자 MS는 법적 대응을 예고 
MS의 불통이 원인이라는 보안 업계의 거센 비판에 부딪혀 결국 고발 방침을 철회
이에 따라 MS는 연구가의 깃허브(GitHub)와 깃랩(GitLab) 계정을 차단되고 난리가 난 상황이고 일단은 고발 조치는 철회돼 있고 해당 취약점은 윈도우 보안 업데이트 되기 전까지 마이크로소프트 윈도우 디펜더(Windows Defender) 사용을 하시는 분들은 조심해야 함

UnDefend 익스플로잇
UnDefend 익스플로잇

분석

UnDefend(CVE-2026-45498)는 Microsoft Defender 안티멀웨어 플랫폼에 영향을 미치는 제로데이 서비스 거부(DoS) 취약점
취약점을 악용하면 공격자는 실시간 보호 기능을 의도적으로 충돌시키거나 멈추게 하거나 비활성화할 수 있음
현재 취약점이 야생에서 활발하게 악용되고 있다는 보고가 올라오고 있음
작동 방식은 간단
UnDefend는 디렉터리 변경 알림을 사용하여 Windows Defender의 정의 업데이트 디렉터리와 Microsoft의 악성 소프트웨어 제거 도구 디렉터리를 감시
새롭거나 수정된 정의 파일이 나타나면 Defender가 사용하기 전에 해당 파일을 열고 잠금
백업 정의 파일( mpavbase.lkg 및 mpavbase.vdm )은 이러한 유예 기간조차 없이 시작 시 즉시 잠그는 역할
분석
1.wmain() 시작
프로그램은 먼저 전역 핸들 추적용 구조를 초기화
이후 Defender 레지스트리 키를 열기
그리고 ProductAppDataPath 값을 읽어들임
해당 값으로부터 Windows Defender 데이터 경로를 얻고 난뒤에 \Definition Updates 를 붙임
대략 감시 경로 다음과 같음
C:\ProgramData\Microsoft\Windows Defender\Definition Updates
환경에 따라 실제 경로는 달라 질수가 있음 코드 의도는 Windows Defender 정의 업데이트 디렉터리를 찾아 감시
2.백업 정의 파일 잠금 및 백업 구성
Backup\mpavbase.lkg
Backup\mpavbase.vdm
TryLockBackup() 호출
해당 함수는 NtCreateFile 로 두 파일을 열고 LockFileEx 로 전체 파일 범위에 독점 잠금을 시도
LOCKFILE_EXCLUSIVE_LOCK 부분은 다른 프로세스의 접근을 방해할 수 있는 부분
파일 핸들을 닫지 않고 유지하면 잠금도 계속 유지.
3.Windows Defender 서비스 감시 스레드 생성
메인 함수는 WDKillerThread 라는 스레드를 생성
실제로 Windows Defender 서비스를 종료하는 코드는 아니고 대신 WinDefend 서비스 상태를 감시하는 역할을 함
서비스가 중지되면 WDKillerCallback() 이 호출
4 MRT 감시 스레드 생성
다음으로, MRTWorkerThread 를 실행 C:\Windows\System32\MRT 하고 해당 부분을 감시
여기서 MRT는 Microsoft Malicious Software Removal Tool 사용을 하고 싶으며 윈도우+R 에서 mrt 치고 엔터 눌러 주면 사용 가능 다시 돌아와서 디렉터리에서 파일 크기 변경 이벤트가 발생하면 해당 파일을 열고 잠그려고 시도
5.Windows Defender 업데이트 디렉터리 감시

MRT
MRT

메인 스레드도 직접 Windows Defender 정의 업데이트 디렉터리를 감시
감시 조건은 FILE_NOTIFY_CHANGE_SIZE 이며 파일 크기가 바뀌면 이벤트가 발생하게 돼 있음
이벤트가 FILE_ACTION_MODIFIED 이면 새 스레드를 생성
Windows Defender 업데이트 과정에서 어떤 파일이 수정되면 프로그램이 즉시 해당 파일을 열고 잠금을 시도
일단 간단하게 분석한 것이고 대충 보면 다음과 같음
핵심 공격 대상
WinDefend:Windows Defender Antivirus 서비스명
HKLM\SOFTWARE\Microsoft\Windows Defender:Windows Defender 설정,데이터 경로 조회
ProductAppDataPath:Windows Defender 앱 데이터 경로
Definition Updates:Windows Defender 정의 업데이트 저장 경로
Backup\mpavbase.lkg:Windows Defender 백업 정의 관련 파일
Backup\mpavbase.vdm:Windows Defender 정의 데이터 관련 파일
Signature Updates\SignatureLocation:현재 시그니처 위치
C:\Windows\System32\MRT:Microsoft Malicious Software Removal Tool 경로
특히 mpavbase.vdm, mpavbase.lkg는 보안 제품 정의 데이터와 관련된 파일명 파일들을 장시간 잠그는 행위을 하고 있음
CVE-2026-45498이며 아무튼 이번 6월에 보안 업데이트가 적용이 될지 모르겠지만, 취약점을 해결한 패치가 나오기 전까지 항상 조심을 하는 것을 권장합니다.

공유하기

facebook twitter kakaoTalk kakaostory naver band