사용자 정의 추측 전략 개발하기
이 단계에서는 John the Ripper 와 함께 사용자 정의 규칙 파일 (rule file) 을 생성하고 사용하여 사용자 정의 추측 전략을 개발하는 방법을 배우게 됩니다. 이를 통해 알려진 비밀번호 패턴이나 사용자 습관에 기반한 고도로 타겟팅된 공격이 가능해집니다.
사용자 정의 전략을 위한 새로운 비밀번호 해시를 생성해 보겠습니다. 비밀번호로 LabEx@2023을 사용하겠습니다 (LabEx@2023의 MD5 해시는 e0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5입니다).
echo "custom_user:e0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5" > /home/labex/project/custom_passwords.txt
이제 첫 글자를 대문자로 만들고, @를 추가한 다음, 네 개의 숫자를 추가하는 사용자 정의 규칙 파일인 custom_rules.txt를 생성해 보겠습니다.
nano /home/labex/project/custom_rules.txt
custom_rules.txt 파일에 다음 내용을 추가합니다.
:
c
$@
$[0-9]$[0-9]$[0-9]$[0-9]
: (빈 규칙) - 규칙 세트를 시작하는 데 자주 사용되는 자리 표시자입니다.
c - 단어의 첫 글자를 대문자로 만듭니다.
$@ - @ 기호를 추가합니다.
$[0-9]$[0-9]$[0-9]$[0-9] - 네 개의 숫자를 추가합니다.
nano 를 저장하고 종료합니다 (Ctrl+X, Y, Enter).
이제 "labex"가 포함된 기본 단어 목록을 사용해 보겠습니다.
echo "labex" > /home/labex/project/base_custom_wordlist.txt
사용자 정의 규칙 파일을 사용하여 John the Ripper 를 실행합니다.
john --format=raw-md5 --wordlist=base_custom_wordlist.txt --rules=custom_rules.txt custom_passwords.txt
Using default input encoding: UTF-8
Loaded 1 password hash (Raw-MD5 [MD5])
Cost 1 (MD5 [MD5]) is not supported.
Will run John the Ripper in single-threaded mode.
Press 'q' or Ctrl-C to abort, almost any other key for status.
LabEx@2023 (custom_user)
1g 0:00:00:00 DONE (2023-10-27 08:20) 100.0g/s 100.0p/s 100.0c/s 100.0C/s LabEx@2023
크래킹된 비밀번호를 확인하려면 다음을 사용합니다.
john --show custom_passwords.txt
custom_user:LabEx@2023
1 password hash cracked, 0 left
이는 John the Ripper 의 규칙 엔진이 제공하는 유연성을 보여주며, 이를 통해 매우 구체적이고 효과적인 비밀번호 추측 전략을 만들 수 있습니다.