사람마다 푸는 방식이 다를 수 있으니. 어려움에 있으실 때 참조만 하시고, 직접 풀어보시는 것 을 추천합니다.
level8 의 시작.
구동 환경 : Windows 7
서버 환경 : VMware WorkStation 10.0 Redhat9.0 hackerschool FTZ
사용 플램 : putty (퓨티)
login as : level8
password :
level7에서 끝냈을 때 받았던 비밀번호를 입력 해준 다음에 로그인 하면 된다.
그리고 여태까지 늘 힌트를 찾았던 ls -al 명령어를 실행
[level8@ftz level8]$ ls -al
total 80
drwxr-xr-x 4 root level8 4096 Jan 14 2010 .
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----- 1 root level8 109 Jan 14 2010 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 level8 4096 Feb 24 2002 public_html
drwxrwxr-x 2 root level8 4096 Jan 14 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
힌트는 위와 같이 나왔다.
Level9의 Shadow 파일이 서버 어딘가에 숨어있다고 한다.
그러나 그 파일의 이름은 알려주지 않고, 알려주는 것이라곤 용량이 2700이라는 뜻 뿐이다.
그렇다면 find 명령어로 파일의 용량(size)를 찾을 수 있는게 존재한다.
[level8@ftz level8]$ find / -size 2700c 2>/dev/null
/var/www/manual/ssl/ssl_intro_fig2.gif
/etc/rc.d/found.txt
/usr/share/man/man3/IO::Pipe.3pm.gz
/usr/share/man/man3/URI::data.3pm.gz
/usr/share/a2ps/encoding/ascii.edf
/usr/share/xmodmap/xmodmap.uk_x86
자, find 명령어를 알게되었다면,
이제 검색을 해보자.
[level8@ftz level8]$ find / -size 2700c 2>/dev/null
/var/www/manual/ssl/ssl_intro_fig2.gif
/etc/rc.d/found.txt
/usr/share/man/man3/IO::Pipe.3pm.gz
/usr/share/man/man3/URI::data.3pm.gz
/usr/share/a2ps/encoding/ascii.edf
/usr/share/xmodmap/xmodmap.uk_x86
find / -size 2700c
= find 명령어로 / 디텍토리에서 사이즈 2700 바이트를 검색한다.
검색을 해보니,
위와 같은 여러개 파일들이 나왔다.
.edf 파일도 존재하고 .gif 이미지 파일도 그리고 gzip 으로 압축된 파일들도 존재한다.
들여다보기 쉬운 것은 txt 파일인, found.txt 파일이다. cd 명령어로 이동 한 후에, cat 명령어로 봐보자.
[level8@ftz rc.d]$ ls -al
total 76
drwxr-xr-x 10 root root 4096 Sep 30 02:00 .
drwxr-xr-x 56 root root 4096 Sep 30 02:44 ..
-r--r----- 1 root level8 2700 Sep 30 02:00 found.txt
drwxr-xr-x 2 root root 4096 Sep 30 10:42 init.d
-rwxr-xr-x 1 root root 2338 Feb 19 2003 rc
drwxr-xr-x 2 root root 4096 Sep 30 10:50 rc0.d
drwxr-xr-x 2 root root 4096 Sep 30 10:50 rc1.d
drwxr-xr-x 2 root root 4096 Sep 30 10:50 rc2.d
drwxr-xr-x 2 root root 4096 Sep 30 01:53 rc3.d
drwxr-xr-x 2 root root 4096 Sep 30 10:50 rc4.d
drwxr-xr-x 2 root root 4096 Sep 30 01:53 rc5.d
drwxr-xr-x 2 root root 4096 Sep 30 10:50 rc6.d
-rwxr-xr-x 1 root root 545 Sep 30 02:00 rc.local
-rwxr-xr-x 1 root root 23299 Feb 25 2003 rc.sysinit
[level8@ftz rc.d]$
found.txt 파일이 존재한다. :)
이제 cat 명령어로 found 파일을 들여다보자.
[level8@ftz rc.d]$ cat found.txt
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
[level8@ftz rc.d]$
처음에 이 found 텍스트를 열어보고 멘붕이 나에게왔다.
그런데 뭔가 $ 구분으로 자르고 : : : : : 이런식으로 구분이 있지않는가,
무슨 암호화로 되어있는 것 같아서, shadow 파일에 관해서 찾아보았더니 password 부분은 John the ripper 로 복호화 할 수 있다고 한다.
john the ripper(존 더 리퍼) ?
John the Ripper는 Solar Designer가 개발한 Unix계열 password crack tool이다.
UNIX계열 크래킹도구, http://www.openwall.com/john/ 에서 개발버전, 안정버전, linux용, windows용 등을 다운 받을 수 있다.
사용자 명과 비슷한 암호 검색,단어의 조합,숫자 조합,알파벳+숫자의 조합,알파벳+숫자+특수문자 등등
이런 식으로 시도를 해서 패스워드를 크랙한다.
파일 관련 다운로드 [ http://www.openwall.com/john/ ]
리눅스용으로 다운 받아서 넣거나, 윈도우상에서 복호화를 할 수 있는 파일을 다운 받을 수 있다.
존더리퍼를 이용하려면 리눅스의 /etc/shadow와 같은 패스워드 파일이 있어야 한다.
/etc/shadow 파일의 일부를 보면 다음과 같이 생겼음을 알 수 있다.
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524
(해커스쿨 FTZ 레벨8에서 보여주는 레벨9의 패스워드 정보가 있는 부분)
콜론(:)으로 각 필드를 구분해 주며 색칠된 부분이 레벨9의 패스워드가 암호화된 부분이다.
바로 이부분을 존더리퍼가 해독하여 패스워드를 보여주는 것.
리눅스에서 얻어낸 shadow파일을 윈도우즈로 복사해 존더리퍼의 압축을 해제한 폴더 안의 run폴더에 넣는다.
실행 방법 :
[ 각자의 디텍토리 위치가 다를 수 있으니, 참고 바랍니다. ]
현재 경로, C:\Users\admin\Downloads\john179
..\run 폴더로 이동 한 후, TXT 파일을 만들어서 그 안에,
putty에서 나온 저 값 전체를 드래그 해서 넣은 후 저장한다.
cmd를 실행시켜서 cd 명령어로 run 폴더가 있는 곳까지 이동한 후,
john.exe -show [텍스트파일].txt 를 입력하면 현재 켜져있는 콘솔창에서 복호화 된 값이 출력된다.
'정보보안 카테고리 > hackschool FTZ' 카테고리의 다른 글
hackerschool FTZ : level10 풀이 (1) | 2013.10.03 |
---|---|
hackerschool FTZ : level9 풀이 (0) | 2013.10.03 |
hackerschool FTZ : level7 풀이 (0) | 2013.10.02 |
hackerschool FTZ : level6 풀이 (0) | 2013.10.01 |
hackerschool FTZ : level5 풀이 (1) | 2013.10.01 |