[FTZ] level 8 → level 9 문제풀이 본문

Pwnable/해커스쿨 FTZ write-up

[FTZ] level 8 → level 9 문제풀이

disso1p1 2020. 2. 23. 23:40

 

 

 

level8 - id : level8 , pw : break the world

 

 

[level8@ftz level8]$ ls
hint  public_html  tmp
[level8@ftz level8]$ cat hint


level9의 shadow 파일이 서버 어딘가에 숨어있다.
그 파일에 대해 알려진 것은 용량이 "2700"이라는 것 뿐이다.


[level8@ftz level8]$ 

 

힌트를 보면 용량이 2700 인 것만 알 수 있다.

 

[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]$ 

 

ls -l 을 해보면 만든 날짜 옆에 용량을 보여준다.

 

이것들도 숫자로만 나와있는데, byte 단위이다.

 

그러므로 hint 파일은 109byte, public_html 디렉토리와 tmp 디렉토리는 4096byte 임을 알 수 있다.

 

그래서 힌트에서 언급한 shadow 파일도 2700 byte 라고 생각했다.

 

 

find 명령어를 사용할 것인데, man find 를 이용하여 크기 옵션에 대해 찾아보자.

 

man find

 

enter키로 쭉쭉 내리다보면 -size 옵션에 대한 설명을 찾을 수 있다.

 

b : 블록 단위

c : byte

k : kbyte

w : 2byte 워드

 

2700 byte 이기 때문에 2700c 가 된다.

 

[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
[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

[level8@ftz level8]$ 

 

수상해보이는 /etc/rc.d/found.txt 파일을 읽었는데,

leve9:~~ 라고 되어있는 걸 보아 이 파일이 맞는 것 같다.

 

근데 암호화 되어있다.

 

구글링 해보니, shadow 파일은 'john the ripper'라는 프로그램으로 복호화 할 수 있다고 한다.

 

'john the ripper' 프로그램으로 복호화 시켜보자.

 

                                                                                                                                 

우분투에 'john the ripper'를 설치하고, found.txt 파일을 저장했다.

 

이제 'john the ripper'를 실행시켜보자.

 

./john found.txt

 

'apple (level9)' 라고 출력되는 것을 보아 패스워드가 apple 이라고 추측한다.

 

john.pot 파일에서 복호화된 값을 볼 수 있다.

 

cat john.pot

 

역시나 apple이다.

 

 

level9 아이디로 패스워드에 apple 을 넣으면 로그인이 된다.

 

 

 

 

apple

 

 

 

감사합니다

Comments