[FTZ] Level 8

Dinah·2024년 8월 1일

ID: level8
Password: break the world

cat hint


level8의 힌트는 용량이 2700인 shadow 파일이 있다는 정보를 알려준다.

-size 단위

c byte
k KB
m MB
g GB

find / -size 2700c


모든 경로에서 2700(byte) 크기의 파일을 찾으면, /etc/rc.d/found.txt라는 파일을 발견할 수 있다.

ls -al /etc/rc.d/found.txt


이 파일을 자세히 살펴보면, 유저와 그룹 모두 읽기 권한만 있다는 정보를 얻을 수 있다.

cat /etc/rc.d/found.txt


cat 명령어로 해당 파일을 읽어 보면, 아래와 같은 내용이 반복해서 쓰여있다.

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

이런 형식을 어디서 본 것 같아서 생각해보니 FTZ 트레이닝 단계에서 배운 패스워드 파일 형식과 비슷하다. 하지만 트레이닝 단계에서 배운 패스워드 파일은 필드가 7개였는데, 위의 내용은 필드가 9개로 이루어져 있다. 이와 관련한 내용을 구글에서 검색해봤다.

/etc/passwd 파일

  1. 서버에 로그인 시 사용되는 ID
  2. 암호화된 Password
  3. 사용자 UID
  4. 사용자 GID
  5. 사용자의 기타 정보 (이름, 연락처 등)
  6. 사용자가 로그인 시 기본으로 위치하게 되는 디렉토리
  7. 사용자가 처음 로그인 시 실행되는 프로그램

/etc/shadow 파일

  1. 사용자 계정 ID
  2. Password를 암호화한 값
  3. 1970년 1월 1일부터 패스워드가 수정된 일수를 계산한 값
  4. 패스워드 변경 최소일
  5. 패스워드 변경 최대일
  6. 패스워드 만료 경고 기간
  7. 로그인 접속 차단 일수
  8. 로그인 사용 금지 일수
  9. 사용되지 않는 예약 필드
$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.

패스워드 파일을 해석해보니 2번째 필드, 즉 위의 내용이 암호화된 level9의 패스워드인 듯하다. 암호 해독을 위해 shadow 파일의 패스워드를 크랙하는 방법에 대해 검색해봤다.

John the Ripper

오픈 소스 패스워드 크랙 툴
https://www.openwall.com/john/

위 링크에서 패스워드 크랙 툴을 다운로드한 후, 압축을 푼 디렉토리 이름을 'john'으로 변경하고 C: 경로에 이동시킨다.

cd C:\john\run


윈도우 CMD를 실행하고 John the Ripper의 실행 경로인 C:\john\run로 이동하면, 이제 패스워드 크랙을 위한 모든 준비가 끝났다.

level9.txt 파일을 생성해 shadow 파일의 정보를 저장하고, John the Ripper의 실행 경로에 둔다.

이제 level9.txt의 패스워드를 크랙해서 출력하라는 뜻의 명령어를 입력해 보자.

john --show level9.txt


패스워드 필드가 암호화된 문자에서 apple로 변경되어 출력된 것을 볼 수 있다. level9의 비밀번호는 apple이다!

0개의 댓글