티스토리 뷰

반응형

비밀번호 찾기 - John 사용법

 

비밀번호 찾기 - John & Johnny 사용법 (How to use John & Johnny)

 

이전에 설정했던 암호가 기억나지 않을 때 정말 당황스럽지요.

zip file 암호, word, excel 파일의 암호부터 iOS 백업 이나 pdf 파일의 암호까지 암호가 생각나지 않을 때 사용할 수 있는 John(CLI) 과 Jonny(GUI) 도구를 소개합니다.

John The Ripper로 알려진 password cracking tool인데요, 그 역사가 오래된 만큼 성능 역시 정말 최고라고 자부합니다.

 

John Installation (Ubuntu)

 

john 설치 명령어

 

Kali Linux에는 Password Attacks 메뉴에 기본 설치되어 있지만, Ubuntu의 경우 git clone 명령을 사용해서 설치할 수 있습니다. 

git clone https://github.com/openwall/john.git

 

Kali Linux (기본 설치된 John & Johnny)

 

다양한 password cracking tools을 공부하고 싶다면 Kali Linux를 강력 추천합니다. crunch, hashcat, rainbowcrack tool을 비롯하여 다양한 종류별 wordlists까지 password cracking을 위한 완벽한 환경이 구축되어 있습니다.

Kali Linux password cracking tools 종류에 따라 사용자의 소유가 아닌 다른 시스템에 사용하는 경우, 해킹 및 불법행위가 될 수 있기 때문에 자신의 파일 및 시스템에서만 실습하시기 바랍니다.  해당툴을 잘못 사용하여 발생하는 법적인 책임은 모두 해당 프로그램을 실행한 사용자에게 있음을 알려드립니다.[경고]

 

비밀번호 찾기 (Password cracking)

 

John 사용법(1)

 

암호를 찾기 위해서는 먼저 암호에 해당하는 hash 값을 암호가 설정된 zip, excel, word, pdf 등의 파일로 부터 추출해야 합니다. 그 다음으로 추출 된 hash 값을 john 프로그램에서 무차별 대입하여 이때 일치하는 hash에 해당하는 문자열을 찾게 됩니다.

예로 보여드리기 위해 20개의 hash 값이 저장된 head.txt 파일을 john 파일로 암호를 찾아봤습니다.

자세한 옵션을 모르면 그냥 john head.txt 와 같이 입력을 해보면 프로그램이 실행되면서 warning과 함께 Use the "--format=Raw-SHA1-AxCrypt"와 같은 메시지를 통해서 해당 옵션을 추가하라고 친절히 알려줍니다.

이러한 warning 메시지를 참고해서 옵션을 추가로 써주시면 됩니다.
20개 중 19개 hash를 crack 하는데 1초도 안 걸렸습니다. 그 이유는 아래 풀린 암호처럼 너무나 단순한 비밀번호이기 때문입니다. 저런 단순한 비밀번호는 온라인 사이트 가입시 절대 사용하면 안 되겠지요.

 

John 사용법(2)

 

사전 파일을 사용해서 password cracking을 할 수도 있는데요, --wordlist 옵션을 사용해서 해당 wordlist 파일을 지정해주면 됩니다.

사전파일 지정없이 실행했을 때는 19개 비밀번호가 풀렸는데, 사전파일을 사용하자 20개 모두 비밀번호가 풀렸습니다.
사전파일의 위력이지요.

 

John으로 찾아진 암호들

 

Johnny 사용법(John's GUI)

 

Johnny(GUI) 실행 화면

 

John 프로그램은 터미널에서 사용하는 CLI 프로그램인데, CLI 환경에서 명령어 사용이 불편한 사용자를 위해 추가로 Johnny라는 John의 GUI Version을 소개하겠습니다.

 

Johnny 로 찾아진 암호들

 

Open password file 아이콘을 클릭하여, 추출한 hash값이 저장된 파일을 선택하고 Start new attack을 눌러주시면 됩니다.

일부 Password의 경우, Johnny에 읽어들일 때 바로 풀리는 비밀번호도 있습니다.
잘 풀리지 않는 비밀번호의 경우 맞춤형 wordlist를 사용하시면 되겠습니다.

 

Johnny password cracking 

 

파일에서 비밀번호 hash 값 추출하는 법

 

Password hash 추출 도구들

 

Kali Linux의 /usr/share/john 디렉토리에 보시면 다양한 프로그램들이 있습니다. 프로그램 이름처럼 각종 파일로부터 비밀번호 hash를 추출하는 프로그램들이 있습니다.

예를 들어, 1password2john 은 1password 파일로부터 hash 값을 추출하는 프로그램, 7z2john은 7z 압축파일로부터 hash를 추출하는 프로그램입니다. 정말 많은 프로그램들이 있지요.

john 실행에 앞서 필요한 프로그램을 먼저 사용해서 암호 hash 파일을 먼저 추출하고 사용하시면 되겠습니다.

 

Johnny 실행 Demo(Gif)

 

Johnny password cracking demo.

 

Johnny 프로그램을 사용해서 1000개 암호에 해당하는 hash 파일을 crack 해봤습니다. 기존에 크랙 했던 비밀번호가 있는 경우 프로그램으로 불러들이자마자 암호가 바로 나와버립니다. 1,000개 중에 879(약 87%)가 바로 풀려버렸네요.

wordlist 파일을 사용해도 잘 안 풀리는 경우는 crunch나 pydict와 같은 프로그램을 사용하여 이전에 사용했던 비밀번호 문자열 및 예상되는 비밀번호 길이 등으로 사용자 맞춤형 비밀번호 사전을 작성해서 password cracking 하는 것이 가장 효과적입니다.

 

압축파일 암호 찾기 (zip file password cracking)

 

zip 파일 암호 찾기(1)

 

예제를 위해 test.zip 파일의 비밀번호를 한 번 찾아보도록 하겠습니다.
먼저 test.zip 파일로부터 hash 값을 추출해야 합니다.

 

zip 파일 hash 추출

 

zip2john test.zip > test.hash 명령어를 사용하여 zip 파일에 저장된 hash 값을 test.hash 파일로 저장했습니다.
Kali Linux에서는 zip2john 명령어를 바로 사용할 수 있습니다.

 

john으로 찾아진 zip 파일 password

 

간단히 john test.hash 명령어를 실행하시면 해당 test.zip 파일의 비밀번호 12345678이 빨간 사각형처럼 표시됩니다.
만약 안 나오는 경우, 사용자 맞춤형 사전 파일을 따로 생성해서 재시도하셔야 하겠지요.

반응형
댓글