WAR GAME/FTZ

[FTZ] level1 풀이

jir4vvit 2019. 9. 7. 17:43

 

트레이닝을 겨우 마쳤다.

트레이닝에서 배운 것을 바탕으로 이제 level1을 풀어보도록 하겠다!

 

 

[그림1]

일단 현재 위치의 파일들을 알려주는 ls-al 명령어를 입력해보았다.

저기 hint가 보인다!

 

 

 

 

[그림2]

hint 파일을 읽어들이기 위해서 cat명령을 사용하였다.

역시 trainer10에서 배웠듯이 level2권한에 SetUID가 걸린 파일을 찾아서 level2권한을 얻어 패스워드를 알아내면 문제가 쉽게 풀릴 것 같다.

 

 

 

 

[그림3]

저기 쓴 명령어를 해석해보면 "level2유저의 권한으로 SetUID가 걸린 파일을 찾아라!"가 된다.

명령어를 수행하고 밑에 찾은 것들을 보니 대부분 Permission denied(접근 금지)가 뜬다.

당황하지 않고 밑으로 스크롤을 내려보았다.

 

 

* 여기서 Permisson denied을 제외하고 파일을 찾을 수 있는 방법을 찾았다.

...더보기

에러가 발생하면 그 결과를 휴지통으로 넣어주는 2> /dev/null을 사용하면 된다고 한다.

2는 표준에러를 의미하며 /dev/null은 휴지통 같은 거다.

해석하면 "발생한 표준에러를 휴지통으로 보내라"가 된다.

find / -user level2 -perm -4000 2> /dev/null

 

 

 

[그림4]

저기 저 /bin/ExecuteMe가 보인다!

/bin으로 이동해서 ExecuteMe를 실행시키면 level2의 권한을 획득하게 될것이다.

 

 

 

 

 

[그림5]

/bin으로 이동해서...

 

 

 

[그림6]

저기 ExecuteMe파일을 찾았다.

-rwsr-x--- 이 부분을 보아하니 x 대신에 s가 적혀있다. SetUID가 걸린 파일이라는 뜻이다.

 

 

 

 

[그림7]

앗싸! 하며 ExecuteMe 파일을 실행시켰는데...

헉 패스워드를 쉽게 확인하는 my-pass 명령어와 권한을 변경할 때 사용하는 chmod는 실행을 못한다 ㅠㅠ

 

이 때 bash 명령어로 level2의 권한을 지속적으로 획득할 수 있다.

bash 명령어로 level2의 권한을 획득하고 my-pass 명령어를 실행하면 level2의 패스워드를 알 수 있지 않을까?

 

 

 

 

 

[그림8]

ㅋㅋ 맞았다.

level2의 패스워드는 "hacker or cracker"이다.

 

 

 

 

트레이닝에서 배운 것을 바탕으로 손쉽게 풀 수 있었다.

 

 

'WAR GAME > FTZ' 카테고리의 다른 글

[FTZ] level3 풀이  (0) 2019.12.01
[FTZ] level2 풀이  (0) 2019.09.08
[FTZ] Trainer 6~10 요약  (0) 2019.09.07
[FTZ] Trainer 1~5 요약  (0) 2019.09.01
[FTZ] 로컬서버 구축하기  (0) 2019.08.30