With Distributed John (DJohn) you can crack passwords using several machines to get passwords sooner than using a single machine. The cracking in itself is done by John The Ripper and djohn’s server (djohnd) divides the work in work packets and coordinates the effort among the clients (djohn), which are the ones who do the work.
Because the way djohn was written there are several features/drawbacks on which you might be interested:
- Only brute force cracking can be used; as the way to crack passwords is with an external mode (read John’s documentation for more information on John’s cracking modes).
- There is no support to download the passwords files to be cracked by the clients. They must be downloaded by some other way (the user, another process). Starting in v0.9.8, there is a contributed server / client in Perl to do this task.
- djohn was designed to run in closed networks where
all the clients can be trusted, so security was not an issue.
- All the clients are supposed to have the same (or
similar) cpu power (this point will be addressed soon).
The server status can be viewed using the utility djs (djohn status) and a cgi front-end is provided to remotely view to server status (djs can only be used in the machine the server is running as it uses shared
memory to get the status).
In future releases, the plan is to merge the code with John The Ripper to
be able to use the different methods of cracking John provides.
You can get more information on DJohn reading:
DJohn is released under the terms of the GNU General Public License (GPL).
You can download the latest release here djohn.tgz.