FTZ level1 을 풀어보았다.
level1에 들어가 파일 목록을 살펴보니 hint가 떡하니 있다.
hint를 확인해 보니 level2 권한이 있는 파일을 찾으라 한다.
# SETUID가 설정되면 소유자가 아니더라도 실행할때 일시적으로 소유자의 권한으로 실행한다.
find 명령어를 사용할건데 setuid가 걸린 파일을 찾아야 하기 때문에
find / -user level2 -perm +6000 2> /dev/null
명령어를 입력한다.
# -user level2 => level2 또는 level1의 권한이 있는 파일 찾기
-perm +6000 => setuid 또는 setgid가 걸린 파일 찾기
2> dev/null => 표준에러(2) 를 쓰레기통(/dev/null)에 넣기
ExecuteMe라는 파일이 정확히 어떤 파일인지 확인하기 위해 bin 디렉토리로 이동해 알아보았다.
# -rwsr-x--- => SUID가 설정되어있기 때문에 얘를 실행하면 파일의 소유자 권한으로 실행된다. (허가권)
-rwsr-x--- 1 level2 level1 => level1이라는 그룹이 이 파일을 소유하므로 level1을 풀고있는 우리도 실행시킬 수 있다.(소유권)
위의 상황으로 판단하기에 우리는 이 파일을 실행시킬 수 있다. 실행해 보겠다.
my-pass 와 chmod 를 제외하라고 했기 때문에 bash 명령어로 level2의 권한을 획득한다.
그리고 FTZ에서만 통하는 my-pass 명령어를 사용하여 level2의 password를 알아낸다.
level2 암호 : hacker or cracker
'[Pwnable] 해커스쿨 FTZ' 카테고리의 다른 글
[해커스쿨 FTZ] Level6 (0) | 2020.03.02 |
---|---|
[해커스쿨 FTZ] level5 (0) | 2020.03.02 |
[해커스쿨 FTZ] Level4 (0) | 2020.03.02 |
[해커스쿨 FTZ] Level3 (0) | 2020.02.29 |
[해커스쿨 FTZ] level2 (0) | 2020.02.18 |