티스토리 뷰

HackerSchool FTZ WARGAME Solution

 

Start : 15.07.03

 

LEVEL2

 

[그림 1]

 

level2 계정의 hint 를 열어보면 텍스트 파일 편집기를 일단 찾아야 하는 것을 알 수 있으며, 텍스트 파일 편집기 중 다음 계정으로 상승해야하므로 setuid 가 걸린 파일을 찾아야 한다.

[그림 2]

 

find 명령어를 이용해 setuid 가 걸린 파일을 찾아 보면 [그림 2]와 같이 출력되는데 그 중 '/usr/bin/editor' 라는 파일이 눈에 띈다.

 

[그림 3]

ls –al 명령어로 해당 파일을 열어 보면 소유자가 level3 인걸 확인할 수 있다.

 

[그림 4]

 

해당 파일을 실행시켜보면 [그림 4]와 같이 vim 프로그램이 실행되는 것을 확인할 수 있다. hint 를 다시 보면 편집기에서 쉘 명령어를 실행 할 수 있다는 내용이 나와 있다. vim 의 명령 모드에서 콜론(:) 을 입력하면 여러 가지 vim 명령어를 쓸 수 있고, 느낌표(!) 를 입력하고 쉘 명령어를 입력하면 vim 에서 리눅스 쉘 명령어가 실행 된다.

 

vim의 이러한 기능을 이용해서 다음 계정으로 권한을 상승하는 방법을 생각해 보면 현재 level3 의 권한으로 vim 이 실행되고 있기 때문에 여기서 쉘 명령어를 입력하면 level3의 권한으로 명령어들이 실행 된다. 그러므로 my-pass나 /bin/bash 를 실행 시켜서 level3 권한으로 상승하는 방법이 있다.

[그림 5]

 

[그림 5] 와 같이 명령어를 입력하면 level3의 권한으로 쉘이 실행될 것을 예상할 수 있다.

 

[그림 6]

 

그럼 [그림 6]과 같이 level3 권한의 쉘이 실행된 것을 확인할 수 있다.

gid는 level2 로 나오는데 이는 vim이 소유자는 level3지만 그룹은 level2로 설정 되어있어서 그렇다. 따라서 my-pass 명령어를 실행 해서 패스워드를 확인한 후, 다시 level3에 접속하면 된다.

신고
댓글
댓글쓰기 폼