본문 바로가기

CTF Write-Ups/Suninatas

Suninatas Forensics 14번

 

14번 문제는 suninatas의 password를 찾는 문제이다.

 

Download를 클릭하면 아래와 같은 두 개 파일을 다운로드할 수 있다.

 

먼저 이 파일들의 내용을 Notepad로 확인해 보았다.

 

https://seoulforest.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-study-1

 

[리눅스] /etc/passwd,/etc/shadow,/etc/group파일 이란?

리눅스 파일과 프로그램에는 모두 소유자가 있어야 한다. 사용자 ID (UID) 라는 고유의 식별자를 가지며 이러한 사용자는 반드시 특정 그룹에 속해야 한다. 그룹은 시스템 관리자가 정의한다. 사��

seoulforest.tistory.com

[passwd 파일 구조]

root : x : 0 : 0 : root : /root : /bin/bash
1      2   3  4   5     6         7

1: 사용자 계정

2: 사용자 패스워드로 x문자가 들어있으며, 암호화된 패스워드 정보는 /etc/shadow 파일에 저장됨

3: 사용자 ID/ root의 경우는 0/ adduser 스크립트에 의하여 부여됨

4: 사용자가 속한 그룹 ID/ root의 경우 0

5: 사용자의 코멘트 정보

6: 사용자의 홈 디렉토리

7: 사용자가 기본으로 사용하는 쉘 종류 지정

 

[shadow 파일 구조]

root: $6$E2loH6yC$...... : 15426 : 0 : 99999 : 7 :  :  :
1     2                        3        4   5        6   7 8 9

1: 사용자 계정

2: 패스워드를 암호화시킨 값 [$Hashid $salt $Hash Value]

- 비어있는 경우: 로그인 시 패스워드 필요 없음

- * : 해당 계정은 막아놓음

3: 패스워드 파일 최종 수정일

4: 패스워드가 변경되기 전 최소 사용기간(일수)

5: 패스워드 변경 최대 일

6: 패스워드 만료 경고 기간

7: 패스워드 파기 기간(패스워드 파기 후 계정 비활성 기간)

8: 계정 만료 기간(//연도)

9: 예약필드

 

위의 두 파일의 suninatas 관련 정보를 살펴보면 아래와 같이 나와있고, passwd의 두 번째 항목이 x로 되어있는 것으로 보아 shadow 파일에 암호화된 패스워드 정보가 저장되어 있다는 것을 알 수 있다.

 

또한 위의 표를 참고하면 suninatas는 SHA-512 해시 알고리즘을 사용하고 있다는 것을 알 수 있다.

suninatas: x : 1001 : 1001 : : /home/suninatas : /bin/sh (passwd)

suninatas:$6$QlRlqGhj$BZoS9PuMMRHZZXz1Gde99W01u3kD9nP/zYtl8O2dsshdnwsJT/1lZXsLar8asQZpqTAioiey4rKVpsLm/bqrX/:15427:0:99999:7::: (shadow)

-HashID: SHA-512

-Salt: QlRlqGhj

-Hash value: BZoS9PuMMRHZZXz1Gde99W01u3kD9nP/zYtl8O2dsshdnwsJT/1lZXsLar8asQZpqTAioiey4rKVpsLm/bqrX/

 

여기서 passwd파일과 shadow파일을 사용해 John the Ripper로 패스워드 크랙을 시도해 보았다.

(John the Ripper는 무료 password craking 소프트웨어이다.)

 

명령어 john.exe --show ./passwd.txt ./shadow.txt 를 입력하면

 

john.exe --show [passwd파일경로] [shadow파일경로]

suninatas의 password는 iloveu1 라는 것을 확인 가능하다.

 

 

 

'CTF Write-Ups > Suninatas' 카테고리의 다른 글

Suninatas Forensics 21번  (0) 2020.08.17