John the Ripper password cracker.
John the Ripper is a fast password cracker, currently available for
many flavors of Unix (11 are officially supported, not counting
different architectures), DOS, Win32, BeOS, and OpenVMS (the latter
requires a contributed patch). Its primary purpose is to detect weak
Unix passwords. Besides several crypt(3) password hash types most
commonly found on various Unix flavors, supported out of the box are
Kerberos/AFS and Windows NT/2000/XP LM hashes, plus several more with
How to install.
See INSTALL for information on installing John on your system.
How to use.
To run John, you need to supply it with some password files and
optionally specify a cracking mode, like this, using the default order
of modes and assuming that "passwd" is a copy of your password file:
or, to restrict it to the wordlist mode only, but permitting the use
of word mangling rules:
john --wordlist=password.lst --rules passwd
Cracked passwords will be printed to the terminal and saved in the
file called $JOHN/john.pot (in the documentation and in the
configuration file for John, "$JOHN" refers to John's "home
directory"; which directory it really is depends on how you installed
John). The $JOHN/john.pot file is also used to not load password
hashes that you already cracked when you run John the next time.
To retrieve the cracked passwords, run:
john --show passwd
While cracking, you can press any key for status, or Ctrl-C to abort
the session saving its state to a file ($JOHN/john.rec by default).
If you press Ctrl-C for a second time before John had a chance to
handle your first Ctrl-C, John will abort immediately without saving.
By default, the state is also saved every 10 minutes to permit for
recovery in case of a crash.
To continue an interrupted session, run:
These are just the most essential things you can do with John. For
a complete list of command line options and for more complicated usage
examples you should refer to OPTIONS and EXAMPLES, respectively.
Please note that "binary" (pre-compiled) distributions of John may
include alternate executables instead of just "john". You may need to
choose the executable which fits your system best, e.g. "john-mmx" to
take advantage of MMX acceleration.
Features and performance.
John the Ripper is designed to be both feature-rich and fast. It
combines several cracking modes in one program and is fully
configurable for your particular needs (you can even define a custom
cracking mode using the built-in compiler supporting a subset of C).
Also, John is available for several different platforms which enables
you to use the same cracker everywhere (you can even continue a
cracking session which you started on another platform).
Out of the box, John supports (and autodetects) the following Unix
crypt(3) hash types: traditional and double-length DES-based, BSDI
extended DES-based, FreeBSD MD5-based (now also used on Linux and in
Cisco IOS), and OpenBSD Blowfish-based (now also used on some Linux
distributions). Also supported out of the box are Kerberos/AFS and
Windows NT/2000/XP LM (DES-based) hashes.
Contributed patches add support for many more password hash types,
including Windows NT/2000/XP NTLM (MD4-based) hashes, several hash
types used on OpenVMS, hashes used by MySQL, Netscape LDAP server,
Eggdrop IRC bot, S/Key skeykeys files, and for Kerberos v4 TGTs.
Unlike other crackers, John doesn't use a crypt(3)-style routine.
Instead, it has its own highly optimized modules for different hash
types and processor architectures. Some of the algorithms used, such
as bitslice DES, couldn't have been implemented within the crypt(3)
API; they require a more powerful interface such as the one used in
John. Additionally, there are assembly language routines for several
processor architectures, most importantly for x86 with MMX.
The rest of documentation is located in separate files, listed here in
the recommended order of reading:
* INSTALL - installation instructions
* OPTIONS - command line options and additional utilities
* MODES - cracking modes: what they are
* CONFIG (*) - how to customize
* RULES (*) - wordlist rules syntax
* EXTERNAL (*) - defining an external mode
* EXAMPLES - usage examples - strongly recommended
* FAQ - guess
* CHANGES (*) - history of changes
* CONTACT (*) - how to contact the author or otherwise obtain support
* CREDITS (*) - credits
* LICENSE - copyrights and licensing terms
(*) most users can safely skip these.
$Owl: Owl/packages/john/john/doc/README,v 1.14 2006/01/10 19:51:49 solar Exp $