CTF/포렌식

[TigerKingCTF] Tom Nook - Internet traffic - Part II - 포렌식 / John the Ripper

SecurityMan 2022. 7. 31. 11:00

 

이번 대회는 동물의숲 컨셉의 문제들이 많았다.

 

이번 문제에 등장하는 Tom Nook 역시

 

 

동물의 숲에 등장하는 NPC 이름이다.

 

한글판 이름은 너굴이다.

 

반응형

 

문제 설명을 읽어보면

 

너굴이는 운영보안쪽에서 일하고 있는 기술자인데

 

뭔가를 숨기고 있다고 한다.

 

너굴이 숨기려한것을 찾아달라는 문제이다.

 

 

문제에서 주어지는 파일은

 

SecretACBankStatement.zip 파일이다.

 

 

압축파일 안에는 BankStatement.pdf 파일이 들어있는데

 

비밀번호가 걸려있어서 압축을 풀 수 없다.

 

 

이럴때 사용하는게 John the Ripper 라고 하는 비밀번호 crack 해주는 무료 도구다.

 

zip 파일 뿐만 아니라 여러가지 비밀번호를 crack 해주는 기능을 가지고 있다.

 

kail 리눅스를 설치한다면 그 안에 기본적으로 내장되어 있다.

 

 

칼리리눅스로 해당 zip 파일을 옮긴 뒤에

 

zip2john SecretACBankStatement.zip > hash

 

이라고 입력하면 zip 파일에서 비밀번호 해시값을 추출해낸다.

 

이 해시값을 hash 라는 이름의 파일로 저장해준다.

 

이 다음에 바로 john the ripper 를 이용해서 hash 값을 crack 을 시도하면 잘 안된다.

 

잘 안되는 이유는 해시값을 사전대입공격을 이용해서 crack 하는데

 

john the ripper에서 기본으로 사용하는 사전파일이 아주 용량이 작기 때문이다.

 

기본적으로는 밑줄친 /usr/share/john/password.lst 파일을 사용하는데 이 파일은

 

매우 양이 적다.

 

wc -l 을 이용해서 보면 3559개 밖에 가지고 있지 않다.

 

 

구글에 rockyou.txt 라고 검색하면

 

맨위에 github에서 rockyou.txt를 다운받을 수 있다.

 

 

wc -l 명령어로 보면 무려 14,344,391개 리스트를 가지고 있다.

 

비밀번호 crack 하려면 이정도는 가지고 있어야된다.

 

john --wordlist="rockyou.txt 파일위치" hash

--wordlist 옵션을 통해 rockyou.txt 파일을 지정해주고

 

john the ripper 를 실행하면 금방 풀어준다.

 

비밀번호는 0853483757 이다.

 

 

찾아낸 비밀번호를 이용해 압축을 풀어주면

 

BankStatement.pdf 파일의 내용을 확인할 수 있다.

 

파일 중간에 플래그가 적혀있는것을 볼 수 있다.

반응형