티스토리 뷰
먼저 ls를 눌러 들어있는 파일과 디렉토리를 봅니다.
보시면 hint라는 파일이 있습니다.
hint볼 수 있는지 한번 권한을 보도록 하겠습니다.
ls -al hint를 입력하여 보시면 아더 부분에 r--로 읽기 권한이 있습니다.
cat hint로 hint를 열어보니
"level2 권한에 setuid가 걸린 파일을 찾는다."
여기서 setuid는 ftz training에서 배웠듯이
자신의 아이디를 root의 권한으로 잠시 바꾸고 다시 돌려주는 것으로 파일에 걸려있다고 했습니다.
여기서 찾는다고 하였으니 find 명령어를 한번 사용해 보도록 하겠습니다.
find / -user level2 -perm -4000을 입력합니다.
여기서 -user level2는 -user옵션으로 level2가 유져인 파일을 찾는 것이고
-perm -4000은 -perm옵션으로 4000앞에 -가 붙어
적어도 4000인 권한을 찾는 것입니다.
하지만, 이렇게 입력을 하면 밑에 Permission denied라고 여러 개들이 출력됩니다.
이것을 없애기 위해서는
뒤에 2>/dev/null을 붙여주면 Permission denied들이 없어진 것을 볼 수 있습니다.
그리고 /bin/ExecuteMe라는 것이 떴습니다.
그럼 한번 bin디렉토리로 들어가 볼까요?
cd /bin을 입력하여 bin으로 들어가서
./ExecuteMe를 실행시킵니다.
그럼 이런 창이 뜨게 되는데 my-pass는 쓸수 없다고 나옵니다.
그럼 level2에 있는 /bin/bash 폴더로 들어가면 my-pass가 되므로 입력합니다.
그리고 my-pass를 입력하면
level2의 password가 뜨게 됩니다!
