#-- Cut Here -- # [ http://www.rootshell.com/ ] # --------------------------------------------------- # xcrack.pl -- Unix/Linux Password Cracker -- V0.11 # By manicx -- 13th Oct 98 -- email from site # Get the latest from http://www.infowar.co.uk/manicx # usage = perl xcrack.pl PASSWORDFILE WORDFILE # --------------------------------------------------- # Only improvements are the splits into subs # quickest results from using smaller wordfiles under 1 or 2mb # using .bat files or whatever # # start xcrack.pl # system("cls"); print ("\n***********************************************"); print ("\n* Xcrack V0.11 *"); print ("\n* http://www.infowar.co.uk/manicx *"); print ("\n***********************************************\n"); # Print simple statement how to use program if no arguments if ($#ARGV < 0) { usage(); exit; } $passlist = $ARGV[0]; # Our password File $wordlist = $ARGV[1]; # Our word list # ------------- Main Start -------------- getpasslist($passlist, $wordlist); #------------------------------------------------------------ sub getpasslist{ open (PWD, $passlist) or die print " No Good Name for password File ", $passlist, "\n"; while () { # data in password file split by :'s ($fname, $encrypted, $uid, $gid, $cos, $home, $shell) = split ( /:/); getwordlist($encrypted, $fname); } close (PWD); #closes the password file } #------------------------------------------------------------ sub getwordlist{ open (WRD, $wordlist) or die print " No Good Name for wordfile ", $wordlist, "\n" ; while () { ($password) = split (/,/); chop($password); $encword = crypt ($password, $encrypted); if ($encword eq $encrypted) { print "Account :",$fname, " \t ------ \aPassword : ", $password, "\n"; } } close (WRD); #closes the wordlist } #------------------------------------------------------------ sub usage { print "usage = perl xcrack.pl PASSWORDFILE WORDFILE\n"; } print ("\nFinished .......$wordlist"); # perl xcrack.txt password.txt words.txt # End xcrack.pl