Systemhacking/FTZ

[FTZ] level 1

レ(゚∀゚)ヘ=3 2021. 3. 25. 19:25
728x90

level 1

(비밀번호 : level1)

문제를 파악하기 위해 어떤 파일이 있는지 ls 을 해보았다.

사진과 같이 hint, public_html, tmp 가 나온다. 먼저 hint 파일의 내용을 보았다.

 

' cat hint ' 를 통해 hint 파일의 내용을 보니 ' level2 권한에 setuid가 걸린 파일을 찾는다. ' 라는 내용이 나왔다. setuid 파일을 찾아야한다.

앞 글 [FTZ] trainer6 ~ trainer10에서 setuid 파일을 찾는 방법을 배웠었다.

 

더보기

 

서버에서 setuid가 걸린 파일 찾는 법 

find / -perm -4000 : /에서 부터 적어도 SetUId가 걸린 파일을 찾겠다.

 

find 명령 옵션 

-user : user와 일치하는 파일을 찾는다

 

 

서버에서 level2 의 권한을 가진 setuid가 걸린 파일을 찾는 ' find / -perm - 4000 -user level2 ' 명령을 작성하였다.

굉장히 많은 파일이 나오는데, 대부분 Permission denied 가 나온다. 이것을 제외하고 권한이 있는 ( setuid ) 파일만 보고 싶다.

에러가 발생한 결과를 제외하는 옵션인 ' 2> /dev/null ' 을 사용하면 Permission denied 가 제외되고 결과가 나온다.

 

더보기

 

2> /dev/null

2 : 표준 에러

( 1 : 표준 출력 )

/dev/null : 윈도우의 휴지통

2> /dev/null : 표준 에러를 휴지통에 넣는다.

 

 

' 2> /dev/null ' 을 추가해서 명령을 입력하면 원하는 ' /bin/ExecuteMe ' 파일이 나온다.

원하는 setuid 파일이 맞는지 확인하기 위해 ' ls -al ' 을 해보았다.

 

일단 실행 부분에 ' s ' 가 들어가 있으니 setuid가 맞다. 

특히 user 의 실행 부분에 ' s ' 가 들어가 있으므로 /bin/ExecuteMe 파일을 실행하면 소유자 권한으로 실행이 된다.

즉, level1인 우리가 파일을 실행하면 level2의 권한으로 실행할 수 있다는 것이다.

 

위와 같이 ExecuteMe 파일을 실행시키면 문구와 함께 ' [level2@ftz level2]$ ' 가 뜬다.

 

level2의 암호를 확인할 수 있는 my-pass는 바로 작성할 수 없도록 되어있으므로 먼저 ' bash ' 를 실행시킨다.

 

' bash ' 를 실행시킨 후 ' my-pass ' 를 작성하면 level2 의 패스워드인 " hacker or cracker " 를 얻을 수 있었다.

 

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

[FTZ] level4  (0) 2021.03.30
[FTZ] level3  (0) 2021.03.25
[FTZ] level2  (0) 2021.03.25
[FTZ] trainer6 ~ trainer10  (0) 2021.03.25
[FTZ] trainer 1 ~ trainer 5  (0) 2021.03.18