Interesting Ideals: Distributed Password Cracking Encoding MP3s
Now that you hopefully have a nice powerful cluster running, there are hundreds of different ways you can use it. The most obvious use is any activity that takes a long time and uses a large amount of CPU processing power and/or RAM. We're going to show you a couple of projects that have benefited us in the real world.
Bear in mind that there are some applications that migrate very nicely over an openMosix cluster, for example 'make' when you're compiling can speed up your compile times significantly. If you do a little research on the net, you'll find examples of applications that will migrate well and which won't yield much speed increase. If you are a developer looking to take advantage of openMosix, applications that fork() child processes will migrate wonderfully, whereas multithreaded applications at present, do not seem to migrate threads.
Anyway, here are a couple of cool uses for your cluster:
Distributed Password Cracking
If your role is in security role or if you work as a penetration tester, you'll probably encounter the need to crack passwords at some point or other. We regularly use l0phtcrack for Windows passwords, but were interested by the opportunity to use our nice new 10 system cluster to significantly speed things up. After briefly hunting around the net, we discovered 'Cisilia', which is a Linux based Windows LM / NTLM password cracker designed specifically to take advantage of openMosix style clustering!
You can get a copy of cisilia by visiting the following site and clicking on the R&D Projects menu on the left: http://www.citefa.gov.ar/SitioSI6_EN/si6.htm
There you'll find two files, 'cisilia' which is the actual command line based password cracking engine and 'xisilia' which is an X based GUI for the same. We didn't install the X based GUI, since we were working with our cluster completely over SSH.
Once you download the RPMs, you can install them by typing:
rpm -ivh *isilia*.rpm
If you installed from the tarball sources like we did, it is just as simple:
1) Unzip the tarball
tar xvzf cisilia*.tar.gz
2) Enter the directory and configure the compilation process for your system:
3) Finally, start the compilation process:
Now you need to get a Windows password file to crack. For this you'll want to use pwdump to grab the encrypted password hashes. This is available at the following link:
Unzip it and run it on the Windows box which has the passwords you want to crack. You will want to save the results to a file, so do the following:
pwdump2 > passwdfile
Now copy the file 'passwdfile' across to a node in your cluster. Fire up cisilia using the following command:
cisilia -l crack_file -n 20 <path to the passwdfile you copied>
-l tells cisilia to save the results to a file called crack_file
-n tells cisilia how many processes it should spawn. We started 20, since we wanted 2 processes to go to each node in the cluster.
We were pleasantly surprised by how quickly it started running through 6-7 character alphanumeric passwords. Enjoy !
Do you get annoyed by how long it takes to convert a CD to MP3? Or to convert any kind of media file?
This is one of the places where a cluster excels. When you convert your rips to MP3, you only process one WAV file at a time, how about you run it on your cluster and let it simultaneously encode all your MP3s?
Someone has already taken this to the absolute extreme, check out http://www.rimboy.com/cluster/ for what he's got setup.
To quickly rip a CD and convert it to digital audio, you will need 2 programs:
A digital audio extractor, and an audio encoder.
For the digital audio extractor we recommend Cdparanoia. For the audio encoder, we're going to do things a bit differently:
In the spirit of the free open source movement, we suggest you check out the OGG Vorbis encoder. This is a free, open audio compression standard that will compress your WAV files much better than MP3, and still have a higher quality!
They also play perfectly in Winamp and other media players. Sounds too good to be true? Check out their website at the link below. Of course if you still aren't convinced that OGG is better than MP3, you can replace the OGG encoder with any MP3 encoder for this tutorial.
Get and install both the cdparanoia ripper and the oggenc encoder from the following URLs:
CDparanoia - http://www.xiph.org/paranoia/
OGG Vorbis Encoder - http://www.vorbis.com
Now we just need to rip and encode on our cluster. Put the CD you want to convert in the drive on one node, and just run the following:
for i in `ls *.wav`;
do oggenc $i &
This encodes your WAV files to OGG format at the default quality level of 3, which produces an OGG file of a smaller size and significantly better sound quality than an MP3 at 128kbps. You can experiment with the OGG encoder options to figure out the best audio quality for your requirements. If you want proof of the significantly better sound quality of OGG files versus MP3, check out the listening test below.
This just about completes the openmosix tutorial we've prepaired for you.
We surely hope it has been an enlighting tutorial and will help most of you make some good use of those old 'mini super computers' you never knew you had :)