해커스쿨 F.T.Z Level 2
level 1에서 bash를 입력 후 level 2문제를 풀고 있었다. 아이디를 보고 level 2의 권한을 얻은 줄 알았다.
그러나 권한 문제로 앞으로 나아갈 수가 없었다.
chmod를 사용하려 해도 권한에 걸렸고 usermod는 설치되어 있지도 않았다.
그래서 id를 실행시켰더니 UID만 level 2였고 나머지는 level 1에 머물러 있었다.
권한에 걸릴 수밖에 없는 구조에 머물러 있었다. level 1에 머물러 있지 말고 level 2에 로그인하기 바란다.
Level 2에 로그인 후 힌트 파일을 열어보고 무엇을 해야 할지 찾아본다.
level 1과 비슷할 것 같다는 생각 들었다.
level 1에서 level 2의 권한으로 되어 있고 level 1의 그룹 권한으로 실행할 수 있는 파일이 있었던 것을 생각하여 여기서도 find를 사용하여 level 3 권한에 level 2그룹으로 실행할 수 있는 파일을 찾으려 했다.
실행 결과 "/usr/bin/editor"라는 파일을 찾을 수 있었다.
editor 역시 level 1에서와 같은 설정의 파일이 있다. 실행시킨다.
실행시켰더니 Vi가 실행되었다. Vi는 텍스트 에디터다.
텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는 힌트가 여기서 사용된다.
결론은 더보기에 나와 있다.
여기서는 Vi 텍스트 에디터의 사용법이나 Vi 안에서 쉘을 실행하는 방법 등으로 구글링이 필요하다.
자세한 내용은 링크를 통해 남겨두었다.
즉, Vi 텍스트 에디터 안에서 쉘을 실행시키면 되는 것이다.
에디터를 실행한 화면에 '~'은 빈 줄을 의미한다.
:help 또는 F1을 눌러 help page에 들어가면 간단한 설명도 있다.
그중 명령모드를 사용할 것이다.

쉘을 실행할 수 있는 명령어는 :shell, :sh, :!bash를 찾을 수 있었다.
:shell, :sh, :!bash는 편집 상태를 그대로 두고 쉘을 실행한다. :bash는 오류가 난다.
"exit 후 엔터"를 입력하면 다시 에디터로 돌아간다. "Ctrl+d"를 입력해도 다시 돌아간다.
생활코딩에서 배운 백그라운드 실행으로도 쉘로 넘어갈 수 있다. 하지만 여기서 원하는 방법은 아니다.
백그라운드 실행이 아닌 :shell, :sh, :!bash로 실행했을 때 UID가 바뀐다.


:shell 입력 후 UID가 바뀐 것을 확인할 수 있다.
UID가 바뀌었으니 my-pass를 입력하면 level 3 비밀번호를 알 수 있다.