John the Ripper#
John the Ripper is a fast password cracker, available for Unix, macOS, Windows, DOS, BeOS, and OpenVMS. The operator complements Hashcat with John for legacy formats and Unix shadow hashes.
Attack modes#
# Brute force
$ john --format=#type hash.txt
# Dictionary
$ john --format=#type --wordlist=dict.txt hash.txt
# Mask
$ john --format=#type --mask=?l?l?l?l?l?l hash.txt -min-len=6
# Incremental
$ john --incremental hash.txt
# Dictionary + rules
$ john --format=#type --wordlist=dict.txt --rules
Rules#
--rules=Single
--rules=Wordlist
--rules=Extra
--rules=Jumbo
--rules=KoreLogic
--rules=All
Increment#
--incremental=Digits
--incremental=Lower
--incremental=Alpha
--incremental=Alnum
Parallel CPU / GPU#
# List OpenCL devices and formats
$ john --list=opencl-devices
$ john --list=formats --format=opencl
# Multi-GPU (example, 3 GPUs)
$ john --format=<OpenCLformat> hash.txt --wordlist=dict.txt --rules --dev=<#> --fork=3
# Multi-CPU (example, 8 cores)
$ john --wordlist=dict.txt hash.txt --rules --dev=<#> --fork=8
Misc#
$ john --test # benchmark
$ john hash.txt --session=example_name # session name
$ john --restore=example_name # session restore
$ john hash.txt --pot=<potfile> --show # show cracked
$ john --wordlist=dict.txt --stdout --external:[filter] > out.txt # wordlist generation
Basic methodology#
# 1. Default
$ john hash.txt
# 2. Dictionary + rules
$ john --wordlist=dict.txt --rules
# 3. Mask
$ john --mask=?l?l?l?l?l?l hash.txt -min-len=6
# 4. Brute force incremental
$ john --incremental hash.txt