티스토리 뷰

HackerSchool FTZ WARGAME Solution

 

Start : 15.07.03

 

LEVEL8

[그림 1]

 

level8 계정의 hint 를 열어보면 level9 계정의 shadow 파일 정보가 서버 어딘가에 있는데 용량이 2700 이라고 한다.

 

[그림 2]

 

그래서 일단 서버에서 파일 용량이 2700인 파일들을 찾아보기로 했다. 이 때 주의해야할 점은 find의 size 옵션으로 검색시 용량과 함께 용량 단위도 같이 적어주어야 한다.

 

2700b - 2700블록 (512kbyte 블록 단위)

2700c – 2700byte

2700k – 2700kbyte

2700w – 2700word (2byte 단위)

 

로 나뉘는데 단순히 2700 만 쓴다면 기본값으로 2700b 로 검색이 된다. 나는 정확히는 모르겠으나 아마 byte 단위일거라 생각하고 2700c 로 검색을 해 보았다.

※ +2700c 를 할경우 2700byte 이상의 파일을, -2700c 로 검색을 할경우 2700byte 이하의 파일이 검색된다.

 

 

이렇게 검색을 해 보면 found.txt 라는 의심스러운 파일이 검색이 된다.

 

[그림 3]

 

found.txt 를 열어보니 예상대로 level9의 shadow 파일 정보가 잔뜩 적혀있는 것을 확인할 수 있다.

 

[그림 4]

 

shadow 파일에는 계정명과 더불어 해쉬로 암호화된 계정 패스워드 정보가 저장이 되어 있다. 따라서 우리는 이 shadow 파일을 이용해 level9 패스워드를 찾아내야 하는데 이 때 유용한 툴이 'john-the-ripper' 라는 툴이다. 해쉬로 암호화 된 경우 복호화가 불가능 하기 때문에 brute force 공격으로 패스워드를 크랙 해야하는데 'john-the-ripper' 가 그 공격을 빠르고 쉽게 해주는 툴이다. 패스워드의 길이가 일정 길이 이상 (8자 이상) 이 되면 크랙이 되지 않지만 그 아래가 되는 경우 크랙이 잘 된다.

 

[그림 4]는 리눅스에 john-the-ripper 를 다운받는 과정이다.

[그림 5]

 

'john-the-ripper' 는 무설치 프로그램이기 때문에 다운받으면 압축이 되어있는 상태인데 gunzip과 tar을 이용해 압축을 풀면 된다.

 

[그림 6]

 

압축을 푼 다음 폴더 안에 src 폴더에서 make 명령어를 이용해 컴파일을 하면 실행 할 수 있는 환경이 구성된다. make 를 하지않으면 실행파일이 생성되지 않는다.

 

그리고 run 폴더내에 found.txt. 를 복사한 뒤 './john found.txt' 로 실행시키면 아래에 shadow 파일로 찾은 패스워드가 추출된다.

신고
크리에이티브 커먼즈 라이선스
Creative Commons License
댓글
댓글쓰기 폼