Crack -- it's addictive!
Due before class, Friday 17 Nov 2006
In this assignment, you will be trying your hand at cracking Unix passwords.
As with the other assignments, I encourage you to discuss various approaches with your peers. However, as you are all working from the same password lists, try not to be too specific about revealing details.
For this assignment, I want you to attempt to crack the following list of passwords that are using the standard Unix crypt() function for passwords:
ew4pdU/Pb6JkI
pjE9Zk2VlH1XM
urMO1Sgdkz7Nc
zj2IgJCkbmaT2
ziCRHHTeGIM1Q
ljJxMG./2a2dc
mmIzlWPabcL5k
elV5FJNK0YW3c
uqxxTaKm4VQSc
puHfUcl3xKRfU
ezlOTn6SGO1CI
iwoEVepS0Qu2.
qw4nhdkFvQHdk
hy84u3NYTeaIQ
pp42TRLXCuUSc
neeN49qb0h.7Y
btLxiB9iT2YUg
hbnLR86nuUj3s
hk5kLdLA7W28o
lwKW1L/kYU11Y
unlatEf7wKvLY
wigqmyS4Qb0Aw
epYB5FRhq0KLk
oew2EQIrFLr.w
cft6shITBvayc
zdrvBjMrY8rOg
cyjrM.q1wO5PI
vqnVkJCdydyE6
kyK652pM1M1r6
ywWVxo5Je4qPM
xdcvwNTFtg7DA
czllYQ7wyRgaE
owP1B.YfrUtxE
km3ukqJ8NVcoE
fslk8EV/uRWaE
wrpW8pu1fVZSk
yed1CLvnqkUCI
gc0qAhc68CA82
uchHseBkiSI8U
hnV2P5NMMZ6cI
kjo9T1PDpwh2k
ch70nbftjSA7g
You will probably need to reformat them as standard /etc/passwd or /etc/shadow files. (See "man 5 passwd" or "man 5 shadow" for details.)
Go forth into the internet and find a password cracking program that works on Unix style passwords. I want you to look at at least 4 different programs and select from them.
Compile/build/install the software on either lab machines or your personal machine. If installing on a lab machine, I'd recommend installing into a subdirectory on /anarchy so that it is available on multiple machines.
You will probably also need to go out and find word lists or dictionaries to use.
Before throwing time and energy into breaking the full password file, verify that your tool is functioning correctly. Here are a couple plain text and crypted password pairs.
happy : bdWh.7jf3zFJM
password : mlO36EwSe8sTk
You should have read the documentation as part of step 1. If you haven't you really should. One thing to look for is some way to cause it to suspend and resume operations. If it doesn't have such, you can tell it to suspend and resume using kill -STOP <pid> to stop and kill -CONT <pid> to resume. You can also use pkill to do the same thing, but be sure to limit it to your own processes.
Also, you should look at how well it will continue in case the machine is rebooted. You may want to look at creating a cron job that checks to see if it is running (return value from kill -0 <pid>) and restarts it if necessary.
I've obtained permission for us to use the machines in the upstairs lab along the far wall (across from the whiteboard) for this assignment. You should not run them on occs or other lab machines.
Out of respect for other lab users, there are a few things you should do:
Keep track of the passwords cracked and the amount of time it took to do it.
Note: I don't expect you to be able to crack all of the passwords in the time allotted.
You should also put your password(s) into the mix. You can use the program ~kuperman/bin/htpasswd.pl to generate a crypted version of any password.
You will be submitting a typed report on your selections and results at the start of class. Include the following information in your report: