[ftz] hackerschool level8 풀이
- 보안/HackerSchool-ftz
- 2019. 11. 9. 00:37
l hackerschool level8 풀이
실행 환경 : VMware Workstation Pro, Red Hat Linux 9.0
참고 도서 : 문제 풀이로 배우는 시스템 해킹 테크닉
** 공부를 하면서 기록하는 내용이다 보니 틀린 내용이 있을 수도 있습니다. 틀린 부분이 있다면 댓글로 알려주시면 감사드리겠습니다. **
login as: level8 level8@192.168.31.128's password: |
level8 문제의 아이디인 level8 와 password인 break the world 을 입력하여 level8의 유저로 접속합니다.
[level8@ftz level8]$ ls -l total 12 -rw-r----- 1 root level8 109 Jan 14 2010 hint drwxr-xr-x 2 root level8 4096 Feb 24 2002 public_html drwxrwxr-x 2 root level8 4096 Jan 14 2009 tmp |
ls -l 명령어를 사용하여 현재 위치( /home/level8 ) 아래에 있는 디렉터리의 목록을 확인합니다.
목록들 중 hint 파일을 읽어 어떤 식으로 문제를 풀어야 하는지 보도록 하겠습니다.
[level8@ftz level8]$ cat hint /level9의 shadow 파일이 서버 어딘가에 숨어있다. 그 파일에 대해 알려진 것은 용량이 "2700" 이라는 것 뿐이다. |
cat 명령어를 사용하여 hint 파일을 확인해본 결과 위의 힌트를 볼 수 있습니다.
힌트에 따라 용량이 2700인 파일을 찾기 위해서 find 명령을 사용해보도록 하겠습니다. 그전에 리눅스 파일의 사이즈 단위는 아래와 같습니다.
- 리눅스 파일의 사이즈 단위
1) b : 블록단위
2) c : byte
3) k : kbyte
4) w : 2byte워드
man find를 하여 find의 속성을 보게 되면 -size n[bckw] 방법으로 원하는 용량의 파일을 찾을 수 있습니다. 여기서 n 앞에 +를 붙이게 되면 n보다 큰 것, -를 붙이면 n보다 작은 것, n만 쓰게 되면 n 사이즈의 파일들을 검색합니다.
그리고 bckw 중의 단위를 찾고자 하는 사이즈 옆에 붙여주면 됩니다. bckw는 위에서 이야기한 리눅스 파일의 사이즈 단위를 의미합니다.
[level8@ftz level8]$ find / -size 2700b 2>/dev/null [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]$ find / -size 2700k 2>/dev/null [level8@ftz level8]$ find / -size 2700w 2>/dev/null /usr/lib/perl5/5.8.0/I18N/Collate.pm /usr/share/locale/es/LC_MESSAGES/memprof.mo /usr/share/locale/uk/LC_MESSAGES/gtk+.mo |
find 속성을 이용해서 find / -size 2700[bckw]를 한 결과입니다. w와 c 둘 다 결과가 나오기는 하지만 /etc/rc.d/found.txt 파일이 우리가 찾아야 하는 파일에 가까워 보입니다.
[level8@ftz level8]$ ls -l /etc/rc.d/found.txt -r--r----- 1 root level8 2700 Sep 10 2011 /etc/rc.d/found.txt |
ls -l 명령을 통해서 /etc/rc.d/found.txt 파일의 정보를 확인해보니 gid가 level8로 되어있고, read만 가능한 파일입니다. cat 명령을 통해서 파일의 내용을 보도록 하겠습니다.
[level8@ftz level8]$ cat /etc/rc.d/found.txt level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524 생략... |
파일의 내용을 확인해보니 shadow 파일 형식의 내용을 볼 수 있습니다. 아래의 내용이 실제 shadow 파일의 내용입니다.
l shadow 파일 필드 분석
더보기
필드 분석을 해보겠습니다. 각 필드는 :으로 나뉘어 있고, 총 0개의 필드가 있습니다.
|
shadow 파일에 있는 비밀번호를 알기 위해서는 john the ripper라는 툴을 이용해야 합니다. john the ripper는 password crack tool로 아래의 사이트에 들어가면 os에 따라 파일을 다운로드할 수 있습니다.
저는 window를 사용하기 때문에 window용 john the ripper 다운로드하였습니다. 압축을 푼 뒤에 john the ripper의 run 폴더 안에 위에서 보았던 level9의 shadow 파일 내용을 txt 파일 형태로 저장하여 줍니다. 파일의 이름은 아무거나해도 상관없습니다.
저는 level9의 이름으로 저장해주었습니다. 그 후 cmd를 켜서 john the ripper의 run 폴더까지 이동을 한 후 john.exe [위에서 저장한 텍스트 파일명]을 입력하게 되면 level9의 비밀번호를 확인할 수 있습니다.
D:\john-1.9.0-jumbo-1-win64\run>john.exe level9.txt Warning: detected hash type "md5crypt", but the string is also recognized as "md5crypt-long" Use the "--format=md5crypt-long" option to force loading these as that type instead Warning: detected hash type "md5crypt", but the string is also recognized as "md5crypt-opencl" Use the "--format=md5crypt-opencl" option to force loading these as that type instead Using default input encoding: UTF-8 Loaded 1 password hash (md5crypt, crypt(3) $1$ (and variants) [MD5 256/256 AVX2 8x3]) Will run 4 OpenMP threads Proceeding with single, rules:Single Press 'q' or Ctrl-C to abort, almost any other key for status Almost done: Processing the remaining buffered candidate passwords, if any. Warning: Only 20 candidates buffered for the current salt, minimum 96 needed for performance. Proceeding with wordlist:password.lst, rules:Wordlist apple (level9) 1g 0:00:00:00 DONE 2/3 (2019-11-09 00:27) 3.125g/s 10325p/s 10325c/s 10325C/s 123456..larry Use the "--show" option to display all of the cracked passwords reliably Session completed |
l No password hashes left to crack 오류
더보기
john the ripper를 한 번 실행하고 나서 재실행하려고 하면 위의 에러가 뜨게 됩니다. john.exe를 실행하게 되면 .pot 파일이 생성이 되는데 그 파일을 삭제하고 실행하게 되면 위의 오류가 뜨지 않고 제대로 프로그램이 실행됩니다. |
l level9 비밀번호
apple (level9)
'보안 > HackerSchool-ftz' 카테고리의 다른 글
[ftz] hackerschool level10 풀이 (0) | 2019.11.13 |
---|---|
[ftz] hackerschool level9 풀이 (0) | 2019.11.11 |
[ftz] hackerschool level7 풀이 (0) | 2019.11.05 |
[ftz] hackerschool level6 풀이 (0) | 2019.11.04 |
[ftz] hackerschool level5 풀이 (0) | 2019.10.05 |
이 글을 공유하기