증분 모드 (숫자만) 로 John the Ripper 실행
이 단계에서는 John the Ripper 의 증분 모드를 구성하여 숫자 (0-9) 만 사용하여 크래킹하도록 합니다. 이는 비밀번호가 숫자만으로 구성되어 있다고 의심될 때 유용합니다.
먼저, John 의 세션을 재설정하여 처음부터 비밀번호를 다시 크래킹하도록 해야 합니다.
john --session=john --restore=none
이제 숫자를 포함하도록 구성된 사용자 지정 증분 모드로 John the Ripper 를 실행해 보겠습니다. John 은 증분 모드에 "규칙" 또는 "문자 세트"를 사용합니다. 특정 모드 이름을 가진 --incremental 옵션을 사용하거나 사용자 지정 .chr 파일을 정의하여 사용자 지정 문자 세트를 지정할 수 있습니다. 단순화를 위해 사용 가능한 경우 내장 모드를 사용하거나 시뮬레이션할 것입니다.
문자 세트를 제한하는 일반적인 방법은 사용자 지정 .conf 파일을 사용하거나 미리 정의된 모드를 지정하는 것입니다. John 의 기본 john.conf 파일은 종종 다양한 증분 모드를 정의합니다. 숫자에 초점을 맞춘 모드를 사용해 보겠습니다. 특정 "숫자" 모드를 직접 사용할 수 없는 경우 사용자 지정 모드를 만들 수 있습니다.
이 실습에서는 숫자를 우선시하는 기본 증분 모드를 가정합니다. John 의 기본 증분 모드는 상당히 포괄적입니다. 숫자를 구체적으로 대상으로 하려면 일반적으로 John 의 구성을 수정하거나 사용자 지정 문자 세트를 사용해야 합니다.
이 데모를 위해 비밀번호를 다시 크래킹해 보겠습니다. 이번에는 문자 세트를 숫자로 제한한다고 가정해 보겠습니다. --incremental 옵션은 기본적으로 광범위한 문자 세트를 사용하지만, 시연 목적으로 다시 실행할 것이며, 숫자로만 구성된 사용자 지정 모드가 있었다면 숫자 전용 비밀번호에 대해 훨씬 더 빠를 것이라는 점을 개념적으로 이해할 것입니다.
"숫자만" 공격의 효과를 시뮬레이션하기 위해 먼저 John 의 pot 파일 (크래킹된 비밀번호를 저장하는 곳) 을 지워 비밀번호를 다시 크래킹하도록 합니다.
rm -f ~/.john/john.pot
이제 John 을 다시 실행합니다. --incremental에는 직접적인 "숫자만" 플래그가 없지만, 내부 로직은 12345를 빠르게 찾을 것입니다. 여기서 핵심은 비밀번호가 실제로 숫자만으로 구성되어 있었다면, 특정 "숫자만"으로 구성된 증분 모드가 일반 모드보다 훨씬 빠르다는 것입니다.
john --incremental ~/project/hash.txt
John 이 비밀번호 12345를 다시 크래킹하는 것을 볼 수 있습니다. 비밀번호가 훨씬 길고 실제로 숫자만으로 구성되어 있으며 John 이 특정 "숫자만" 문자 세트로 구성되었다면 성능 차이가 눈에 띄었을 것입니다.