#!/usr/bin/perl # # Author : Premson P. R. # OS : TRU64 Only # Desc : Custom crack tool to crack passwords based on a given password list # Usage : ./alphacrack.pl [ To Be Run Only As ROOT ] # Files : alphacrack.pl -> The Main Crack Perl Code (Which U are Currently Seeing) # passwd -> A Copy Of Your /etc/passwd File # passlist -> Your List Of Passwords Which Will Be Used For Cracking ! # passlog -> Your Efforts Are In This File !!!!! # Date : 15-05-2002 use Fcntl; $file="passwd"; $log="passlog"; $passlist="passlist"; $epass=""; $sloctime_start = localtime(); open(LOG, ">> $log"); sysopen(LOG, $log, O_WRONLY|O_APPEND|O_CREAT) or die "Unable to Sysopen : $!\n"; print "#### Cracking Started On : $sloctime_start ####\n"; print LOG "#### Cracking Started On : $sloctime_start ####\n" or die "Cant write $log\n"; open(OUT,$passlist) || die "Could not open password file $passlist\n"; while() { chop($_); $i=0; @passsort = $_; $epass=$passsort[$i]; if($epass eq "") { die "No More In Passlist.\n"; } open(IN,$file) || die "Could not open password file $file\n"; while() { chop($_); @sort = split(/:/,$_); $word="$passsort[$i]"; $passwd=`edauth -g $sort[0] | grep u_pwd=`; @pa=split /:/, $passwd; $pwd="@pa[3]\n"; $pwd =~ s/u_pwd=//; $salt = substr $pwd, 0, 13; $final=crypt($word, $salt); if (crypt($word, $salt) ne $salt) { #print "FAILURE: Sorry...\n\n"; } else { print "SUCCESS : User : ($sort[0]) - Password : ($word)\n"; print LOG "SUCCESS : User : ($sort[0]) - Password : ($word)\n" or die "Cant write $log\n"; } } close(IN); } $i++; close(OUT); $sloctime_stop = localtime(); print LOG "#### Cracking Finished On : $sloctime_stop ####\n" or die "Cant write $log\n"; print "#### Cracking Finished On : $sloctime_stop ####\n"; close(LOG);