Security&Hacking/시스템 해킹

해커스쿨 ftz level16 (macOS)

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

해커스쿨 ftz Level16

MacOS에서 푸는 해커스쿨 ftz 

해커스쿨 ftz level16 단계이다.

먼저 ftz서버를 실행한다.

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

 

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

명령어는 

ssh -c aes128-cbc level16@서버ip

라고 입력합니다.

Id: level16, pw: about to cause mass 로 로그인하여 파일을 확인하였다.

hint를 확인하니 shell함수와 printit함수, main함수가 보인다.

Main함수는 printit 함수의 주소를 호출하는데 이를 shell함수의 주소로 바꾸어주면 될 것 같다.

gdb를 통해 main함수를 확인했다.

20바이트의 buf20바이트의 dummy를 아무값으로 채운 후 call 부분을 shell 함수의 주소로 덮어주면 될 것 같다.

Printit 함수의 주소값은 0x08048500이다. 메인함수를 살펴보면 ebp에 값을 넣는것이 보인다.

Shell함수의 주소를 보니 0x080484d0임을 알 수 있다.

알아낸 주소를 포함하여

(python -c 'print "A"*40+"\xd0\x84\x04\x08"'; cat) | ./attackme

라고 입력을 해주었다. 입력을 받도록 나왔고 my-pass를 입력하니 level17의 패스워드가 나왔다.

 

 

끝.

반응형

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

해커스쿨 ftz level18 (macOS)  (0) 2020.01.19
해커스쿨 ftz level17 (macOS)  (0) 2020.01.19
해커스쿨 ftz level15 (macOS)  (0) 2020.01.19
해커스쿨 ftz level14 (macOS)  (0) 2020.01.19
해커스쿨 ftz level13 (macOS)  (0) 2020.01.19