[3주] 05장 - 윈도우 DEP우회

Posted by dw0rdptr
2015. 1. 26. 09:18 Study/파이썬 해킹 프로그래밍

마이크로소프트 윈도우에는 힘과 스택같은 메모리 영역에 있는 코드가 실행되는것을 방지하기 위해

DEP이라는 보안기능이 있다.

NtSetInformationProcess 함수로 DEP을 우회할 수 있다.

스택에 존재하는 파라미터를 이용해 NtSetInformationProcess(-1,0x22,0x2,0x4) 로 호출하면

현재 프로세스에 대한 DEP설정을 비활성화시킨다. 


이를위해서 세가지 주소가 필요한데

1. AL레지스터의 값을 1로 설정하고 리턴하는 주소

2. DEP를 비활성화시키는 코드가 존재하는 곳의 주소

3. 리턴하면서 셸코드의 시작 부분을 실행시킬 수 있는 주소


이 주소를 찾아주는 findantidep.py 스크립트가 이미 있고 공격 코드 문자열을 제공해

찾은 주소에 대한 오프셋 계산을 따로 할 필요가 없다. 따라서 단순히 공격코드문자열을 복사해 사용하기만 하면된다.



스크립트를 실행한 후 로그