level1의 ID와 PW는 아래와 같습니다.

 

ID : level1

PW : level1


 

로그인을 하면 아래와 같은 권한으로 들어가집니다.

ls -l 명령어를 사용해보면 hint라는 파일 1개, public_html, tmp라는 디렉토리 2개가 보입니다.


cat hint 명령을 사용하여 hint 파일의 내용을 확인해보면 다음과 같은 힌트가 주어집니다.

힌트의 내용은 [그림 1]과 같습니다.

즉, level2라는 사용자가 자신의 파일 중 setuid를 걸어놓은 것이 있는지 찾아보는 것을 의미합니다.

[그림 1] level1의 hint 파일


level2라는 유저가 setuid를 설정한 파일을 찾는 명령어는 [그림 2]와 같습니다.

 명령어 or 옵션

내용 

find

 파일 혹은 디렉토리를 찾는 명령어

/

 '/'라는 디렉토리(최상위 디렉토리)에서부터 검색을 시작한다는 것을 의미

 -user level2

 사용자는 level2라는 것을 지정하는 옵션 

-perm +4000

 권한은 +4000 즉, setuid가 설정되어 있는 파일을 지정하는 옵션 

 2>/dev/null

 /dev/null은 리눅스의 휴지통과 같은 의미로, error(2)이면 휴지통으로 보냄 


[그림 2] level2라는 유저가 setuid를 설정한 파일을 찾는 명령어 및 파일


/bin/ExecuteMe를 실행시키면 다음 [그림 3]과 같은 내용이 나옵니다.

[그림 3] /bin/ExecuteMe 실행화면


이 파일은 level2권한으로 원하는 명령어를 실행시킬 수 있도록 해주는 프로그램입니다.

단, my-pass와 chmod는 사용할 수 없게 외어 있습니다.

여기서 실행할 명령어를 신중하게 골라야 합니다.

[그림 4] bash 명령어를 실행하여 level2 권한을 유지함


[그림 4]와 같이 bash명령어를 실행하여 level2권한을 실행시킬 수 있음을 숙지해둡시다.


my-pass의 명령어를 실행시켜보면 패스워드가 나옵니다.


PS. vi명령어로도 해봅시다.

'WARGAMES > FTZ' 카테고리의 다른 글

level08_FTZ  (0) 2016.01.07
level07_FTZ  (0) 2016.01.07
level06_FTZ  (0) 2016.01.07
level05_FTZ  (0) 2015.11.27
level04_FTZ  (0) 2015.11.26
level03_FTZ  (0) 2015.11.20
level02_FTZ  (0) 2015.11.15
FTZ - hackerschool Local Setting  (0) 2015.08.04

+ Recent posts