cgy12306

Windows 10 SMEP(Supervisor Mode Execution Protection) bypass 본문

Windows/WinPwn

Windows 10 SMEP(Supervisor Mode Execution Protection) bypass

cgy12306 2020. 12. 28. 21:54

cr4 레지스터 : 프로세서에서 지원하는 각종 확장 기능을 제어하는 레지스터입니다. 페이지 크기 확장 또는 메모리 영역 확장 기능을 활성화 시킵니다.

이 cr4 레지스터의 20번째 bit는 SMEP에 해당합니다.

SMEP(Supervisor Mode Execution Protection)은 ring 0(높은 권한)에서 ring 3(낮은 권한)의 코드 실행을 방지하기 위한 보호 기법입니다.

이 bit를 해제를 하게 되면 SMEP이 해제되어 virtualalloc으로 할당한 메모리에 쉘 코드를 삽입하고, rip를 조작하여 할당된 메모리를 가리켜 쉘 코드를 실행시키면 정상적으로 쉘 코드가 실행되는 것을 확인할 수 있습니다.

cr4 &=0x6fffff;

 

* intel i3, i5, i7에서 된다고는 하지만 현재까지 실험해본 결과 i5에서는 되지 않고, i7에서는 되었습니다.

Comments