
John the Ripper jumbo - 수백 가지 해시 및 암호화 유형을 지원하고 다양한 운영 체제, CPU, GPU 및 일부 FPGA에서 실행되는 고급 오프라인 암호 크래커입니다.
이것은 John the Ripper의 커뮤니티 강화 버전인 "jumbo" 버전입니다. jumbo 개발자와 사용자 커뮤니티가 기여한 많은 코드, 문서 및 데이터를 포함하고 있습니다. jumbo에 새로운 코드를 추가하는 것은 쉬우며, 품질 요구 사항은 낮지만, 최근에는 모든 기여에 대해 상당한 자동화된 테스트를 적용하기 시작했습니다. 즉, 반드시 "성숙한" 것은 아닌 많은 기능을 제공하며, 이는 이 코드에 버그가 있을 수 있음을 의미합니다.
John the Ripper 홈페이지는 다음과 같습니다:
https://www.openwall.com/john/
이 릴리스 또는 JtR 일반에 대한 의견이 있으시면 john-users 메일링 리스트에 가입하여 게시해 주십시오:
https://www.openwall.com/lists/john-users/
John the Ripper jumbo에 기여하려면 GitHub에서 풀 리퀘스트를 사용해 주십시오:
https://github.com/openwall/john/blob/bleeding-jumbo/CONTRIBUTING.md
아래에는 기본 John the Ripper 코어 문서가 포함되어 있습니다.
John the Ripper는 빠른 비밀번호 크래커로, 현재 Unix, macOS, Windows, DOS, BeOS, OpenVMS의 여러 변종 (후자는 기여 패치 필요)에서 사용할 수 있습니다. 주요 목적은 약한 Unix 비밀번호를 탐지하는 것입니다. 다양한 Unix 변종에서 가장 흔히 발견되는 여러 crypt(3) 비밀번호 해시 유형 외에도, 기본적으로 Kerberos/AFS 및 Windows LM 해시, DES 기반 트립코드, 그리고 "-jumbo" 버전에서는 수백 가지의 추가 해시 및 암호를 지원합니다.
시스템에 John을 설치하는 방법에 대한 정보는 INSTALL을 참조하십시오.
John을 실행하려면 비밀번호 파일을 제공하고 선택적으로 크래킹 모드를 지정해야 합니다. 예를 들어, 기본 모드 순서를 사용하고 "passwd"가 비밀번호 파일의 복사본이라고 가정하면 다음과 같습니다:
john passwd
또는, 단어 목록 모드로만 제한하지만 단어 변형 규칙을 허용하려면:
john --wordlist=password.lst --rules passwd
크래킹된 비밀번호는 터미널에 출력되고 $JOHN/john.pot 파일에 저장됩니다 (문서 및 John 구성 파일에서 "$JOHN"은 John의 "홈 디렉토리"를 의미하며, 실제 디렉토리는 John을 설치한 방법에 따라 다릅니다). $JOHN/john.pot 파일은 다음에 John을 실행할 때 이미 크래킹된 비밀번호 해시를 로드하지 않는 데에도 사용됩니다.
크래킹된 비밀번호를 검색하려면 다음을 실행하십시오:
john --show passwd
크래킹 중에는 아무 키나 눌러 상태를 확인하거나, 'q' 또는 Ctrl-C를 눌러 세션을 중단하고 상태를 파일($JOHN/john.rec, 기본값)에 저장할 수 있습니다. John이 첫 번째 Ctrl-C 처리를 완료하기 전에 두 번째로 Ctrl-C를 누르면 저장 없이 즉시 중단됩니다. 기본적으로 상태는 10분마다 저장되어 충돌 시 복구를 허용합니다.
중단된 세션을 계속하려면 다음을 실행하십시오:
john --restore
이것들은 John으로 할 수 있는 가장 기본적인 작업입니다. 명령줄 옵션의 전체 목록과 더 복잡한 사용 예제는 각각 OPTIONS 및 EXAMPLES를 참조하십시오.
John의 "바이너리"(사전 컴파일된) 배포판에는 "john" 대신 대체 실행 파일이 포함될 수 있습니다. 시스템에 가장 적합한 실행 파일을 선택해야 할 수 있습니다. 예를 들어, 여러 CPU 및/또는 CPU 코어를 활용하려면 "john-omp"를 선택하십시오.
John the Ripper는 기능이 풍부하고 빠르도록 설계되었습니다. 하나의 프로그램에 여러 크래킹 모드를 결합하며 특정 요구에 맞게 완전히 구성 가능합니다 (C의 하위 집합을 지원하는 내장 컴파일러를 사용하여 사용자 정의 크래킹 모드를 정의할 수도 있습니다). 또한 John은 여러 다른 플랫폼에서 사용 가능하므로 어디서나 동일한 크래커를 사용할 수 있습니다 (다른 플랫폼에서 시작한 크래킹 세션을 계속할 수도 있습니다).
기본적으로 John은 다음 Unix crypt(3) 해시 유형을 지원하고 자동 감지합니다: 전통적인 DES 기반, "bigcrypt", BSDI 확장 DES 기반, FreeBSD MD5 기반 (Linux 및 Cisco IOS에서도 사용됨), OpenBSD Blowfish 기반 (현재 일부 Linux 배포판에서도 사용되며 최신 Solaris 버전에서 지원됨). 또한 Kerberos/AFS 및 Windows LM (DES 기반) 해시, DES 기반 트립코드도 기본적으로 지원됩니다.
glibc 2.7+가 있는 Linux 배포판에서 실행할 때 John 1.7.6+는 SHA-crypt 해시 (실제로 최신 Fedora 및 Ubuntu 버전에서 사용됨)를 추가로 지원하고 자동 감지하며, 선택적 OpenMP 병렬화를 제공합니다 (GCC 4.2+ 필요, Makefile 시작 부분 근처에서 적절한 OMPFLAGS 행의 주석을 해제하여 컴파일 시 명시적으로 활성화해야 함).
마찬가지로, 최신 Solaris 버전에서 실행할 때 John 1.7.6+는 SHA-crypt 및 SunMD5 해시를 지원하고 자동 감지하며, 선택적 OpenMP 병렬화를 제공합니다 (GCC 4.2+ 또는 최신 Sun Studio 필요, Makefile 시작 부분 근처에서 적절한 OMPFLAGS 행의 주석을 해제하여 컴파일 시 명시적으로 활성화하고, 실행 시 OMP_NUM_THREADS 환경 변수를 원하는 스레드 수로 설정해야 함).
"-jumbo" 버전은 수백 가지의 추가 해시 및 암호 유형에 대한 지원을 추가합니다. 여기에는 SHA-crypt 및 SunMD5의 빠른 내장 구현, Windows NTLM (MD4 기반) 비밀번호 해시, 다양한 macOS 및 Mac OS X 사용자 비밀번호 해시, raw MD5, SHA-1, SHA-256, SHA-512와 같은 빠른 해시 (많은 "웹 애플리케이션"이 역사적으로 비밀번호에 오용함), 다양한 기타 "웹 애플리케이션" 비밀번호 해시, 다양한 SQL 및 LDAP 서버 비밀번호 해시, 그리고 수많은 다른 해시 유형뿐만 아니라 SSH 개인 키, S/Key skeykeys 파일, Kerberos TGT, macOS .dmg 파일 및 "sparse bundle"과 같은 암호화된 파일 시스템, ZIP (클래식 PKZIP 및 WinZip/AES), RAR, 7z와 같은 암호화된 아카이브, PDF 및 Microsoft Office와 같은 암호화된 문서 파일 등이 포함됩니다. 이는 몇 가지 예시에 불과합니다. 이러한 대형 파일 중 일부를 크래킹하기 위해 로드하려면 먼저 해당 번들 *2john 프로그램을 사용하고 그 출력을 JtR -jumbo에 입력해야 합니다.
John the Ripper용 공식 GUI가 있습니다: Johnny.
Johnny가 JtR 코어에 중점을 두고 있지만, 모든 기본 기능은 jumbo를 포함한 모든 버전에서 작동해야 합니다.
Johnny는 별도의 프로그램이므로 사용하려면 John the Ripper가 설치되어 있어야 합니다.
Johnny 및 해당 릴리스에 대한 자세한 정보는 위키에서 확인할 수 있습니다:
https://openwall.info/wiki/john/johnny
나머지 문서는 별도 파일에 있으며, 권장 읽기 순서대로 아래에 나열되어 있습니다:
(*) 대부분의 사용자는 안전하게 건너뛸 수 있습니다.
jumbo의 "doc" 디렉토리에는 탐색하고 싶은 추가 문서 파일이 많이 있습니다.
즐거운 읽기 되세요!