Sqix

FTZ Level1 본문

Wargame/FTZ

FTZ Level1

Sqix_ow 2018. 6. 11. 23:06



Level 1번 문제를 풀기 위해 ssh로 진입합니다. 


ls 명령어를 이용해 어떤 파일이 있는지를 체크해 봅니다. hint가 있으니 hint를 보도록 합시다.





한글이 깨져서 나오는데, 인코딩 문제로 보여서 힌트는 따로 찾아보았습니다.


힌트는 다음과 같습니다.


level2 권한에 setuid가 걸린 파일을 찾는다.


처음에 삽질을 하다가 find의  -perm옵션을 이용한다면 손쉽게 찾을 수 있다는 것을 알아냈습니다. 


이에 대해서는 따로 정리를 해 두었습니다.


setuid는 특수 권한으로, root 권한에서만 접근할 수 있는 파일 혹은 커맨드에 대해서 일반 user가 사용할 수 있도록 하는 권한입니다.


이는 permission을 나타내는, 예를 들어 755와 같은 숫자들 앞에 특수 권한을 나타내는 비트를 추가하여 나타냅니다.


setuid는 4, setgid는 2, sticky bit는 1, default는 0이 붙습니다.


예시를 들자면, setuid가 걸리고, rwxr-xr-x인 권한을 가진 파일은 4755의 권한 넘버를 갖습니다.


즉, setuid 권한이 걸려있다는 것을 알기 때문에 -perm +4000의 옵션을 이용하여 검색을 하면 됩니다.


$ find / -perm +4000 -user level2




이렇게 많은 것들이 나타나는데, STDERR을 없애고 보면 편하기 때문에 2> /dev/null 옵션을 더해 줍시다.




ExecuteMe는 ELF 파일, 즉 실행 가능한 파일입니다. 우리는 저 ExecuteMe를 실행시키면 잠시 level2 권한을 얻을 수 있다는 것입니다.



역시 한글이 깨져서 나오기에 무엇을 의미하는지는 알 수 없었습니다.


하지만 명령어 창이 나오는 것 같기에 sh를 쳤더니 실제로 sh가 실행되어 level2 shell을 얻게 되었습니다.


my-pass라는 단어와 chmod 명령어가 있기에 my-pass를 쳐 보았더니, 비밀번호가 등장하였습니다.


아무래도 리눅스에서는 Shadow 파일을 보아야 하는데, 바로 레벨업을 할 수 있도록 커스텀 명령어를 만들어 놓은 것 같습니다.


'Wargame > FTZ' 카테고리의 다른 글

FTZ Level6  (0) 2018.06.12
FTZ Level5  (0) 2018.06.12
FTZ Level4  (0) 2018.06.12
FTZ Level3  (0) 2018.06.12
FTZ Level2  (0) 2018.06.11
Comments