Security/Wargame

[ftz.hackerschool.org] Level 1

rootnix 2012. 9. 20. 21:27

안녕하세요.

오늘 부터 Hackerschool.org 의 워게임인 FTZ Level 을 함께 풀어보아요.

FTZ는 시스템 해킹 공부를 목적으로 두고 있습니다.


텔넷으로 [ ftz.hackerschool.org ] 에 접속하시면됩니다!

trainer 를 모두 종료 하셨다고 생각하고 Level 을 시작하겠습니다.


Level 1 로그인을 먼저 해줍니다!


로그인이 되면 Last login: ~~~ 

[level1@ftz level1]$

이런 문구가 뜨게됩니다.

먼저 홈 디렉토리에 무슨 파일들이 있는지 확인하겠습니다.



 [level1@ftz level1]$ ls -al

* ls 명령어는 List 를 뽑는 명령어로 Windows Dos 에서 dir 과 비슷합니다.

을 써주시면 이렇게 모든 파일들이 자세하게 표시됩니다.

워게임이니 만큼 hint 파일을 보면서 풀어야겠죠?

hint 파일에 뭐라고 써있는지 읽어보죠!




  [level1@ftz level1]$ cat hint

* cat 명령어는 파일내용을 읽는 명령어 입니다.


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


라는 문제네요!

아마 Trainer 를 거쳐오셨다면 find 에 대해 배우셨을겁니다!

find 는 파일을 찾는 탐색 명령어 입니다.

find 파일명 옵션

등으로 사용하는데요... 일단 우리가 주목해야 할건

level2 권한 을 가지고 있으면서 setuid 가 걸려있는 파일을 찾아야합니다.

그래서 찾아보겠습니다.



 [level1@ftz level1]$ find / -user level2 -perm -4000 2>/dev/null


이 명령어를 해석해보면, / 는 드라이브의 가장위폴더 에서 부터 찾을수 있습니다. ex) 윈도우의 C:\ 비슷한 개념...

-user level2 이 옵션은 level2 권한을 가졌는지 필터링합니다.

-perm -4000 이 옵션은 setuid를 가졌는지 필터링합니다.

그리고 2>/dev/null 이란건 꼭 안쓰셔도되는데요..

이걸 쓰시면 오류를 가진 결과는 출력하지않습니다.


/bin/ExcuteMe

라는 파일을 찾았습니다!

실행해봅시다!



 [level1@ftz level1]$ /bin/ExcuteMe


이런 화면을 보여주네요!

우리가 level2 의 권한은 획득 했습니다!

그런데 원하는 명령어를 한가지 실행시켜준다는데.... my-pass 는 안시켜준다고 하네요 치사하게...

우리가 level2 의 로그인 비밀번호를 알기위해서는 my-pass 라는 명령어를 사용해야하는데요...

그럼 우린 쉘을 실행하도록하죠.

sh 또는 bash 를 입력하시면 쉘을 획득할 수 있습니다.




쉘을 입력할 수 있는 권한을 얻었습니다.

sh-2.05b$ 라는 걸 주는데요... 어떤 명령어든 사용이 가능합니다.

우린 비밀번호를 알아야 하므로


 sh-2.05b$ my-pass


를 입력하면 비밀번호가 뜹니다!

수고하셨습니다.