IT/Linux
[FTZ] Level 2: SUID가 걸린 vim에서 명령 실행
GRACE_MJ
2020. 8. 30. 00:37
level2로서 로그인을 한 후
저번과 마찬가지로 홈 디렉토리를 살펴보면 hint 파일이 존재합니다
이를 열어보면
텍스트 파일 편집 중에 쉘 명령을 실행시킬 수 있다고 합니다
여기서 의미하는 텍스트 파일 편집은 VI 편집기를 의미하고,
쉘 명령 실행은 vim 내에서 :! 를 통해 실행하는 명령을 의미하는 듯 합니다
이번에는 level3의 비밀번호를 알아내야 하므로
저번과 같이 level3의 권한에 SUID가 설정되어 있는 파일을 찾아보도록 하겠습니다
찾아보니 /usr/bin/editor 라는 파일에 level3의 SUID가 설정되어 있고
자세히 권한을 살펴보니, level2로서 읽고 실행이 가능한 실행파일이었습니다
실행시켜보니 VI 편집기가 실행되었습니다
이 vim은 level3의 SetUID가 설정되어 있는채로 실행되었기 때문에 현재 우리는 level3의 권한을 갖고 있습니다
즉, 이 상태에서
:!my-pass
위와 같이 vim 내에서 명령을 실행한다면
level3의 비밀번호를 알아낼 수 있습니다
그렇게 성공적으로 level3의 패스워드를 알아냈습니다