해킹/Window
윈도우 포너블 2차
NextLine
2017. 8. 23. 02:19
Exploit writing tutorial part 2 : Stack Based Overflows – jumping to shellcode
1. findjmp
(kernel32.dll에서 원하는 레지스터가 포함된 opcode를 찾아냄 - findjmp [DLL] [register] )
http://g0n4k00.tistory.com/attachment/cfile2.uf@2353E93A5336FD9425130C.exe
2. jmp vs call?
이전 exploit에서 jmp esp를 call esp로 변경하여도 익스가 가능하다.
call은 stack에 돌아올 ret address를 push하고 eip를 변경하는 반면, jmp는 바로 eip를 변경한다.
exploit을 할 때에는 두개다 같다고 생각해도 무관할듯 하다.
3. pr / ppr / pppr
쉘코드가 있는 버퍼주소를 모를떄 pr, ppr, pppr을 이용하여 스택을 줄이고 쉘코드에 접근할 수 있다.
4. push esp; ret;
위 어셈블리를 이용하여 레지스터에 쉘코드 버퍼주소가 담겨져 있을때 익스할 수 있다.
5. jmp [esp+ 4]; ret;
3번과 마찬가지로 스택을 줄이고 쉘코드에 접근할 수 있다.