hackerschool 문제/FTZ

[Hackerschool FTZ] - level 1 문제(환경 설정 포함)

Roronoa 2022. 10. 2. 02:55
반응형

환경설정

[그림 1] 환경 설정

id : root, password : hackerschool 이다.

ifconfig로 ip를 확인한다.

 

[그림 2] putty로 접속

putty로 접속을 한 후 hint를 보니 한글이 깨진다.

 

[그림 3] 한글 설정

Window -> Translation -> Remote character set: 에서 Use font encoding을 사용한다.

 

[그림 4] 한글 설정 완료

한글이 이제 보인다. level1번 문제를 바로 풀어보도록 하자.

문제 풀이

[그림 5] 힌트 확인

아이디와 비밀번호는 level 1으로 동일하다.

hint를 보니 level2권한에 setuid로 설정된 파일을 찾는것이다.

 

[그림 6] find 명령어

setuid는 파일 실행 시 파일 소유자 권한으로 실행하는것을 말한다.
setuid로 파일을 설정하고 싶으면 권한설정을 4000번으로 하면 된다. ex) chmod 4777 [file_name]

find의 옵션인 -user옵션으로 level2로 user를 설정하였고 -perm 옵션으로 권한이 4000번을 포함하는 파일을 출력시키도록 하였다.

 

[그림 7] /bin/ExecuteMe 파일 확인

/bin/ExecuteMe 파일을 확인해보니 level1이 그룹사용자로 읽거나 실행할 수 있다.

 

[그림 8] file 명령어

file명령어로 해당 파일의 종류[타입]를 확인해보니 ELF 32비트인 실행 파일인것을 알 수있다.

해당파일을 한번 실행해보도록 하겠다.

 

[그림 9] /bin/ExecuteMe 파일 실행

파일을 실행하니 레벨 2의 권한으로 원하는 명령어를 실행시켜준다고 한다.

/bin/bash명령어를 실행하면 level2의 권한의 쉘이 실행되므로 level2로 접근할 수 있을것이다.

 

[그림 10] level2 bash쉘 실행

/bin/bash 쉘을 실행하여 level2에 접근을 하였다.

level2의 비밀번호를 알기위해 자체제작된 명령어인 my-pass명령어를 이용하면 level2의 비밀번호를 알 수 있다.

my-pass는 FTZ에서 자체적으로 만든 명령어이기 때문에 일반 리눅스에서는 사용이 안된다.

 

[그림 11] level2 비밀번호

level2 비밀번호 : hacker or cracker
반응형