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

 

ID : level2

PW : hacker or cracker

 

level2의 hint 파일을 읽으면 [그림 1]과 같이 나오게 됩니다.

[그림 1] level2 cat hint 실행 화면


'텍스트 파일 편집 중 쉘의 명령얼 실행시킬 수 있다.'라는 힌트를 볼 수 있습니다.

쉘 명령을 실행할 수 있다는 것은, level3로 쉘을 실행시킬 수 있는 프로그램이 있다는 것을 짐작할 수 있습니다.

그렇다면 여기서 level1과 마찬가지로 find명령어를 이용하여 level3의 파일을 찾아보도록 합시다.

find 명령어는 [그림 2]와 같습니다.

[그림 2] find 명령어 사용


[그림 2]를 살펴보면 찾아낸 프로그램은 /usr/bin이라는 경로에 있으며 프로그램 이름은 editor입니다.

이제 찾아내 프로그램의 정보를 살펴봅시다.

/usr/bin/editor의 프로그램은 level3의 권한으로 setuid가 설정되어 있음을 볼 수 있습니다.


editor 프로그램을 실행시킨 화면은 [그림 3]과 같습니다.

실행된 화면이 리눅스 내의 프로그램인 vi editor와 비슷한 모습을 보이고 있는 것을 알 수 있습니다.

vi editor의 옵션을 살펴보도록 합시다.


vi 옵션 참고 URLhttp://comefeel.com/tt/comefeel/entry/


vi에서는 ! 를 이용하여 쉘 명령어를 실행시킬 수 있습니다.


명령어 예시

내용

 :!ls -l

 ls -l 명령어가 실행되어 결과값을 화면에 보여줌 

 :r!ls -l 

 ls -l 명령어가 실행되어 에디터에 결과값을 작성해줌 

 :e! [filename]

 새로운 파일을 편집함 

[그림 3] editor 프로그램 화면


이제 vi의 옵션을 통해 쉘 명령어를 실행시켜보도록 합시다.

우리가 실행시킬 명령어는 level3의 권한을 가져오기 위한 bash 명령어 입니다.

[그림 4] level3의 권한을 탈취


vi를 통해 실행된 bash는 level3의 쉘을 실행시켜줍니다.



'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
level01_FTZ  (0) 2015.11.15
FTZ - hackerschool Local Setting  (0) 2015.08.04

+ Recent posts