John the Ripper is an open source password security auditing and password recovery tool available for many operating systems.

What is John the Ripper?

John the Ripper is a password cracking tool originally produced for Unix-based systems. Its main objective is to correctly guess ("crack") a password. It uses several modes to test password strength, such as wordlist, single crack, incremental and external modes.

Is John the Ripper command-line only?

Yes, John the Ripper is a command-line only application, on Windows as well as macOS and Unix-based operating systems.

Is John the Ripper free?

John the Ripper is free for personal use. There's also a Pro version designed for professional pen-testers and ethical hackers.

How to use John the Ripper?

For Windows users, download the zip file listed here. Extract the file and open the "run" folder using the Command Prompt. Once in Command Prompt (you should see C:\john-1.9.0-jumbo-1-win64\run>), type "john" to run the application. Running C:\john-1.9.0-jumbo-1-win64\run>john will show all the options available. Information for other operating systems you can check out John the Ripper guides here.

Why is John the Ripper so popular?

Its huge popularity is because of its ability to detect password hash types automatically, run several types of attacks to include the classic dictionary attack as well as a brute force attack. In addition, it offers a free and open source version, as well as wide community support.

Features

John the Ripper supports hundreds of hash and cipher types, including for:

  • User passwords of Unix flavors (Linux, *BSD, Solaris, AIX, QNX, etc.)
  • macOS, Windows, "web apps" (e.g., WordPress)
  • Groupware (e.g., Notes/Domino)
  • Database servers (SQL, LDAP, etc.)
  • Network traffic captures (Windows network authentication, WiFi WPA-PSK, etc.)
  • Encrypted private keys (SSH, GnuPG, cryptocurrency wallets, etc.)
  • Filesystems and disks (macOS .dmg files and "sparse bundles", Windows BitLocker, etc.)
  • Archives (ZIP, RAR, 7z)
  • Document files (PDF, Microsoft Office's, etc.)
  • These are just some of the examples - there are many more.

What's New

Major changes from 1.8.0-jumbo-1 (December 2014) to 1.9.0-jumbo-1 (May 2019):

  • Updated to 1.9.0 core, which brought the following relevant major changes:
  • Optimizations for faster handling of large password hash files (such as with tens or hundreds million hashes), including loading, cracking, and "--show". These include avoidance of unnecessary parsing (some of which creeped into the loader in prior jumbo versions), use of larger hash tables, optional use of SSE prefetch instructions on groups of many hash table lookups instead of doing the lookups one by one, and data layout changes to improve locality of reference. [Solar; 2015-2017]
  • Benchmark using all-different candidate passwords of length 7 by default (except for a few formats where the length is different - e.g., WPA's is 8 as that's the shortest valid), which resembles actual cracking and hashcat benchmarks closer. [Solar, magnum; 2019]
  • Bitslice DES implementation supporting more SIMD instruction sets than before (in addition to our prior support of MMX through AVX and XOP on x86(-64), NEON on 32-bit ARM, and AltiVec on POWER):
  • On x86(-64): AVX2, AVX-512 (including for second generation Xeon Phi), and MIC (for first generation Xeon Phi).
  • On Aarch64: Advanced SIMD (ASIMD). [Solar, magnum; 2015-2019]
  • Bitslice DES S-box expressions using AVX-512's "ternary logic" (actually, 3-input LUT) instructions (the _mm512_ternarylogic_epi32() intrinsic). [DeepLearningJohnDoe, Roman Rusakov, Solar; 2015, 2019]
  • (In jumbo, we now also use those expressions in OpenCL on NVIDIA Maxwell and above - in fact, that was their initial target, for which they were implemented in both JtR jumbo and hashcat earlier than the reuse of these expressions on AVX-512.)