[하루한줄] CVE-2020-1170 - Microsoft Windows Defender Elevation of Privilege Vulnerability

URL

Target

  • Windows Defender

Explain

Windows Defender는 두 가지 로그 파일, MpCmdRun.logMpSigStub.log를 사용하는데 이 둘 모두 C:\Windows\Temp에 저장합니다. 일반 유저 권한에서는 이 두 파일에 대한 Write 권한은 없지만 C:\Windows\Temp에 자유롭게 파일이나 디렉터리를 생성할 수 있습니다.

두 로그 파일 중 MpCmdRun.log 파일이 16MB보다 커지면, Windows Defender는 SYSTEM 권한으로 해당 파일의 이름을 MpCmdRum.log.bak으로 수정하고 같은 이름의 새로운 파일을 생성합니다. 하지만 MpCmdRun.log.bak이 존재하고 폴더라면, 폴더 안에 있는 파일들과 해당 폴더를 삭제하고 로그 파일을 생성합니다.

이 취약점을 트리거하기 위해서는 먼저 원하는 MpCmdRun.log.bak이라는 이름으로 삭제하고 싶은 폴더를 가리키는 Junction 폴더를 C:\Windows\Temp에 생성합니다. Update-MpSignature -UpdateSource InternalDefinitionUpdateServer 명령어를 40분 동안 무한반복 실행하여 MpCmdRun.log가 16MB보다 커지게 하면 취약점이 트리거 되어 원하는 폴더 및 그 아래 파일들을 지울 수 있습니다.