Pwnable/FTZ

FTZ - level1 [SetUID]

Lucvs 2019. 11. 10. 02:25

LEVEL 1

 

[level1] passcode : level1 

(NO DRAG, NO PASSCODE)

 

 


우선 level1에 접속한 다음 숨겨진 파일을 포함하여 출력하도록 하자.

 

나머지 파일들을 모두 root 권한 이지만

public_html, tmp, hint 

에는 level1 에서도 쓰기 or 읽기 or 실행 권한이 있는 파일이 존재한다. 

 

우선 hint 파일을 살펴보도록 하자.

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

 

말 그대로 level2 권한에 SetUID가 걸려있는 파일을 찾으면 된다.

SetUID이 걸려있는 파일을 실행하게 되면 일시적으로 그 파일을 실행시키는 동안에는 root 권한을 얻게 된다.

 

find 명령어를 통하여 SetUID가 걸려있는 파일을 찾아보도록 하자.

 


2>/dev/null

/dev/null 은 블랙홀같은 존재이므로 여기에 전송된 데이터는 모두 버려진다(사라진다).

 

0 : 표준 입력

1 : 표준 출력

2 : 표준 에러

 

따라서 2>/dev/null 의 의미는 표준 입력을 /dev/null 로 redirection하라는 뜻이다.

(그냥 표준 오류를 블랙홀로 보내서 출력조차 안되게 한다는 것)


 

명령어를 쳐보니 딱 봐도 의심스러운 파일 하나가 나온다.

한번 저 파일을 실행시켜보자.

 

my-pass 가 막혀있다. 일단 level2의 권한을 갖고 있는 상태이므로 쉘로 이동하면 될 것 같다.

 

성공적으로 level2의 쉘을 땄다.

my-pass 명령어를 통하여 level2의 passcode도 알아내자.

 

[level2] : hacker or crakcer