ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • |Lord Of Bufferoverflow| #2 gremlin - cobolt
    Wargame Site/BOF 2019. 5. 19. 14:34

     

     

     

     

    어느 사이, 그냥 쉘이 열리면 습관이 되버렸다. ㅎㅎ 

    우선 소스코드를 보도록 한다.

     

     

    우선 gremlin 에서 설명한 것처럼 bash2 를 키고, cp 를 통해 gremlin 권한의 cobola 파일을 만들도록 한다, (gdb 를 하기 위함)

     

    이전 문제와 별다를게 없어보인다. 같은 방식으로 접근해보자.

    buffer 와 SFP 를 "A" 로 가득채우고, RET 를 "BBBB", SHELLCODE 부분으로 쓰일 부분을 "CCCC" 로 채워보도록 한다.

     

     


     

    이번문제 부터는 'Core Dump Analysis' 를 통한 방법으로 문제를 풀어보려고 한다.

    Core 란 프로그램 실행 시 치명적인 오류가 자동으로 기록 되는 덤프를 말한다.

    따라서, EIP 가 "0x42424242" 를 실행 했을 때의 상황을 그대로 dump 해준다는 녀석이다.

     

    core dump 의 size 를 우선 확인 해주었다. ulimit -a 를 통해 core file size 를 확인할 수 있는데,

    이 값이 0 인 경우에는 core dump 가 생기지 않는다. 그냥 속시원히 c 옵션을 통해 unlimited 로 설정해주었다.

     

     


     

    그럼 cobola 의 인자로 다음과 같이 줘보자.

    다음 문구와 함께, core 파일이 생성된 것을 알 수 있다.

     

    core 파일을 분석할 때에는 gdb 에 c 옵션을 사용하여 분석한다.

     

    그럼, gdb -q ./cobola 를 차근차근 진행했을 때와 같은 상황이 펼쳐진다.

    이 상태에서 BBBB 가 위치하는 곳과 CCCC 가 위치하는 곳을 적절히 조절한다면 문제를 해결할 수 있을 것이다.

     

    BBBB 를 0xbffffcb0 로 설정하고, CCCC 자리에 Shell code 를 삽입하도록 한다.

    " \x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x89\xc2\xb0\x0b\xcd\x80 "

     

    이제 cobola 를 cobolt 로만 바꿔주면 Clear 하게 Clear 할 수 있다.

     

     

    " hacking exposed " 라는 비밀번호가 출력되었다. 빠르게 다음 단계로 가보자~

    'Wargame Site > BOF' 카테고리의 다른 글

    |Lord Of Bufferoverflow| #4 goblin - orc  (0) 2019.05.19
    |Lord Of Bufferoverflow| #3 cobolt - goblin  (0) 2019.05.19
    |Lord Of Bufferoverflow| #1 gate - gremlin  (0) 2019.05.18
    BOF ASLR  (0) 2019.04.24
    BOF 들어가기 앞서  (0) 2019.04.24

    댓글

Designed by Tistory.