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 옵션 참고 URL : http://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 |