힌트를 보자...
용량이 2700크기의 파일을 찾으면 될것같다.
find 명령어를 시용하면 될것 같은데... 앞에선 permision과 user에 대한 옵션만 사용했을뿐... 용량에 관한 검색은 모르겠다...
당연.. find 명령어 옵션에 대해 검색해보자.
- 빈 파일(크기가 0 인 파일) 찾기 find / -empty -print | more 또는 find / -size 0 -print | more - 파일 크기가 100M 이상인 파일을 찾기 find / -size +102400k -print | xargs ls -hl |
이런 글을 찾게 되었다. 저기서 more이라는 명령어는 페이지 단위별로 출력하는 명령어 이다.
xargs에 대한 내용은 (http://www.dreamy.pe.kr/zbxe/CodeClip/164220) 글을 참고하자.
검색했던 명령어대로 검색해보니 아무것도 나타나지 않았다.
그런데 뭔가 이상했다. 파일 크기가 100M이상인 파일은 파일 사이즈 뒤에 k라는 문자가 붙어진다.
검색해보니 KB(Kbytes) 는 k를 붙이고 bytes는 c를 붙인다.
검색되었다. 사이즈가 2700인 파일은 총 4개 있었는데... 딱보니 found.txt라는 파일이 보인다.
해당 파일을 열어 보자.
그림 처럼 "level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524" 라는 문자열이 반복된다.
근데 저 문자열을 어디서 많이 본거 같지 않은가?
root 게정으로 접속해서 /etc/shadow 파일을 봐보면 알 수 있다.
다음 그림처럼 각 계정의 정보들이 /etc/shadow 파일에 존재한다.
그럼 shadow 파일에 대해 알아보자.
root:$1$9L2L0oTwd:12751:0:99999:7 : : : ①: ② : ③ :④: ⑤ :⑥:⑦:⑧:⑨ ① 필드 1 : 사용자명 ② 필드 2 : 패스워드 ③ 필드 3 : 패스워드 파일 최종 수정일 ④ 필드 4 : 패스워드 변경 최소일 ⑤ 필드 5 : 패스워드 변경 최대일 ⑥ 필드 6 : 패스워드 만료 경고기간 ⑦ 필드 7 : 패스워드 파기 기간(패스워드 파기후 게정 비활성 기간) ⑧ 필드 8 : 계정 만료 기간 ⑨ 필드 9 : 예약 필드 |
우리가 알고 싶은 것은 당연 패스워드 부분일 것이다.
"level9:$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps.:11040:0:99999:7:-1:-1:134549524"
level9의 패스워드 필드는 "$1$vkY6sSlG$6RyUXtNMEVGsfY7Xf0wps." 이 부분이다.
이것을 JohnTheRiper라는 툴로 크랙해보자.
http://www.openwall.com/john 에서 다운 받을 수 있다.
John the Ripper를 다운 받은 폴더에 pass.txt 라는 파일을 만들고 그 안에 level9의 패스워드로 추정되는 암호화된 문자를 집어넣고 저장하자.
John the Ripper 를 이용하여 크랙해보면 level9에 대한 password를 알아낼 수 있을 것이다.