Blog
Jatilawang
today : | at : | safemode : ON
> / home / facebook / twitter / exit /
name author perms com modified label

md5crack.pl bLogger_Jatilawang rwxr-xr-x 0 15.15

Filename md5crack.pl
Permission rw-r--r--
Author bLogger_Jatilawang
Date and Time 15.15
Label
Action
#!/usr/bin/perl

$ver = "01";



$dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds.


...



if ($dbgtmr=1 !n";};

use Digest::MD5 qw(md5_hex);



use Time::HiRes qw(gettimeofday);





if ($ARGV[0]=~"a") {

$alpha = "abcdefghijklmnopqrstuvwxyz";}



if ($ARGV[0]=~"A") {

$alpha = $alpha. "ABCDEFGHIJKLMNOPQRSTUVWXYZ";}



if ($ARGV[0]=~"d") {

$alpha = $alpha."1234567890";}



if ($ARGV[0]=~"x") {

$alpha = $alpha. "!"$%&/()=?-.:*'-_:.;,";}



if ($alpha eq "" or $ARGV[3] eq "") {usage();};



if (length($ARGV[3]) != 32) { die "Sorry but it seems that the MD5 is not valid!n";};





print "Selected charset for attack: '$alpha'n";

print "Going to Crack '$ARGV[3]'...n";



for (my $t=$ARGV[1];$t



crack ($t);

}



sub usage{



print "nnMD5 Hash Bruteforce Kit v_$vern";

print "USAGEn";



print "./md5crack n";

print " Charset can be: [aAdx]n";



print " a = {'a','b','c',...}n";

print " A = {'A','B','C',...}n";



print " d = {'1','2','3',...}n";

print " x = {'!','"',' ',...}n";



print "EXAMPLE FOR CRACKING A MD5 HASHn";

print "./md5crack.pl ad 1 3 900150983cd24fb0d6963f7d28e17f72n";



print " This example tries to crack the given MD5 with all lowercase Alphas and all digits.n";

print " MD5 Kit only tries combinations with a length from 1 and 3 characters.n-------n";



print "./md5crack.pl aA 3 3 900150983cd24fb0d6963f7d28e17f72n";

print " This example tries to crack the given MD5 with all lowercase Alphas and all uppercase Alphas.n";



print " MD5 Kit only tries passwords which length is exactly 3 characters.n-------n";

print "./md5crack.pl aAdx 1 10 900150983cd24fb0d6963f7d28e17f72n";



print " This example tries to crack the given MD5 with nearly every character.n";

print " MD5 Kit only tries combinations with a length from 1 to 10 characters.n";



die "Quitting...n";

}



sub crack{



$CharSet = shift;

@RawString = ();



for (my $i =0;$i

$Start = gettimeofday();



do{

for (my $i =0;$i



if ($RawString[$i] > length($alpha)-1){

if ($i==$CharSet-1){



print "Bruteforcing done with $CharSet Chars. No Results.n";

$cnt=0;



return false;

}



$RawString[$i+1]++;

$RawString[$i]=0;



}

}



################################################## #

$ret = "";



for (my $i =0;$i

$hash = md5_hex($ret);



$cnt++;

$Stop = gettimeofday();



if ($Stop-$Start>$dbgtmr){

$cnt = int($cnt/$dbgtmr);



print "$cnt hashessecond.tLast Pass '$ret'n";

$cnt=0;



$Start = gettimeofday();

}



print "$ARGV[3] != $hash ($ret)n";

if ($ARGV[3] eq $hash){



die "n**** Password Cracked! => $retn";

}



################################################## #

#checkhash($CharSet)."n";



$RawString[0]++;



}while($RawString[$CharSet-1]

}



sub checkhash{



$CharSet = shift;

$ret = "";



for (my $i =0;$i

$hash = md5_hex($ret);



$cnt++;

$Stop = gettimeofday();



if ($Stop-$Start>$dbgtmr){

$cnt = int($cnt/$dbgtmr);



print "$cnt hashessecond.tLast Pass '$ret'n";

$cnt=0;



$Start = gettimeofday();

}



if ($ARGV[3] eq $hash){



die "n**** Password Cracked! => $retn";

}



}



0 komentar:

Posting Komentar

 

Jayalah Indonesiaku © 2010 Blogger Jatilawang
VB (Vio b374k) Template design by p4r46hcyb3rn3t