1. 풀이
- find 명령의 -size 옵션을 통해 해당 파일 검색
옵션 | 설명 |
-size 옵션 | - 파일 크기를 기준으로 검색 - find / -size +[volume] > [volume] 이상 크기의 파일을 검색 - find / -size -[volume] > [volume] 이하 크기의 파일을 검색 - find / -size [vloume] > [volume] 크기의 파일을 검색 - 단위 : b : 블록 / c : 바이트 / k : 키로바이트 / w : 2바이트 워드 / m : 메가 바이트 / g : 기가 바이트 단위 |
- 우선, 가장 간단한 텍스트 파일인 etc/rc.d/found.txt 파일을 열어보면 ":"로 구분된 문자열이 출력
- hint 파일을 통해 shadow 파일이 문제 해결과 관련된 것을 알 수 있으며, 따라서 /etc/rc.d/found.txt 파일은 /etc/shadow 파일임을 추측해 볼 수 있음
/etc/shadow
- 기존에는 계정정보를 /etc/passwd에 기록 (비밀번호 평문 저장)
- 기술의 발전으로 비밀번호 크랙 가능성이 높아짐에따라 비밀번호 정보를 /etc/shadow 파일에 저장
- /etc/passwd 파일의 비밀번호 필드 값이 x로 표시된 경우 /etc/shadow 파일 사용
- 필드 값 및 각 필드의 의미는 다음과 같음
name:encrypted_password:last_password_change:minimum:maximum:warning:inactivity:expiration
① name: 계정명
② encrypted_password: 암호화된 패스워드
③ last_password_change: 마지막으로 비밀번호를 변경한 날. 1970/01/01부터 일수로 계산.
④ minimum: 최소 비밀번호 사용 일수
⑤ maximum: 최대 비밀번호 사용 일수
⑥ warning: 비밀번호 만료 전 경고 일수
⑦ inactivity: 비밀번호가 만료된 후 유예기간
⑧ expiration: 계정 자체의 만료 기간. 1970/01/01부터 일수로 계산.
- /etc/shadow 파일의 2번째 필드 값인 암호화된 패스워드는 다시 $id$salt$hashed 3부분으로 나눌 수 있음
필드 | 값 | 적용 알고리즘 | 설명 |
$id | $1 | MD5 | 비밀번호 일방향 암호화 시 적용한 해싱 알고리즘 |
$2a | Blowfish | ||
$2y | Eksblowfish | ||
$5 | SHA-256 | ||
$6 | SHA-512 | ||
$salt | 임의의 난수 | 해싱에 사용된 솔트(salt)값 | |
$hashed | Hash(비밀번호) | 해싱된 비밀번호 값 |
- /etc/shadow 파일에서 비밀번호를 크랙해내기 위해 Jone the ripper를 활용
Jone the ripper
- https://www.openwall.com/john/에서 맥, 리눅스, 윈도우 버전을 다운 가능함
- 암호화된 비밀번호를 크래킹할 수 있는 도구
- /etc/rc.d/found.txt 파일의 내용을 칼리 리눅스에 임의의 파일명으로 저장 후 명령을 통해 패스워드 크랙이 가능함
'문제풀이 > FTZ' 카테고리의 다른 글
FTZ Level10 풀이 (0) | 2022.10.31 |
---|---|
FTZ Level9 풀이 (1) | 2022.10.30 |
FTZ Level7 풀이 (0) | 2022.10.28 |
FTZ Level6 풀이 (1) | 2022.10.28 |
FTZ Level5 풀이 (0) | 2022.10.27 |