ID: level1
Password: level1
find / -user level2 -perm -4000
위 명령어는 '모든 경로에서 level2 유저의 SetUID 권한이 걸린 파일을 찾는다'는 뜻이다.
-perm: 특정 권한과 일치하는 파일을 검색하는 옵션.
-4000: Permission을 나타내는 것으로, '-'는 '적어도'라는 뜻이고, '4'가 SetUID를 의미한다.
전부 Permission denied가 걸려있는데, 파일 이름만 달랑 있는 '/bin/ExecuteMe'가 눈에 띈다.
ls -al /bin/ExecuteMe
이 파일을 자세히 보면 SetUID 권한이 있고, user는 level2, group은 level1이다. group에 읽기, 쓰기 권한이 있으므로 해당 파일을 실행할 수 있다.
/bin/ExecuteMe
실행하면 위와 같은 화면이 뜨고, level2의 권한으로 명령어 하나를 실행할 수 있게 된다.
bash
/bin/bash
sh
/bin/sh
쉘 실행 명령어를 입력했더니 level2 권한을 획득했다.
my-pass
비밀번호 알아내기 성공!