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

[ad#Google Adsense-1]
In this post 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 this setup 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 using this setup.

The post 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 Server as it is the most commonly used available Linux distribution today and it’s a LTS (Long Term Support) version, which will be supported till 2015.

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.

Foreword

First of all I must state that I’m no expert on MPICH, this guide is written by an hobbyist.

The cluster implementation presented in this paper is not meant for environments where high availability and security is an issue.

History

I found myself in a situation where I had to break up an old password of mine. Having a couple of computers around I started looking for a way to get them all working together.

This paper is the result of extreme frustration, an overdose of coffee and a sleepless night.

Requirements

At least two networked computers running Ubuntu Linux version 10.04.

John does not require much bandwidth.

Configuring the Server

Requirements

A static IP address or a reserved IP in DHCP.

Required packages

The following packages are required:

  • libmpich1.0-dev  –  mpich static libraries and development files
  • libmpich-mpd1.0-dev — mpich static libraries and development files
  • libmpich-shmem1.0-dev — mpich static libraries and development files
  • openssh-server — secure shell (SSH) server, for secure access from remote machines
  • mpich2 — Implementation of the MPI Message Passing Interface standard
  • mpich2-doc — Documentation for MPICH2
  • john — active password cracking tool
  • build-essentials – Informational list of build-essential packages

petur@server:~$ sudo apt-get install libmpich1.0-dev libmpich-mpd1.0-dev libmpich-shmem1.0-dev mpich2 mpich2-doc john openssh-server build-essentials

Network configuration

By default the /etc/hosts file looks like this:

127.0.0.1 localhost
127.0.1.1 server.petur.eu server

# The following lines are desirable for IPv6 capable hosts

::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

You need to change the 127.0.1.1 to your IP address.

<server.petur.eu> should be your FQDN and <server> is your machines hostname.

Find your IP by executing:
petur@server:~$ ifconfig|grep “inet addr”

inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255.0.0.0
inet addr: 127.0.0.1 Mask:255.0.0.0

/etc/hosts should look like this after you have changed it:

127.0.0.1 localhost
10.0.0.1 server.petur.eu server
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

User configuration

Create a new user called ‘cluster’ and add ~/bin/ to his path.

I find it most convenient to use the same pass for ‘cluster’ on every machine.

petur@server:~$ sudo useradd -m -s /bin/bash cluster
petur@server:~$ sudo passwd cluster

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

petur@server:~$ sudo su – cluster -c “mkdir ~/bin;export PATH=~/bin:$PATH”

Configuring MPICH

MPI makes use of the following configuration files:

• ~/.mpd.conf

NOTE: The file begins with a .

This file must be chmod 600

The this file contains a single line “secretword=<password>” (replace <password> with your password, which must be the same in all ~/.mpd.conf in the cluster).

• ~/mpd.hosts

Contains the list of all nodes in the cluster, including the server.
The format of the file is “host:number-of-cpu-cores”, fx. 10.0.0.2:4 if 10.0.0.2 has 4 cores.

The number of cores can be set lower than the actual core number if you only want MPICH to use a specific number of cores without regard to the number of available cores.

For an example, if the server has a quad core processor you might want to set the value to :3 instead of :4 so the server can be used for something else.

DO NOT use localhost or 127.0.0.1, you MUST use a network reachable IP.

Check the number of cores available, and create the configuration files.

cluster@server:~$ touch ~/.mpd.conf
cluster@server:~$ chmod 600 ~/.mpd.conf
cluster@server:~$ echo secretword=pass>~/.mpd.conf
cluster@server:~$ /sbin/ifconfig|grep “inet addr”
inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255.0.0.0
inet addr:127.0.0.1 Mask:255.0.0.0
cluster@server:~$ cat /proc/cpuinfo|grep processor|wc -l
1
cluster@server:~$ echo 10.0.0.1:1>~/mpd.hosts
Check if everything is in order by executing the following commands.

• mpdboot – start the cluster
• mpdtrace -  list all nodes in the cluster
• mpdallexit – shut down the cluster

cluster@server:~$ mpdboot
cluster@server:~$ mpdtrace
server
cluster@server:~$ mpdallexit

If the commands executed without any errors then your all set, if not then review the permissions on your ~/.mpd.conf, review your /etc/hosts and the contents of your ~/mpd.hosts

Installing John the Ripper

An MPI patched John the Ripper version can be found at www.bindshell.net/tools/johntheripper

cluster@server:~$ mkdir source
cluster@server:~$ cd source
cluster@server:~/source$ wget http://www.bindshell.net/tools/johntheripper/john-1.7.2-bp17-mpi8.tar.gz

Unpack it and run make from the src directory (use make|less if your resolution is too small)

cluster@server:~/source$ tar -zxf john-1.7.2-bp17-mpi8.tar.gz
cluster@server:~/source$ cd john-1.7.2-bp17-mpi8/src/
cluster@server:~/source/john-1.7.2-bp17-mpi8/src$ make

You will be presented with a list of options.

To build John the Ripper, type

make clean SYSTEM

where SYSTEM can be one of the following:
linux-x86-mmx Linux, x86 with MMX
linux-x86-sse Linux, x86 with SSE2 (best)
linux-x86-any Linux, x86
linux-x86-64 Linux, AMD x86-64, 64-bit native w/SSE2 (best)
linux-x86-64-mmx Linux, AMD x86-64, 32-bit with MMX

I’ve found linux-x86-sse2 to give the best performance on my intel based workstation.

cluster@server:~/source/john-1.7.2-bp17-mpi8/src$ make clean linux-x86-sse2

If the programs compiles OK check if it works

cluster@server:~/source/john-1.7.2-bp17-mpi8/src$ ../run/john -format=DES -test

Benchmarking: Traditional DES [128/128 BS SSE2]… DONE
Many salts: 1994K c/s real, 1994K c/s virtual
Only one salt: 1658 c/s real, 1654K c/s virtual

Move your newly compiled executables to ~/bin

cluster@server:~/source/john-1.7.2-bp17-mpi8/src$ mv ../run/* ~/bin

Run john and make sure you have the _mpi version.

If it does not then something is wrong with your PATH.

cluster@server:~/source/john-1.7.2-bp17-mpi8/src$ john|grep version

John the Ripper password cracker, version 1.7.2_bp17_mpi

Configuring extra nodes

Do the following each time you add a new node to the cluster.

This particular node has the IP address 10.0.0.2

Pre requirements

A static IP address or a reserved IP in DHCP.

Network configuration

Follow the same instructions as for the server, but of course use the correct IP address.

Required packages

Same as on the server.

User configuration

Choose the same password for ‘cluster’ as you did on the server.

petur@node1:~$ sudo useradd -m -s /bin/bash cluster
petur@node1:~$ sudo passwd cluster
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
petur@node1:~$ sudo su – cluster -c “mkdir ~/bin;export PATH=~/bin:$PATH”
[ad#Google Adsense-1]

Configuring MPICH

The following commands are to be executed from the server and not on the new node.

Configure password less SSH from the server to the node.

cluster@server:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cluster/.ssh/id_rsa):
Created directory ‘/home/cluster/.ssh’
Enter passpharse (empty for no passpharse):
Enter same passpharse again:
Your identification has been saved in /home/cluster/.ssh/id_rsa.
Your public key has been saved in /home/cluster/.ssh/id_rsa.pub.
The key fingerprint is:
0f:d7:c4:14:cf:06:11:d5:80:ec:1f:c3:f3:3b:7f:22 cluster@server
The key’s randomart image is:
[picture omitted]

cluster@server:~$ ssh cluster@10.0.0.2 mkdir -p .ssh
cluster@10.0.0.2′s password:

cluster@server:~$ cat .ssh/id_rsa.pub | ssh cluster@10.0.0.2 ‘cat>>.ssh/authorized_keys’

cluster@10.0.0.2′s password:

cluster@server:~$ ssh cluster@10.0.0.2 ‘cat /proc/cpuinfo|grep processor|wc -l’
2
cluster@server:~$ echo 10.0.0.2:2 >> ~/mpd.hosts

cluster@server:~$  for i in `cut –delimiter=: -f1 ~/mpd.hosts`;do scp ~/.mpd.conf cluster@$i:~;scp
~/mpd.hosts cluster@$i:~;done

The authenticity of host ’10.0.0.1 (10.0.0.1)’ can’t be established.
RSA key fingerprint is 2d:94:c6:40:b0:02:04:d9:86:c8:16:f3:e6:a7:9f:35.
Are you sure you want to countinue connecting (yes/no)? Yes
Warning: Permanently added ’10.0.0.1′ (RSA) to the list of known hosts.

cluster@10.0.0.1′s password:
mpd.conf 100% 16 0.0KB/s 00:00.
cluster@10.0.0.1′s password:
mpd.hosts 100% 22 0.0KB/s 00:00
mpd.conf 100% 16 0.0KB/s 00:00.
mpd.hosts 100% 22 0.0KB/s 00:00

Now add the line:
10.0.0.2 node1

to the /etc/hosts file on the server.

The final step is to replace the /etc/hosts on ALL of the node machines with the new /etc/hosts from the server. If this is not done then the following error will be shown when you try to boot the cluster

mpdboot_server (handle_mpd_output 407): failed to handshake with mpd on 10.0.0.2; recvd
output={}

Installing John the Ripper

Same as on the server.

Basic commands

Boot up the cluster using ‘mpdboot –verbose –ncpus=1 -n 2′

• –verbose :: gives us better overview of what’s going on in case of a failure.
• –ncpus=1 :: tells the server machine to assign 1 core to the cluster.
• -n 2 :: use 2 computer (server + 1 node).

NOTE, there are two dashes (-) in front of verbose and ncpus

cluster@server:~$ mpdboot –verbose –ncpus=1 -n 2
running mpdallexit on server
LAUNCHED mpd on server via
RUNNING: mpd on server
LAUCNHED mpd on 10.0.0.2 via server
RUNNING: mpd on 10.0.0.2

Check if the cluster is working:

mpdtrace – lists all the nodes in the cluster

mpiexec -np 3 hostname, means “run the hostname command using three cores”

cluster@server:~$ mpdtrace
server
node1

cluster@server:~$ mpiexec -np 3 hostname
server
node1
node1

mpdallexit – Shuts down the cluster

cluster@server:~$ mpdallexit

Using the MPI cluster to crack passwords.

I’ll use a simple MD5 hash as an example.

cluster@server:~$ echo user:47584a15f1ba6c65da3a2ef8e43e606b > crackme1.md5
cluster@server:~$ mpdboot –ncpus=2 -n 2boo

The next two lines must be entered together in one single line.
cluster@server:~$ for i in `cut –delimiter=: -f1 ~/mpd.hosts`;do scp ~/crackme1.mp5
cluster@$1:~;done

The above command used to distribute files to the cluster can be easily scripted.

— distributer.sh begins —

#!/bin/bash

# usage: ./distributer.sh filename

for x in `cut –delimiter=: -f1 ~/mpd.hosts`;do scp $1 cluster@$i:~;done

— distributer.sh ends —

Use ctrl+c once the password has been found.

cluster@server:~$ mpiexec -np 3 john –format:raw-MD5 crackme1.md5

Loaded 1 password hash (Raw MD5 [raw-md5 SSE2])
Loaded 1 password hash (Raw MD5 [raw-md5 SSE2])
Loaded 1 password hash (Raw MD5 [raw-md5 SSE2])

petur1 (user)

Process 2 completed loop.

Threat: 2 guesses: 1 time 0:00:00:02 (3) c/s: 5616K trying: petciL – petusc

^Ccluster@server:~$

Remember to shutdown the cluster service after use

cluster@server:~$ mpdallexit

Download this article as PDF here: [ENGLISH] [ICELANDIC]

[ad#Google Adsense-1]]

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

  1. Pingback: Un supercomputador con Ubuntu | MuyLinux

  2. Pingback: Créer un cluster sous Ubuntu 10.04 pour casser des mots de passe par brute | WebDevOnLinux

  3. Pingback: Un supercomputador con Ubuntu « Red-Orbita

  4. Laurent

    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 :)

  5. Pingback: How to setup John the Ripper on a Ubuntu 10.04 MPI Cluster (PDF Document) | Ubuntu Geek

    1. Pétur Post author

      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.

      1. Ju

        MPI is not the only way to distribute calculations. Ffmpeg being already threaded, a SSI cluster would be easier to set in place than patching ffmpeg to use MPI.
        http://en.wikipedia.org/wiki/Single_system_image (take a look at kerrighed or cluster-knoppix for exemple).
        Dvd:rip has a “cluster mode” allowing to distribute transcode process.
        Moreover, I am not sure videoencoding would scale really well, I/O could quickly become a bottleneck.

  6. sindoroali

    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. Pétur Post author

      See if your PATH is setup correctly, try the command “echo $PATH”
      It should show something like this:

      petur@petur-laptop:~$ echo $PATH
      /home/petur/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/petur/.local/bin

      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. sindoroali

        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…

        thank

  7. Cenwen

    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.

  8. anonymous

    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!

  9. Nolaan

    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. Pétur Post author

      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.

  10. Alexander

    Pétur -

    Thank you for this tutorial. I’ve just added it to the archive here:

    http://download.openwall.net/pub/projects/john/contrib/mpi/

    It’d be nice if you add it to our wiki as well:

    http://openwall.info/wiki/john/tutorials

    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:

    http://openwall.info/wiki/john/parallelization#Table-of-existing-works
    http://openwall.info/wiki/john/patches

    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:

    http://openwall.info/wiki/john/how-to-extract-tarballs-and-apply-patches

    Alexander

  11. Pingback: Cluster under Ubuntu to crack passwords using BF method! « Yasser's Security Blog

  12. wamber

    help-me ,

    make[1]: Saindo do diretório `/home/gqag/source/john-1.7.2-bp17-mpi8/src’
    gqag@mestre:~/source/john-1.7.2-bp17-mpi8/src$ ../run/john -format=DES -test
    fopen: /etc/john/john.conf: No such file or directory
    [0] Terminating on error.

    what`s wrong

    1. wamber

      help-me again

      cluster@mestre:~$ ssh cluster@10.108.7.211 mkdir -p .ssh
      ssh: connect to host 10.108.7.211 port 22: Connection refused
      cluster@mestre:~$ ping 10.108.7.211
      PING 10.108.7.211 (10.108.7.211) 56(84) bytes of data.
      64 bytes from 10.108.7.211: icmp_seq=1 ttl=64 time=0.350 ms
      64 bytes from 10.108.7.211: icmp_seq=2 ttl=64 time=0.242 ms
      what’s wrong

        1. wamber

          help-me again

          cluster@mestre:~$ for i in `cut –delimiter=: -f1 ~/mpd.hosts`;do scp ~/.mpd.conf cluster@$i:~;scp
          > ~/mpd.hosts cluster@$i:~;done
          cluster@10.x.x.x.’s password:
          .mpd.conf 100% 18 0.0KB/s 00:00
          usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
          [-l limit] [-o ssh_option] [-P port] [-S program]
          [[user@]host1:]file1 … [[user@]host2:]file2
          bash: /home/cluster/mpd.hosts: Permissão negada
          cluster@10.108.7.211‘s password:
          .mpd.conf 100% 18 0.0KB/s 00:00
          usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
          [-l limit] [-o ssh_option] [-P port] [-S program]
          [[user@]host1:]file1 … [[user@]host2:]file2
          bash: /home/cluster/mpd.hosts: Permissão negada

          what’s wrong now

            1. wamber

              sorry, help-me again

              cluster@mestre:~$ mpdboot –verbose –ncpus=1 -n 2
              running mpdallexit on mestre
              LAUNCHED mpd on mestre via
              RUNNING: mpd on mestre
              LAUNCHED mpd on 10.108.7.211 via mestre
              cluster@10.108.7.211‘s password:
              mpdboot_mestre (handle_mpd_output 420): from mpd on 10.108.7.211, invalid port info:
              no_port

              1. alok

                hi womber, iam also getting the same problem

                mpdboot_SLAB1-PC9 (handle_mpd_output 420): from mpd on 10.14.1.161, invalid port info:
                no_port
                Have you done with that,if yes can u plz tell me??
                Thank in advance!!!!

  13. Alan

    Ah, another small mistake. In the server setup section where you’re installing packages you list “build-essentials” which should actually be “build-essential” :)

    Thanks for taking the time to do this, though. I bet you’ve gotten millions of hits, eh?

  14. Pingback: 用Ubuntu 10.04建立你自己的超级计算机 | VedaClub

  15. Pingback: Móntate tu cluster con Ubuntu 10.04 (u otra distro)

  16. Rrrr

    I implemented djohn to my 20k bot net it works like a charm and I crack shadow files almost instantly so uptime is no issue. however I do choose to debate you on windows stability. While I do personally believe Linux is superior for uptime windows isn’t half bad and can easily stay up for hundreds of days. If a hash is taking more than 30 days you need more power to crack it anyways. As a sidenote most Linux boxes up over a year are vulnerable to exploitation anyways since to update the kernel requires a reboot. So if you are looking at your box thinking it’s so cool it has 165 days up think again. Unless you have openbsd :p

    1. Pétur Post author

      Own botnet? Impressive.
      I agree with you on the 30 day window.

      Regarding vulnerabilities,
      It all comes down to your needs, I don’t think security is much of an issue with high performance clusters which usually have a very controlled pool of users. But again that depends on the enviroment.

  17. Daniel

    Hi
    i need some assistance i have gon through you step by step instructions very good and easy to follow but lol there is always a but ha
    at this section
    cluster@server:~/source/john-1.7.2-bp17-mpi8/src$ mv ../run/* ~/bin
    i get no folder
    im allitle confused as your cluster@server:~/ and it keeps changing are u changing what is to be done on the server only and what needs to be doone on the clients only

    1. Pétur Post author

      I’m not sure what you are asking… can you please be more detailed?

      Let me explain the bash prompt for you.

      It is in the format “user@computer:directory$”
      The ~ directory represents the users home directory which defaults to /home/user

      Let me give you a few examples:

      cluster@server:~$
      You are workin as the user ‘cluster’ on the computer ‘server’ and your current working directory is ‘~’, which is usually ‘/home/cluster’

      cluster@server:~/source$
      You are working as the user ‘cluster’ on the computer ‘server’ and your current working directory is ‘~/source’, which maps to ‘/home/cluster/source’

  18. Daniel

    Sorry about that message it didnt make any sense i was having a brain melt down. this is where i am at now
    cluster@server:~$ for i in `cut –delimiter=: -f1 ~/mpd.hosts`;do scp ~/.mpd.conf cluster@$i:~;scp
    ~/mpd.hosts cluster@$i:~;done

    this fail cause it cannot find ~/mpd.hosts but if i /home/mpd.hosts if can find the file but just say’s connection timeout.

    my current set up is 1 dell poweredge 2650 as the server and 5 other machines as nodes what im trying to find out is what is to be configure on the server and what is to be configured on the nodes. because im alittle lost the mpdboot command works on any machine the mpdtrace comand only show that current machine it was run on.

    one last thing the mpd.hosts is to be ip then cores
    the /etc/hosts is the ip then name of server & nodes
    thanks for your prompt reply i am very grateful

  19. John Sanabria

    In my box, the mpdboot command expects two dashes instead of one at ‘verbose’ and ‘ncpus’ arguments, so that command runs properly when it is executed as follows

    mpdboot –verbose –ncpus=1 -n 2

    otherwise ‘unrecognized argument’ message error arises.

  20. Einar Bjarni Eyþórsson

    Flott grein hjá þér,
    en er hægt að hafa password inn í scriptun sem dreifir skjalinu á milli server,

    það er svo leiðinlegt að slá inn passwordið ef maður er með marga servera.

  21. vegas

    hi, the isntalation work fine but when i launch john the ripper, only the node pc is working Oo. I have launch the command with the -n 2 argument so i don’t understand…

    Can you explain me why please?
    Thk you very much for your tutorial, it’s awesome :p

  22. Ovi

    i follow your instruction but when i:

    ~/source/john-1.7.2-bp17-mpi8/src$ ../run/john -format=DES -test

    it says nothing, not ready, or error ..

    Note: The PATH is setup correctly!
    help-me,

    what’s wrong

    Thank

  23. Ovi

    i follow your instruction but when i:

    ~/source/john-1.7.2-bp17-mpi8/src$ ../run/john -format=DES -test

    it says nothing, not ready, or error ..

    Note: The PATH is setup correctly!
    help-me,

    what’s wrong

    Thank

  24. Daniel

    hi i have a problem i got it all working and it goes great with a 6 character password any bigger and i get the following error

    piu@Cracker01:~$ sh md5.sh
    Crash recovery file is locked: /home/mpiu/.john/john.rec
    Crash recovery file is locked: /home/mpiu/.john/john.rec
    Crash recovery file is locked: /home/mpiu/.john/john.rec
    Loaded 1 password hash (Raw MD5 [raw-md5])
    Loaded 1 password hash (Raw MD5 [raw-md5])
    Loaded 1 password hash (Raw MD5 [raw-md5])

    [proxy:0:0@Cracker01] HYD_pmcd_pmip_control_cmd_cb (./pm/pmiserv/pmip_cb.c:925): assert (!closed) failed
    [proxy:0:0@Cracker01] HYDT_dmxu_poll_wait_for_event (./tools/demux/demux_poll.c:77): callback returned error status
    [proxy:0:0@Cracker01] main (./pm/pmiserv/pmip.c:208): demux engine error waiting for event
    [mpiexec@Cracker01] control_cb (./pm/pmiserv/pmiserv_cb.c:150): assert (!closed) failed
    [mpiexec@Cracker01] HYDT_dmxu_poll_wait_for_event (./tools/demux/demux_poll.c:77): callback returned error status
    [mpiexec@Cracker01] HYD_pmci_wait_for_completion (./pm/pmiserv/pmiserv_pmci.c:206): error waiting for event
    [mpiexec@Cracker01] main (./ui/mpich/mpiexec.c:404): process manager error waiting for completion

    i would be greatful for any help at all

  25. Joe

    I don’t don’t if anyone still checks this I am having an issue with getting mpdboot to work error~
    ~mpdboot_ubunt1 (handle_mpd_output 420): from mpd on ubunt1, invalid port info: no_port~

  26. Bool

    How can I resolve the problem with failed to ping mpd on note1; recvd output={}
    the /etc/mpd.conf content is
    user secretword=123456
    but it still has this problem

  27. AnimesH

    I am running the latest John-mpi on ubuntu 10.10 on two laptops with 2 cores each, using a manually created hash file with the contents:

    user:rEK1ecacw.7.c

    Instead of distributing the task on 4 cores, it runs the full cracking on all 4 cores, and I get the same performance as i would get running one core only. All the four processes on 4 cores crack the password and give 4 outputs.
    I am using the tutorial : http://www.petur.eu/blog/?p=59

    What I am expecting is that the task gets distributed on 4 cores and only one core should get the correct password.
    Correct me if i am mistaken. I am doing this as a part of a miniproject in college. I would really appreciate speedy a reply from anyone who has *any* ideas..
    Thanks in Advance..!!

    1. AnimesH

      The hash is for the string “password”
      My output is as follows.

      Output:

      cluster@animesh-VGN-SR36GN-B:~$ mpiexec -np 4 ~/bin/john crackme1.md5

      Loaded 1 password hash (Traditional DES [128/128 BS SSE2])

      Loaded 1 password hash (Traditional DES [128/128 BS SSE2])

      Loaded 1 password hash (Traditional DES [128/128 BS SSE2])

      Loaded 1 password hash (Traditional DES [128/128 BS SSE2])

      password (user)

      password (user)

      thread: 1 guesses: 1 time: 0:00:00:00 100% (2) c/s: 43950 trying: 12345 – boomer

      thread: 2 guesses: 1 time: 0:00:00:00 100% (2) c/s: 43950 trying: 12345 – boomer

      password (user)

      password (user)

      thread: 3 guesses: 1 time: 0:00:00:00 100% (2) c/s: 14650 trying: 12345 – boomer

      thread: 0 guesses: 1 time: 0:00:00:00 100% (2) c/s: 12557 trying: 12345 – boomer

  28. Jahan

    Dear Petur

    I got a message error as following please help me:

    cluster@ub0:~/bin$ for i in `cut –delimiter=: -f1 ~/mpd.hosts`;do scp ~/.mpd.conf cluster@$i:~;scp~/mpd.hosts cluster@$i:~;done
    cluster@10.0.0.1′s password:
    .mpd.conf 100% 16 0.0KB/s 00:00
    -su: scp~/mpd.hosts: No such file or directory
    .mpd.conf 100% 16 0.0KB/s 00:00
    -su: scp~/mpd.hosts: No such file or directory

    Regards

    Jahan

  29. Pingback: Un supercomputador con Ubuntu | Tutoriales de Informática

  30. Dan

    i got it all working i just have a question when you do the DES test i was looking at doing a combined cluster test utilizing all nodes to get a total c/s rating i tried using mpiexec -np 6 john –format=DES -test but this only spools up the server and gives me a rating of only the server node, any help ????.
    One other thing is im assuming the cluster is working as cracking speed seems to be alot quicker but my nodes do not spool up like they are trying as hard as the server node is there anyway of testing my cluster????.
    Regards Dan

  31. Pingback: Cluster under Ubuntu to crack passwords using BF method! | Yet another InfoSec Blog | Sécurité Informatique

  32. sridhar

    hi sir…..
    your explanation is very good.
    sir we have three hp pc’s each with 1tb hard disk ,4gb ram,64 bit .we want to make them cluster in ubuntu 10.04.for clustering which version of linux is good and what are the requirements needed(software,switchboards,hardware)
    please give me idea about this.
    thank you for advance

  33. Pingback: Sam's Blog - Clustering with ubuntu 10.04.

  34. alok

    Hi i successfull completed the configuration of server as well as extra node, however when i tried the basic command to boot up the cluster by executing following:

    mpdboot –verbose –ncpus=1 -n 2

    When i executed above, i found output like it:

    running mpdallexit on SLAB1-PC9
    LAUNCHED mpd on SLAB1-PC9 via
    RUNNING: mpd on SLAB1-PC9
    LAUNCHED mpd on 10.0.0.2 via SLAB1-PC9
    mpdboot_SLAB1-PC9 (handle_mpd_output 420): from mpd on 10.0.0.2, invalid port info:
    no_port
    Now, i am not able to start why it is launching mpd on 10.0.0.2 even if i have configured extra nodes by setting appropriate IP.
    Thank in advance;

Leave a Reply