IT 블로그 !!

해커스쿨 FTZ Level1 풀이 본문

Pwnable/FTZ

해커스쿨 FTZ Level1 풀이

IT_Try 2018. 8. 30. 23:32

안녕하세요 해커스쿨 FTZ문제풀이를 포스팅하려 합니다.

 

FTZ를 풀어보기 전에 FTZ trainer를 해보고 풀어보시는 것을 추천드립니다.

FTZ trainer는 기본적인 리눅스 명령어를 배우기 때문에 trainer를 하고 FTZ를 풀면 아무것도 모른상태에서 푸시는 것 보다 더 쉬울것이라고 생각됩니다.


준비물 : Vmware workstation

  Redhat linux 9.0

  Xshell   OR  Putty




위에서 말한 준비물을 다 준비 하시고 실행을 시키시면 이런 창이 뜨게 되는데요. 

Level1의 사용자 이름과 비번을 입력해야합니다.


Level1같은 경우는

ID : level1

Password : level1

위처럼 입력하게되면


이렇게 로그인이 됩니다.  이제 본격적으로 문제풀이에 들어가보겠습니다.



현재 디렉토리에 무슨 파일이 있는지 확인해봅시다.



현재 디렉토리내에 hint파일이 있다는 것을 알 수 있습니다.

hint파일에는 무슨 내용이 있는지 살펴봅시다.



hint파일을 열어보니

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

라고 되어있습니다.


level1디렉토리 내에 level2권한에 setuid가 걸린 파일이 있는 듯 합니다.



Setuid란 무엇일까요?

-------------------------------------------------------------------------------------------------------------------------------------------------

Setuid :  리눅스의 특수권한


일시적으로 자신의 ID를 변경하는 것을 이야기한다.

Setuid가 설정되어있는 파일을 실행할 때 일시적으로 파일 소유자의 권한을 얻어서 실행할 수 있도록 한다.


예를 들어 root권한으로 지정된 프로그램에 Setuid가 지정되어있으면 실행할 때 

root권한으로 실행하게 된다.

--------------------------------------------------------------------------------------------------------------------------------------------------


이제 level2 권한에 setuid가 걸린 파일을 찾아내면 되겠지요.

find 명령을 통해서 간단하게 찾아낼 수 있습니다.


Setuid가 걸린 파일이므로 -perm옵션과 -user옵션을 사용합니다.


-user level2 ==> level2 or level1의 권한


-perm -4000 ==> Setuid or Setgid가 걸린 파일찾기



2>/dev/null은 이전 ftz trainer에도 나오지 않았습니다.


2 : 표준 에러를 의미합니다.

> : 표준출력으로 나온 결과물을 화살표 방향으로 보낸다는 뜻입니다.

/dev/null : 휴지통을 의미합니다.


즉 2>/dev/null은 에러메세지들은 모두 출력하지 말아라 라는 뜻입니다.


이렇게 입력한 후 Enter를 누르면



/bin/ExecuteMe 가 뜹니다. cd 명령어를 통해 이동해 보도록 하자.



cd명령어로 /bin/ExecuteMe 로 이동하려 하니  디렉토리가 아니라고 합니다.

그렇다면 /bin폴더로 이동하고 ExecuteMe를 검색해보니 파일이 있다고 합니다.

이제 ./명령어로 파일을 실행해봅시다.



파일을 실행해보니 이러한 메세지가 뜹니다.


my-pass와 chmod를 제외하라고 합니다.

/bin/bash 쉘을 실행하면 my-pass가 사용 가능합니다.


이전까지는 level1@ftz level1이었는데

지금은       level2@ftz level2로 되어있습니다.

이제 my-pass를 치면 다음 leveld의 비밀번호를 알 수 있습니다.



level2 비번은 hacker of cracker 입니다.

이렇게 level1을 풀어보았는데요 그렇게 어렵지는 않았습니다.

다음에는 level2를 풀어보도록 하겠습니다.








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

FTZ 4번 풀이  (0) 2018.09.21
FTZ 3번 풀이  (0) 2018.09.21
해커스쿨 FTZ Level2 풀이  (0) 2018.08.31