How-to: John the Ripper on a Ubuntu 10.04 MPI Cluster


In this PDF file:[ENGLISH] [ICELANDIC] i show step-by-step how you can setup your own “Super computer cluster” using Ubuntu MPI Cluster from multiple machines with the goal of bruteforcing strong encrypted passwords with John the Ripper for academic purposes.
Owners of quad core machines will also benefit from my paper as the “john” binaries found in the Ubuntu Repositories are compiled to run on only one core.
I managed to decrease the time required to crack password hashes at home to a fraction (9% of the original time) using my 3 computers with this setup.
The paper is meant to be plain and simple aimed towards the average user, thus i choose not to implement NIS, NFS, BIND, and other more complex technologies.
A student should be able to setup and play with a computer cluster system at home without spend days reading through Linux systems-administrators books and manuals.
I make use of Ubuntu 10.04 as it is the most commonly used available Linux distribution today.
I suggest “MPI Programming” as the google keyword for those interested in learning how-to write programs for such systems.
If you have any suggestions, problems, comments or would like to contribute to this document leave a comment or email me.

20 Replies to “How-to: John the Ripper on a Ubuntu 10.04 MPI Cluster”

  1. There are a few mistakes in the PDF.
    Page 3 Foreward: I not capitalised.
    Page 3 History: myself, one word. computer requires s.
    Page 4 sudo apt-get isntall should be install. (what actually prompted me to leave a comment)
    It might pay to proof read it further when you’ve had more sleep 🙂

    1. I have not found a version of avidemux, ffmpeg or a similar program which has been patched\rewritten with MPI.
      The ability to run video encoding software on a cluster would be awesome!
      If you do find such a program you would need to add an NFS (preferably over Samba) to the server and mount the shared directory on all of the notes.
      This must be done in order for the nodes to have access to a single input\output source.

  2. Sorry to bother you again, how to install john the ripper anyway ?
    i follow your instruction but when i :
    john|grep version
    it said
    The program ‘john’ is currently not installed. You can install it by typing:
    sudo apt-get install john
    john: command not found
    I’m using mint 8 btw, and mpdtrace and mpiexec -np 3 hostname show my laptop and my desktop, so i guess my mpi cluster are configured properly. i just want to test them.
    thank again

    1. See if your PATH is setup correctly, try the command “echo $PATH”
      It should show something like this:
      petur@petur-laptop:~$ echo $PATH
      Note that /home/petur/bin: is the first part of the line.
      This is according to the step on top of page 5, where the command:
      sudo su – cluster -c “mkdir ~/bin;export PATH=~/bin:$PATH”
      is executed.
      Did you miss that step?
      If so execute the sudo command presented above as your main user, or simply execute “mkdir ~/bin;export PATH=~/bin:$PATH” as your ‘cluster’ user.

      1. sorry but still no luck here, but the cluster is running, that all i want to learn.
        Btw your pdf would be better if you rearrange them and put “installing john the ripper” and “running john the ripper” on pages 9 and 10. other that that, it might good idea to write the commang so ppl can just copy-paste because some ppl might type them wrong and fail (silly me).
        i\ll try another program, nfs etc…

  3. Hi,
    And have you try to the side of Transcode who have a clutter mode ? you could see too Dvdrip who use this mode in a graphical way but i don’t know if you can patch it with mpi.

  4. This is such a great resource that you are providing and you give it away for free. I enjoy seeing websites that understand the value of providing a prime resource for free. I truly loved reading your post. Thanks!

  5. Not convincing… With my cpu I achivied for MD5
    Raw: 12718 c/s real, 12743 c/s virtual
    further more you need more “machines” to build a supercomputer. Why not try to build one with more than 1 graphic card…

    1. Modifying a program to run on a MPICH based cluster is “very easy” compared to the GPU approach & only thinking about trying to find a skilled programmer to do so is enough to make me think of spider-webs and dust.

  6. Pétur –
    Thank you for this tutorial. I’ve just added it to the archive here:
    It’d be nice if you add it to our wiki as well:
    and announce it on the john-users mailing list.
    Also, you could want to consider updating the tutorial to use magnum’s FullMPI patch, which has replaced bindshell’s patch by now:
    The bindshell patch worked for incremental mode only. magnum’s patch works for other modes as well – and it applies on top of the latest version of JtR and jumbo patch. There’s no pre-patched source tree, but patching should be simple enough for the readers of your tutorial if you refer them to:

Leave a Reply