level8
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