john README

The project's README from github.com/openwall/john. As one markdown file: README.md.

Circle CI Downloads License GitHub commit activity GitHub commits since tagged version

John the Ripper

This is the community-enhanced, "jumbo" version of John the Ripper. It has a lot of code, documentation, and data contributed by jumbo developers and the user community. It is easy for new code to be added to jumbo, and the quality requirements are low, although lately we've started subjecting all contributions to quite some automated testing. This means that you get a lot of functionality that is not necessarily "mature", which in turn means that bugs in this code are to be expected.

John the Ripper homepage is:

https://www.openwall.com/john/

If you have any comments on this release or on JtR in general, please join the john-users mailing list and post in there:

https://www.openwall.com/lists/john-users/

For contributions to John the Ripper jumbo, please use pull requests on GitHub:

https://github.com/openwall/john/blob/bleeding-jumbo/CONTRIBUTING.md

Included below is basic John the Ripper core documentation.


John the Ripper password cracker.

John the Ripper is a fast password cracker, currently available for many flavors of Unix, macOS, Windows, DOS, 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 LM hashes, as well as DES-based tripcodes, plus hundreds of additional hashes and ciphers in "-jumbo" versions.

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:

john passwd

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 'q' 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 complete handling of 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:

john --restore

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 that fits your system best, e.g. "john-omp" to take advantage of multiple CPUs and/or CPU cores.

Features.

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 DES-based, "bigcrypt", BSDI extended DES-based, FreeBSD MD5-based (also used on Linux and in Cisco IOS), and OpenBSD Blowfish-based (now also used on some Linux distributions and supported by recent versions of Solaris). Also supported out of the box are Kerberos/AFS and Windows LM (DES-based) hashes, as well as DES-based tripcodes.

When running on Linux distributions with glibc 2.7+, John 1.7.6+ additionally supports (and autodetects) SHA-crypt hashes (which are actually used by recent versions of Fedora and Ubuntu), with optional OpenMP parallelization (requires GCC 4.2+, needs to be explicitly enabled at compile-time by uncommenting the proper OMPFLAGS line near the beginning of the Makefile).

Similarly, when running on recent versions of Solaris, John 1.7.6+ supports and autodetects SHA-crypt and SunMD5 hashes, also with optional OpenMP parallelization (requires GCC 4.2+ or recent Sun Studio, needs to be explicitly enabled at compile-time by uncommenting the proper OMPFLAGS line near the beginning of the Makefile and at runtime by setting the OMP_NUM_THREADS environment variable to the desired number of threads).

"-jumbo" versions add support for hundreds of additional hash and cipher types, including fast built-in implementations of SHA-crypt and SunMD5, Windows NTLM (MD4-based) password hashes, various macOS and Mac OS X user password hashes, fast hashes such as raw MD5, SHA-1, SHA-256, and SHA-512 (which many "web applications" historically misuse for passwords), various other "web application" password hashes, various SQL and LDAP server password hashes, and lots of other hash types, as well as many non-hashes such as SSH private keys, S/Key skeykeys files, Kerberos TGTs, encrypted filesystems such as macOS .dmg files and "sparse bundles", encrypted archives such as ZIP (classic PKZIP and WinZip/AES), RAR, and 7z, encrypted document files such as PDF and Microsoft Office's - and these are just some examples. To load some of these larger files for cracking, a corresponding bundled *2john program should be used first, and then its output fed into JtR -jumbo.

Graphical User Interface (GUI).

There is an official GUI for John the Ripper: Johnny.

Despite the fact that Johnny is oriented onto JtR core, all basic functionality is supposed to work in all versions, including jumbo.

Johnny is a separate program, therefore you need to have John the Ripper installed in order to use it.

More information about Johnny and its releases is on the wiki:

https://openwall.info/wiki/john/johnny

Documentation.

The rest of documentation is located in separate files, listed here in the recommended order of reading:

(*) most users can safely skip these.

There are a lot of additional documentation files in jumbo's "doc" directory, which you'll also want to explore.

Happy reading!

john (openwall/john)

Searching Database…

13.8K ·GitHub
这是干什么用的?一款快速的离线密码破解工具。它主要用于检测弱的 Unix 密码,而 jumbo 版本支持数百种哈希和加密类型,可以在 Unix、macOS、Windows 等多种系统上运行。
它是命令行工具,还是有图形界面?它是命令行工具。有一个叫 Johnny 的官方图形界面,但它是单独的程序,需要和 John the Ripper 一起另行安装。
我怎么把它跑起来开始破解?按照 INSTALL 文件编译或解包出可执行文件,然后对密码文件运行它:'john passwd',或者限制它只用带变换规则的字典:'john --wordlist=password.lst --rules passwd'。
要用上我所有的 CPU 核心需要什么特殊条件吗?它由 C 源码编译而来,运行时没有特殊要求。多核 OpenMP 支持需要 GCC 4.2+,并且要在编译时取消 Makefile 中某行 OMPFLAGS 的注释来启用;有些预编译发行版则直接附带一个 'john-omp' 可执行文件。
jumbo 版本稳定到可以放心依赖吗?Jumbo 用成熟度换来了功能广度:它的很多代码来自社区贡献,质量要求不高,所以出现 bug 属于正常情况——不过现在 contributions 都要经过自动化测试。
它需要联网吗,会把哈希发送到别的地方吗?不需要。它是离线破解工具:一切都只在你自己的 CPU/GPU 上对本地文件进行。
可以免费使用吗?可以——它基于 GNU GPL version 2 免费开源,详细的版权条款见 LICENSE 文件。
它能用我的 GPU 吗?可以。按项目介绍,它能运行在多种 CPU、GPU 甚至部分 FPGA 上,GPU 支持基于 OpenCL(仓库的一个 topic)。
我可以自定义破解模式吗?可以。John 是完全可配置的,你甚至可以用它内置的支持 C 语言子集的编译器来定义自定义破解模式。
破解会话可以在不同机器或操作系统之间转移吗?可以。John 支持多种平台,并且专门设计成可以在另一个平台上继续你之前开始的会话。
破解出来的密码在哪里?它们会打印到终端,并保存到 $JOHN/john.pot。这个文件还能让 John 在下次运行时跳过已破解的哈希,随时用 'john --show passwd' 可以重新打印结果。
Creator
openwall
Size
130.4 MB
Stars
13.8K
Updated
CommitOct 11
Age
14y
Commits · 90 Days