[FTZ] Level 5

Dinah·2024년 8월 1일

ID: level5
Password: what is your name?

find / -user level6 -perm -4000


유저가 level6이고 SetUID 권한이 있는 파일을 검색해보니, Permission denied가 없는 파일이 하나 눈에 띄었다.

ls -al /usr/bin/level5


해당 파일을 자세히 보니까 유저 level6에 대해 읽기, 쓰기, SetUID 권한이 있고, 그룹 level5에 대해 실행 권한이 있는 것을 알 수 있었다.

/usr/bin/level5


현재 level5 권한으로도 실행을 할 수 있으니까 일단 실행해봤는데, 아무 일도 일어나지 않은 것처럼 보인다.

cat hint


힌트 파일을 보고 /usr/bin/level5 프로그램이 /tmp 디렉토리에 level5.tmp라는 임시 파일을 생성한다는 정보를 얻을 수 있었다.

cd /tmp


프로그램을 실행했으니 level5.tmp 파일이 생성되었는지 보려고 /tmp 디렉토리를 확인해봤는데 level5.tmp 파일은 없었다. 아마 프로그램 실행 시 생성됐다가 바로 사라지는 것이 아닐까 생각했다. 그럼 어떻게 하면 생성된 파일이 삭제되지 않게 잡아둘 수 있을까?
하나 떠오른 방법은 level5.tmp라는 이름의 파일을 미리 만들어놓는 것이다. 그럼 /usr/bin/level5 프로그램이 실행됐을 때 이미 생성되어 있는 level5.tmp 파일에 내용을 덮어씌우지 않을까 싶어서 한 번 해봤다.

vi level5.tmp


/tmp 경로에 level5.tmp 파일을 직접 만들었다.

/usr/bin/level5


프로그램을 다시 실행한 후, level5.tmp를 확인해보니 다음 단계의 비밀번호가 적혀 있다!

0개의 댓글