이번에 풀어볼 문제는 HackerSchoolFTZ Level 8 입니다.
이번 문제는 find 명령어로 사이즈를 지정하여 파일을 찾는 방법과 패스워드 크랙 툴의 사용법을 알면 쉽게 풀 수 있습니다.
Level 8 Write-Up
level8 계정 접속 후 힌트를 봅니다.
$ cat hint
cat hint
find 명령어로 찾으려는 파일 사이즈를 지정하는 옵션은 -size 입니다.
사이즈 끝의 알파벳은 b는 block, c는 byte를 의미합니다.
2700 바이트 크기를 갖는 파일을 찾습니다.
$ find / -size 2700c 2>/dev/null
find / -size 2700c 2>/dev/null
find.txt 로 추정되며 해당 파일을 읽어보니 level9 계정의 shadow 패턴이 나옵니다.
$ cat /etc/rc.d/found.txt
cat /etc/rc.d/found.txt
Shadow File Pattern
linux shadow 파일은 1:2:3:4:5:6:7:8:9 형태입니다.
- 1: 사용자명
- 2: 패스워드 해시 알고리즘
$1: md5 $2: Blowfish $5: SHA-256 $6: SHA-512 (비어 있을 경우 로그인에 필요한 패스워드가 없다는 의미 입니다.) (:*: 라고 되어 있을 경우 계정을 막아둠을 의미 입니다.)
- 3: 패스워드 수정일
- 4: 패스워드 최소 사용기간(일)
- 5: 패스워드 최대 사용기간(일)
- 6: 패스워드 사용 만기일 전에 경고 메시지를 제공하는 일수
- 7: 로그인 접속차단 일 수
- 8: 로그인 사용을 금지하는 일 수 (월/일/연도)
- 9: 예약필드로 사용되지 않습니다 .
level9 계정의 패스워드가 MD5로 해싱 되었으므로 패스워드 크랙툴인 “Jhon The Ripper
“를 이용해서 level9의 shadow 정보를 크랙합니다.
$ echo 'level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524' > pass
$ john pass
Password Crack
level9 계정의 패스워드 apple
를 획득했습니다.