GaGe

FTZ level1 본문

SISS (2017-2018)/FTZ

FTZ level1

Sorrel 2018. 1. 10. 23:59

level 1

 

 

 

 

 

 

FTZ를 들어가는 첫 화면입니다.

level1의 아이디와 비밀번호 모두 level1입니다.

 

 

 

 

아이디와 비밀번호를 쳐서 level1을 연 다음

일단 파일들과 디렉토리를 보기 위해 "ls -al" 명령어를 입력합니다.

보시는 것과 같이 많은 디렉토리와 파일들이 나옵니다.

 

오른쪽 문구를 쭉 보다 보면 hint라는 단어가 보입니다.

저 파일에 힌트가 있을 것 같습니다.

 

 

 

 

그래서 cat 명령어로 hint파일을 열어줍니다.

 

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

 

setuid는 트레이닝에서 공부했습니다.

일단 찾으라니 트레이닝에서 공부했던 찾기 방법으로 명령을 내려줍니다.

 

 

"find / -user level2 -perm -4000"라고 명령어를 치면 접근권한이 없어 오류 뜬 파일 전체가 쭉 뜹니다. 그것들은 어차피 우리가 건들 수 없으니 정리를 하겠습니다.

 

명령어 "2>/dev/null"는

2(오류가 난 파일들은) >(보내라) /dev/null(이란 장소에)

/dev/null이란 곳은 쓰레기통 쯤으로 쓰이나봅니다.

 

그렇게 찾았더니 "/bin/ExcuteMe"라고 뜹니다.

여기에 setuid가 있는 것이죠.

알게 되었으니 일단 열어봅시다.

 

"cd /bin/ExcuteMe"로 바로 열어보았습니다.

"Not a directory"라고 뜹니다.

 

디렉토리가 아니면 ExcuteMe는 파일인가봅니다.

 

 

그럼 열릴 수 있는 상위 디렉토리인 bin부터 실행해봅시다.

 

 

 

 

bin디렉토리는 가볍게 열립니다.

level1이라고 쓰여있는 자리에 bin이라고 바뀐 걸 보니

우리는 현재 저 위치에 있습니다.

 

저 상태에서 "ExcuteMe"를 입력합니다.

 

 

 

 

입력하면 이렇게 파일이 실행됩니다.

 

우리는 현재 level1에서 level2로 가는 패스워드를 알아내야 하는데

이 프로그램은 level2에서 명령을 한 번 내릴 수 있다고 합니다.

 

약간 이렇게 이해하시면 되는데

 

시험 전(level1)의 내가 시험 후(level2)나에게

"시험문제의 답을 알려줘"(my-pass)라고

한 번 질문하면 되는 것입니다.

 

하지만 조건이 my-pass와 chmod는 제외라고 했으니

바로 답을 물어보는 것은 불가능 한 것입니다.

 

따라서 시험 전의 저는 시험 후의 나에게

"시험문제가 뭐야?"라고

질문을 유도합니다.

 

 

따라서 우리는 my-pass를 바로 물어보지 않고

/bin/bash 디렉토리를 열어달라고 합니다.

 

 

/bin/bash로 가면 한 번이 아닌 지속적으로 level2의 권한을 얻게 됩니다.

그 상태에서 my-pass를 물어보는 것이죠.

 

 

 

이렇게 말이죠

 

 

 

 

그러면 level2의 권한이 계속 이어지게 되고

이 상태에서 my-pass를 물어봅니다.

 

 

 

 

그러면 level2가 기꺼이 패스워드를 전해줍니다.

 

 

끝났습니다.

공부하느라 수고하셨으니 잘생긴 얼굴 보고 가세요 이만 총총...(0_<)

 

 

'SISS (2017-2018) > FTZ' 카테고리의 다른 글

FTZ level 3  (0) 2018.01.21
FTZ level2  (0) 2018.01.11
Training 10  (0) 2018.01.08
Training 9  (0) 2018.01.08
Training 8  (0) 2018.01.08
Comments