환경: 개인이 ftz 서버를 직접 구축
id : level8
password : break the world
level8의 홈디렉터리를 살펴보면 hint 파일이 있다.
hint 파일을 살펴보았다.
- level9의 shadow 파일이 서버 어딘가에 숨어있다.
- 그 파일에 대해 알려진 것은 용랑이 "2700"이라는 것 뿐이다.
용랑이 "2700"이라는 것을 2700바이트라고 해석하였다.
find 명령을 사용하여 전체에서 2700바이트짜리 파일을 찾아보았다.
권한이 금지된 파일은 휴지통에 버렸다.
저기 두번째의 /etc/rc.d/found.txt 가 조금 의심스러워 보였다.
$ cat /etc/rc.d/found.txt
level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524 |
그랬더니 이런 문자열이 주르륵 나왔다.
참고로 이런건 /etc/shadow 안에 있는 거다.
Trainer6에서 배운 내용이다.
https://jiravvit.tistory.com/entry/FTZ-Trainer-610-%EC%9A%94%EC%95%BD
우리는 저기서 두 번째 필드만 신경쓰면 된다.
$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps. |
두번째 필드가 level9의 패스워드가 적혀있는 부분인데 저걸 해석하면 될 것 같다.
여기서 '존더리퍼'란 tool을 소개하겠다.
존더리퍼는 Solar Designer가 개발한 Unix 계열 무료 password crack tool이라고 한다.
존더리퍼를 이용하려면 리눅스의 /etx/shadow와 같은 패스워드 파일이 있어야한다.
저 패스워드 부분을 존더리퍼가 해독해주는 것이다.
참고로 저 패스워드도 지금 $을 기준으로 또 나누어서 해석할 수 있다.
$Hashid$Salt$HashValue |
- Hashid : 어떤 스키마를 이용하여 hash를 했는지 보여준다. 주로 $1, $5, $6을 사용한다고 한다.
- Salt: 해시를 하고 난 값으로 이전의 값을 구하지 못한다. 이를 더 어렵게 하기 위해 salt값도 넣어주는데 salt는 해시를 하기 전에 랜덤한 값을 참고한다고 한다. salt값을 모른다면 해석할 수 없다.
- Hash Value: hashid에 따른 해시방법과 salt값을 가지고 hash function을 수행한 결과이다.
위 사이트에서 각자 os에 맞게 존더리퍼 툴을 다운받으면 된다.
level9의 password는 apple이다!
'WAR GAME > FTZ' 카테고리의 다른 글
[FTZ] level7 풀이 (0) | 2020.03.12 |
---|---|
[FTZ] level7 wrong.txt 오류 해결 방법 (0) | 2020.03.12 |
[FTZ] level6 풀이 (0) | 2020.03.12 |
[FTZ] level5 풀이 (0) | 2020.03.12 |
[FTZ] level4 풀이 (0) | 2020.03.12 |