본문으로 바로가기

Level8 문제 해결

category Security/리버싱 2017. 11. 30. 19:38

ftz.hackerschool.org 의 이미지를 받아 실습했습니다. 


-Level8

level8 / break the world


[level8@ftz level8]$ ls -l

 

 합계 12

-rw-r-----    1 root     level8        109  1월 14  2010 hint

drwxr-xr-x    2 root     level8       4096  2월 24  2002 public_html

drwxrwxr-x    2 root     level8       4096  1월 14  2009 tmp

 


[level8@ftz level8]$ cat hint

 

level9의 shadow 파일이 서버 어딘가에 숨어있다.

그 파일에 대해 알려진 것은 용량이 "2700"이라는 것 뿐이다.

 

> 용량을 가지고 find 명령어를 수행한다. (용량의 단위가 나와있지 않지만 파일이라는 것을 감안하여 byte나 kbyte 일 것이다. )

( Mbyte 라면 2기가정도 되는건데 그건 너무 큰 용량 > byte랑 Kbyte에서 안나오면 그 때 검색 )


[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/man/man3/StrictMotif.3.gz

/usr/share/man/man3/Tk_StrictMotif.3.gz

/usr/share/a2ps/encoding/ascii.edf

/usr/share/xmodmap/xmodmap.uk_x86

/usr/src/linux-2.4.20-8/include/asm-ia64/semaphore.h

 

> found.txt 라는 것이 심히 의심스럽지만 내용이 너무 많으니 좀 줄여본다면 이 파일은 level8 사용자가 읽어볼 수 있어야 한다. 

> 그렇다면 user 나 group 둘중 하나에 level8이 있어야한다. 그걸 검색해본다.


[level8@ftz level8]$ find / -size 2700c \( -user level8 -o -group level8 \) 2>/dev/null

 

 /etc/rc.d/found.txt

 

> 역시 found.txt. 파일만 나온다. 


[level8@ftz level8]$ ls -l /etc/rc.d/found.txt

 

 -r--r-----    1 root     level8       2700  8월 19  2014 /etc/rc.d/found.txt

 

> 힌트에서 알려줬듯이 shadow 파일인 거 같다. 


[level8@ftz level8]$ cat /etc/rc.d/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의 암호화된 암호가 굉장히 많이 저장되어있다. 


[level8@ftz level8]$ cat /etc/rc.d/found.txt | sort -u

 


 level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524

 

> 중복을 제거하니 다른 내용은 없고 level9 암호와 공백만 있다. 

[level8@ftz level8]$ cat /etc/rc.d/found.txt | sort -u | grep -v '^$'
> 공백을 빼려면 첫번째가 마지막인 열을 제외하고 출력한다. ( 스크립트 작성할때 유용하니 알아두면 좋다. )

암호화된 암호를 크랙하면 끝이다.  (john the ripper, hydra)

[level8@ftz level8]$ which john

 

 /usr/bin/which: no john in (/bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/home/level8/bin)

 

> 역시 있을리가 없지.. 


hostOS에서 john the ripper를 다운받아 실행해본다. 


[사이트] http://www.openwall.com/john/


> free versions을 다운 받는다. 

> 바탕화면에서 압축을 풀고 password.txt 를 만든다. 

> 압축을 풀고 들어가보면 run이라는 폴더가 있는데 그 속에 password.txt 라는 것을 새로 만들어 level9의 암호를 복사해서 넣는다. 



> cmd를 열고 run의 위치로 이동해서 john을 실행시키면 level9의 암호가 크랙된다. 암호는 apple 이다. 


'Security > 리버싱' 카테고리의 다른 글

Level9 응용 (스크립트로 반복되는 문자 입력)  (0) 2017.11.30
Level9 문제 해결  (0) 2017.11.30
Level7 의사코드  (0) 2017.11.30
Level7 문제 응용 (ASCII)  (0) 2017.11.30
Level7 문제 해결  (0) 2017.11.30