level2 풀이

level2로 로그인하면 마찬가지로 홈디렉터리에 hint파일이 있다.
힌트 파일을 열어보면 다음과 같이 알려준다
텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데..
텍스트 편집이라면 vim, nano, gedit, emacs 등 많다
근데 어차피 level3으로 가려면 setuid가 걸린 파일을 찾거나 암호가 있는 파일이 있어야하기때문에 level1에서 했던것처럼 find 명령어로 level3 권한의 setuid가 걸린 파일을 찾는다
find / -user level3 -perm -4000 -ls

그러면 /usr/bin/editor라는 setuid가 걸린 파일을 찾았다. 소유그룹은 level2이고 editor라는거 보니까 직감적으로 저 파일이 맞는거같다

/usr/bin/editor로 실행해보면 vim 편집기가 실행된다.
vim편집기는 리눅스 기본 편집기라서 많이 사용해보셨겠지만 일반적으로 esc+:를 입력하면 명령행으로 갈수 있고 i,a,o 이런걸 누르면 수정이 가능하다. 자세한 단축키나 설명은 구글에 찾아보면된다.
vim 편집기의 기능중 :! 을 입력하면 외부명령이 실행가능한데 이를 이용해서 쉘이나 my-pass 명령어를 실행하면된다

끝