John the Ripper는 패스워드 크랙 도구로 널리 사용되며, 다양한 해시 형식의 패스워드를 크랙 할 수 있는 강력한 툴이다. 특히 Kali Linux와 같은 해킹 및 보안 관련 배포판에 기본적으로 설치되어 있으며, 그 사용법이 직관적이기 때문에 많은 보안 전문가들이 선호하는 도구 중 하나이다.
1. John the Ripper 설치
Kali Linux에는 기본적으로 John the Ripper가 설치되어 있지만, 다른 리눅스 배포판에서는 다음과 같은 명령어로 설치할 수 있다.
sudo apt-get install john
이 명령어로 설치를 완료한 후, 터미널에서 john 명령어를 입력하여 정상적으로 설치되었는지 확인할 수 있다.
2. 해시 파일 준비
John the Ripper는 암호화된 패스워드, 즉 해시 값을 크랙하는 도구이다. 따라서 크랙 할 대상 파일에는 해시 값이 포함되어 있어야 한다. 예를 들어, 해시 파일 hash.txt가 있다고 가정하자.
해시 파일은 일반적으로 다음과 같은 형태로 구성되어 있다:
username:$1$abc123$5Sk2gk9BkWPO3N7W.:14876:0:99999:7:::
여기서 $1$는 해시 알고리즘을 의미하고, 이후에 해시된 패스워드 값이 뒤따른다.
3. 패스워드 크랙 시작
해시 파일을 준비했다면 다음과 같은 명령어로 패스워드 크랙을 시도할 수 있다.
john hash.txt
이 명령어를 입력하면 John the Ripper가 자동으로 해시 파일의 형식을 인식하고, 크랙을 시작하게 된다. 내부적으로는 wordlist를 사용하여 크랙을 진행하며, 기본적으로 Kali Linux에는 rockyou.txt라는 유명한 wordlist가 포함되어 있다.
4. Cracked Password 확인
John the Ripper는 크랙된 패스워드를 기본적으로 john.pot 파일에 저장한다. 하지만 이 파일을 직접 열지 않아도, 크랙 결과를 간단히 확인할 수 있는 명령어가 있다.
john --show hash.txt
위 명령어를 입력하면, 크랙된 패스워드 목록을 쉽게 확인할 수 있다.
5. Wordlist를 사용한 크랙
John the Ripper는 기본적으로 내부 wordlist를 사용하지만, 외부 wordlist를 지정할 수도 있다. 예를 들어, rockyou.txt를 사용하고 싶다면 다음과 같이 명령어를 입력하면 된다.
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
이 명령어는 /usr/share/wordlists/rockyou.txt 파일을 wordlist로 사용하여 패스워드를 크랙 한다.
6. 해시 타입 지정
John the Ripper가 자동으로 해시 타입을 인식하지 못할 경우, 명시적으로 해시 타입을 지정할 수도 있다. 예를 들어, MD5 해시의 경우 다음과 같은 명령어를 사용한다.
john --format=raw-md5 hash.txt
이 명령어는 해시 형식이 MD5임을 명시하고, 해당 해시 파일을 크랙 하도록 지시한다.
7. 세션 저장 및 재개
John the Ripper는 크랙 작업을 일시 중지하고 나중에 다시 시작할 수 있는 기능을 제공한다. 작업을 일시 중지하려면 터미널에서 Ctrl+C를 누르면 되며, 세션을 재개하려면 다음과 같은 명령어를 입력한다.
john --restore
이 명령어는 중지된 세션을 다시 시작하여 크랙을 이어간다.
8. 크랙 된 패스워드 파일 직접 확인
John the Ripper가 크랙 한 패스워드는. pot 파일에 저장된다. 이 파일을 직접 확인하려면 다음과 같은 명령어를 사용한다.
cat ~/.john/john.pot
이 파일을 열면 크랙 된 패스워드와 해당 계정을 확인할 수 있다.
실습 - shadow 파일 크랙하기
다음 3개에 대한 계정의 password를 얻으면 된다.
해시 형태가 $y$j9T인 것을 봐서 yescrypt를 사용하고 있고, john에 넣을 때 --format=crypt를 통해 지정할 수 있다.
또한 wordlist를 구해야 하는데, NordPass에 한국인이 가장 많이 쓴 비밀번호 리스트를 제공하여 그 리스트를 사용하면 된다.
https://nordpass.com/most-common-passwords-list/
Top 200 Most Common Passwords List
Explore NordPass' 5th annual 200 most common passwords list. Discover password trends across 35 countries and 8 platform categories.
nordpass.com
해당 리스트를 다운로드하여서 word.txt로 저장해 주고 명령어를 실행하면 된다.
john --format=crypt --wordlist=word.txt shadow
이렇게 패스워드 크래킹을 진행할 수 있다.
'digital forensics' 카테고리의 다른 글
[우암던전] Buffer Over Flow (0) | 2024.11.06 |
---|---|
[우암던전] Privilege Escalation: Exploitation for Privilege Escalation (2) | 2024.10.17 |
[시스템 보안 실습] - MITRE ATT&CK 개요 (2) | 2024.09.05 |
FAT32 VS exFAT (0) | 2024.06.12 |
[volatility 3] 설치 및 리눅스(ubuntu) 메모리 분석 (2) | 2024.05.29 |