ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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에 접속하면 된다.

    댓글

Designed by Tistory.