[하루한줄] CVE-2020-16939: Windows Group Policy DACL overwrite를 이용한 권한 상승

URL

CVE-2020-16939: WINDOWS GROUP POLICY DACL OVERWRITE PRIVILEGE ESCALATION

Target

  • Windows

Explain

해당 취약점은 그룹 정책 업데이트 실행 중에 수행되는 SetSecurityFile을 악용하는 취약점입니다.

gpupdate /target:user /force 실행 시 SetSecurityFile는 impersonation 없이 수행됩니다. 그룹 정책 업데이트가 실행된 후 %programdata%\Microsoft\GroupPolicy\Users\<SID>의 소유자는 Administrators가 되고 User 그룹은 읽기 및 실행 권한만 갖게 됩니다. 하지만 하위 디렉터리인 \Datastore\0\sysvol의 소유자는 User가 됩니다. 따라서 권한이 낮더라도 해당 폴더의 권한을 수정할 수 있습니다.

sysvol 디렉터리 아래에 권한을 수정할 디렉터리의 Junction을 생성한 후 그룹 정책 업데이트를 실행합니다. 해당 폴더와 폴더 내의 파일들은 모두 DACL Write의 대상이 되며 DACL Write 중 에러가 발생하면 수정한 권한이 부여됩니다. 에러가 발생하게 하는 방법 중 하나는 DACL Write가 완료되기 전에 oplock을 사용하여 juction을 삭제하는 것입니다.