리눅스/FTZ

level8

mewonsv 2020. 10. 12. 21:44

level8 접속후 hint 파일을 열었습니다.

hint의 내용은 파일의 크기가 2700인 것을 찾으라는것 같습니다.

 

-size 옵션

w : 2byte       b : 512byte(블록)      c : byte

find 명령으로 파일크기가 2700인것을 찾아봤습니다.

 

/etc/rc.d 디렉터리로 이동해서 수상한 found.txt 파일을 찾았습니다. 해답이 있어보이내요.

 

 

found.txt 파일을 실행해봤습니다.

패스워드가 암호화 되어있는 shadow 파일의 구조와 같습니다.

 

shadow 파일구조

root(1) : (2) : (3) : (4) : (5) : (6) : (7) : (8) : (9)

1 = 사용자 계정

2 = 패스워드를 암호화 시킨 값

       - 비어있을 시 ( : : ) 에는 로그인 할 때 패스워드가 필요없음

       - ( : * : ) 경우 계정을 막아놨음

3 = 패스워드가 수정된 날짜로부터 계산 값

4 = 패스워드가 변경되기 전 최소사용 기간 ( 0 이면 언제나 바꿀 수 있음 )

5 = 패스워드 변경 전 최대 사용기간 ( 99999는 장기간 패스워드를 바꾸지 않았음 )

6 = 패스워드 사용 만기일 전 경고 메시지를 나타내는 일 수

7 = 계정 로그인 접속차단 일 수

8 = 로그인을 금지한 일 수 ( m/d/y)

9 = 예약 필드로 사용 x

 

ps. /etc/password 파일은 사용자 계정정보를 보관하는 파일입니다. 단 수정은 불가능 하고 읽기는 가능합니다.

크래킹을 돌리면 손쉽게 패스워드를 얻어낼 수 있고 단점을 보완하기위해 shadow 파일을 사용하는데

/etc/passwd 파일에 있는 패스워드는 /etc/shadow에 보관하고 이는 root 권한만이 읽을수 있어 보안성이 향상됩니다.

 

 

그 다음 과정은 구글링 결과 존 더 리퍼 ( 패스워드 크랙 툴 ) 을 사용한다고 하내요.

리눅스에서 설치방법은

wget 존더리퍼 경로(사이트)  // wget 명령이 안될시 yum 으로 install 해줍니다. centos 6,7 버전에서는 설치필요

wget 명령 사용후 tar xvf john~.xz 명령으로 압축을 풀어줍니다.

 

그 후 crack 할 파일을 vi crack.txt 로 만들어주고 found.txt의 암호화된 내용을 추가해줍니다.

파일을 만들고 ./john crack.txt 명령을 수행하면 암호화 된 부분이 복호화 되어 출력결과로 나옵니다.

 

passwd : apple