-
[FTZ]해커스쿨(HackerSchool) LEVEL2 풀이(Solution)미사용/##Security 2015. 7. 28. 14:41
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에 접속하면 된다.
'미사용 > ##Security' 카테고리의 다른 글
[FTZ]해커스쿨(HackerSchool) LEVEL4 풀이(Solution) (0) 2015.07.28 [FTZ]해커스쿨(HackerSchool) LEVEL3 풀이(Solution) (0) 2015.07.28 [FTZ]해커스쿨(HackerSchool) LEVEL1 풀이(Solution) (0) 2015.07.28 Flashplayer와 JAVA업데이트를 해주세요! (1) 2013.02.16 바이러스의 유입 경로 (2) 2013.01.30