학사 나부랭이
Hacker School - level8 본문
오랜만에 find 명령어를 다시 써보죠.
find -size 옵션
2700: 2700 크기인 파일을 찾아요.
-2700: 2700 이하의 크기인 파일을 찾아요.
+2700: 2700 이상의 크기인 파일을 찾아요.
사이즈 단위
b: 블록
c: 바이트
k: 키로바이트
w: 2바이트 워드
m: 메가바이트
g: 기가바이트
저기 found.txt라는 수상한 파일이 눈에 띄네요. 한 번 읽어볼까요?
shadow 파일 중 level9 라인만 따온 듯한 내용으로 차있네요. 얘네는 어떤 걸 의미하냐면...
ⓐ User 이름이에요.
ⓑ 암호에 관한 부분이에요.
ⓒ 마지막으로 암호를 바꾼 날이에요. 1970.01.01 + ⓒ일에 암호를 바꿨네요.
ⓓ 암호를 바꾸기 전의 암호를 사용한 기간이에요.
ⓔ 암호를 수정 안 하고 버틸 수 있는 최대 일 수 예요. 99999는 평생 안 바꿔도 되네요.
ⓕ 암호를 바꿔야한다는 경고를 ⓕ일 전에 알려줘요.
ⓖ 계정에 대한 사용 제한을 설정하면 ⓖ일 후에 완전히 사용 정지해요. -1이니까 그런 거 없다고 보면 되겠죠?
ⓗ 1970.01.01 + ⓗ일에 계정이 완전 사용 정지되었네요. -1이니까 정지된 적이 없어요.
ⓘ 관리자가 임의로 사용할 수 있는 부분이에요.
이 중 ⓑ를 자세히 보면 $으로 구분할 수 있는데요.
ⓐ 0은 DES, 1은 MD5, 5는 SHA256, 6은 SHA512로 해싱했다는 뜻이에요.
ⓑ salt 값이에요.
ⓒ 해시된 문자열이에요.
해시 함수(Hash Function)
salt 값
해시 함수 | identifier | salt 길이 |
MD5 | $1 | 2byte |
SHA256 | $5 | 16byte |
SHA512 | $6 | 16byte |
그럼 이제 답을 알아볼까요? 본의는 아니지만 john the ripper라는 툴로 풀어보자고요.
먼저 저 라인을 따서 텍스트 파일로 저장한 후 실행하면
역시 MD5 알고리즘으로 해싱된 문자열이었군요. 이 프로그램은 사전 대입 공격을 사용하는데 이에 대해서는 링크를 참조해주세요.
'Dot-Gabi > Hacker School Prob.' 카테고리의 다른 글
Hacker School - level9 (0) | 2021.03.28 |
---|---|
Hacker School - level7 (0) | 2021.03.26 |
Hacker School - level6 (0) | 2021.03.25 |
Hacker School - level5 (0) | 2021.03.25 |
Hacker School - level4 (0) | 2021.03.25 |