John the Ripper is a fast password cracker, currently available for many flavors of Unix, Windows, DOS, BeOS, and OpenVMS. Its primary purpose is to detect weak Unix passwords. Besides several crypt(3) password hash types most commonly found on various Unix systems, supported out of the box are Windows LM hashes, plus lots of other hashes and ciphers in the community-enhanced version.
Today we are going to show you how to compile John the Ripper to use all of your processors (we will talk about compiling for NVIDIA GPUs later).
First you should visit Openwall's site and download the John the Ripper source code. I recommend getting the community-enhanced version since it contains support for many other hashes and ciphers. As of this writing, the current version of the community edition is 1.7.9.
You
also need to install a compiler and ssl. On Ubuntu systems, you can
just install the build-essential package, and libssl-dev.
sudo
apt-get install build-essential libssl-dev
Download
and verify the version suitable for your platform. In this example I
am compiling on Linux Mint 17 (Ubuntu Trusty).
Extract
the tar:
tar -xvf john*.tar.gz
Enter
the newly created directory into the “run” directory:
cd john*/src
Important: This
step enables parallel-processing in John using OpenMP.
nano Makefile
Remove the # before
OMPFLAGS = -fopenmp
and
OMPFLAGS = -fopenmp -msse2
Now save, and close.
Type “
make | more”
and choose the type of system that you are using. I am running a
64bit version of Linux, so I will choose linux-x86-64-native.
If you have a 32 bit system, make sure to choose x86. If you don't
know what to choose then “generic” will probably work for you.
Once you have edited
the Makefile, and picked the system to compile for, then build the
program:
make clean
linux-x86-64-native
On multi-processor
systems you can also add -j5 where 5 is the number of processors on
your system.
make clean
linux-x86-64-native -j5
Once the process is
done – if it had no errors – then the binaries will be in the
'run' directory.
cd ../run
You can test it by
running
./john --test
Troubleshooting
If there was an
error building, try building “generic”. If it works, then you
probably chose the wrong build options.


0 comments:
Post a Comment