메뉴 닫기

[FTZ] hackerschool level1

hackerschool에서 배포하는 FTZ(Free Training Zone)는 서비스한지 오래되기도 했고 이미 문제풀이도 많이 나와있지만 스스로 복습도 할겸 다시 정리해보려고 한다.
현재는 FTZ 서비스가 접속이 안되는거같아서 이미지파일을 다운받아 로컬에서 진행할 예정이다.

Level1부터 차근차근 해보자..
계정정보는 아래와 같다.

ID:level1 / PW:level1

계정정보를 입력하고 로그인하면 아래처럼 level1의 홈디렉터리가 보이고 hint라는 파일이 보인다. 기억하기론 모든 과정은 hint파일로부터 시작한다.

힌트를 보면 level2 권한에 setuid가 걸린 파일을 찾으란다
기본적으로 리눅스에서 파일을 찾는 명령어는 find 명령어이고 옵션을 추가해 필터링을 할 수 있다.

find / -user level2 -perm -4000 -ls

# 최상위 디렉터리에서 파일 소유자가 level2이고 권한에 Setuid가 포함된 파일을 찾아 리스팅하라는 명령어다
# user : 해당 유저가 소유한 파일을 검색
# perm : 해당 퍼미션(권한)으로 검색(-는 포함, -없으면 정확하게 일치)
  - 4000 : setuid
  - 2000 : setgid
  - 1000 : sticky bit

입력하면 위처럼 /bin/ExecuteMe 파일이 level2의 권한으로 setuid가 설정되어있는걸 확인할 수 있다.

/bin/Execute로 실행을 하니 레벨2의 권한으로 명령어를 실행해준단다.

my-pass는 현재 로그인한 계정에 패스워드를 보여주는 ftz 자체 명령어고 chmod는 파일,폴더의 권한을 변경하는 리눅스 명령어다

해당화면에서 명령어를 실행시켜주는 쉘을 아무거나 입력하면된다(bash, sh 등등)

그럼 위의 그림처럼 level2 권한이 부여된다.

그상태에서 my-pass 입력하면 level2의 패스워드가 보여진다.

0 0 votes
Article Rating
구독
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x