상세 컨텐츠

본문 제목

[TAMU 2018] pwn4

SYSTEM HACKING/CTF, etc

by koharin 2019. 8. 10. 23:11

본문

728x90
반응형

1. IDA로 pseudo code 확인

 

 

reduced_shell 에 메뉴가 있고, 각 메뉴에서 선택하면 해당 명령어를 실행한다.

gets 함수로 s 변수로 입력받는다. 이것으로 payload를 전달하면 될 듯하다.

 

 

pwn4 실행파일을 실행해보면 명령어 실행결과가 출력된다.

그리고 exit 또는 5를 입력하면 종료된다.

 

2. 보호기법 확인

 

 

NX 만 걸려있다. 따라서 stack에서 쉘코드 실행을 못할테니 RTL을 생각했다.

 

3. s 에서 return address 거리 

 

 

일단 IDA로 보면 ebp-1Ch을 했으므로 s의 크기는 0x1C = 28 바이트이다. 

reduced_shell 첫 번째 명령어에서 bp1, gets 함수 call 명령어에서 bp2를 잡아서 거리를 구해보자.

 

gets 함수 호출 전 push eax를 하므로 eax를 확인해보면 된다.

 

 

각 bp에서 구한 주소를 빼니 32 바이트가 나온다.

s(28) + SFP(4) + return address(4) 인 stack 구조를 가질 것이다.

 

4. system, exit, "/bin/sh" 주소

 

RTL 공격을 위해 system, exit, "/bin/sh" 주소를 구해보자.

이번에 IDA를 봤을 때 Hex View로 "/bin/sh"가 바로 눈에 들어와서 "/bin/sh" 주소는 구하기 쉬울 것 같다.

 

 

system 주소 : 0x8048430

exit 주소 : 0x8048440

"/bin/sh" 주소 : 0x804a038

 

5. payload

 

 

6. exploit

 

728x90
반응형

'SYSTEM HACKING > CTF, etc' 카테고리의 다른 글

[HITCON-Training] lab5 : simplerop  (0) 2019.08.15
[TAMU 2019] pwn2  (0) 2019.08.14
[TAMU 2019] pwn1  (0) 2019.08.14
[HITCON-Training] lab3 : ret2sc  (0) 2019.08.10
[TAMU 2018] pwn3  (0) 2019.08.10

관련글 더보기