[SuNiNaTaS/Forensic] 14번 풀이

2019. 8. 8. 15:02문제풀이/suninatas.com

파일을 다운로드 후 압축을 풀면 확장자가 없는 파일 2개가 있다.

 

먼저 HxD를 켜서 확인해보았다.

 

둘 다 의미있는 헤더는 없고, 위와 같은 내용을 가진 파일이었다.

여기서 ㅠㅠㅠ리눅스로 저런 내용을 다뤄본적이 없던 나는 스스로 하는걸 포기..

그냥 주위 분 + 블로그를 통해 공부한 내용을 적으면서 복습하고자 한다.

 

리눅스에는 /etc/passwd와 /etc/shadow 파일이 있다.

유닉스를 기반으로 한 모든 리눅스 시스템은 사용자 계정 정보와 그 비밀번호(암호화)를 위 파일에 저장한다.

이 파일들은 수정할 수는 없지만, 누구나 볼 수 있어 john과 같은 크랙 툴을 이용하면 패스워드를 알아낼 수 있다.

 

/etc/passwd와 /etc/shadow에서 각 필드의 의미는 다음과 같다. (예시:문제파일)

< passwd >

false suninatas:x:1001:1001::/home/suninatas:/bin/sh
--> 1:2:3:4:5:6:7

1: 사용자명
2: 패스워드(x면 실제 패스워드는 /etc/shadow에 보관)
3: 사용자 계정 uid
4: 사용자 계정 gid
5: 사용자 계정 이름(정보)
6: 사용자 계정 홈 디렉토리
7: 사용자 계정 로그인 쉘

< shadow >

suninatas:$6$QlRlqGhj$BZoS9PuMMRHZZXz1Gde99W01u3kD9nP/zYtl8O2dsshdnwsJT/1lZXsLar8asQZpqTAioiey4rKVpsLm/bqrX/:15427:0:99999:7:::.
-->1:2:3:4:5:6:7:8:9

1: 사용자명
2: 패스워드
3: 패스워드 파일 최종 수정일(1970년 1월 1일부터 지난 일수)
4: 패스워드 변경 전 필요한 최소사용일(이 일수가 지나야 패스워드 변경 가능)
5: 패스워드 변경 전 필요한 최대사용일(이 일수 지나면 패스워드 변경해야)
6: 패스워드 만료 전 경고메세지 제공일
7: 패스워드 파기 후 계정 비활성화하는 기간
8: 계정 만료 기간(연월일)
9: 예약필드(사용X)

 

또한 shadow 파일의 패스워드는 $로 구분되어있는데, 그 내용은 다음과 같다.

 

< shadow - password >

$6$QlRlqGhj$BZoS9PuMMRHZZXz1Gde99W01u3kD9nP/zYtl8O2dsshdnwsJT/1lZXsLar8asQZpqTAioiey4rKVpsLm/bqrX/
--> $Hashed id$Salt$Hash value

Hashed id: hash 방법(아래 그림 참고) - 주로 쓰이는건 1,5,6
Salt: 크랙을 어렵게 하도록 만드는 무작위 문자열. 비밀번호를 해싱 하기전에 붙임.
Hash value: pw와 Salt를 합쳐 해싱한 결과값

 

 

hashed id

 

결국, 우리가 할 것은 shadow 파일의 써니나타스 부분을 크랙하는 것이다.

이 때 john (=john the ripper)라는 프로그램을 사용할건데, 윈도우에서도 설치 가능하고 칼리에도 깔려있다.

그냥 실행시킨 후, 파일을 다음 명령어로 실행시켜준다.

 

john [파일명(파일경로붙이거나 해당 폴더에 들어가서)]

 

결과화면은 다음과 같다.

 

중간에 보이는 iloveu1이 크랙한 결과다.

Authkey: iloveu1

'문제풀이 > suninatas.com' 카테고리의 다른 글

[SuNiNaTaS/Forensic] 28번 풀이  (0) 2019.08.08
[SuNiNaTaS/Forensic] 26번 풀이  (0) 2019.08.08
[SuNiNaTaS/Forensic] 32번 풀이  (0) 2019.08.02
[SuNiNaTaS/Forensic] 19번 풀이  (0) 2019.08.02
[SuNiNaTaS/Forensic] 18번 풀이  (0) 2019.08.02