BOF/ ftz-level04

 

FTZ란 Free Training Zone의 약자로 hackerschool에서 배포하는 워게임입니다.
총 20문제로 구성되어 있으며 각 문제를 격파하여 다음 레벨의 패스워드를 얻는 형식입니다.
문제를 격파하고 다음 레벨의 bash를 획득하였다면 my-pass로 패스워드를 확인할 수 있습니다.

사용 linux 명령어
ls - 파일 내역 출력
cat - 파일 내용 확인
pwd - 현재 경로 확인
gcc - gcc컴파일러로 컴파일하도록 하는 명령
vim - text editor
finger - 사용자 정보 출력

send me email if you have any questions.


FTZ Level 4

ID : level4
PASSWD : suck my brain

그림1
level4계정에 접속하여 hint를 확인한다.

그림2
실제로 backdoor파일이 있음을 확인할 수 있다.

그림3
backdoor 파일을 확인하여 finger명령이 service될 때 level5의 권한으로 /home/level4/tmp/backdoor가 실행됨을 확인할 수 있다.

그림4
해당 디렉터리로 이동하였지만 backdoor는 존재하지 않는다.
따라서 finger명령이 실행될 때 작동할 소스를 직접 작성해보자.

그림4
level5의 권한으로 실행되기 때문에 level5의 passwd를 얻어내도록 소스를 작성한다.

그림5
gcc 컴파일러로 컴파일하여 바이너리 파일을 생성한다.
-o옵션은 생성할 바이너리파일의 이름을 설정하는 옵션이고 옵션을 설정하지 않으면 a.out의 이름으로 생성된다.

그림6
finger 명령을 실행하면 /home/level4/tmp/backdoor가 실행되고 level5의 passwd를 획득한다.