Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

[MD5] BRUTE FORCE [MD5]

For those who don't know what this is
It's a MD5 brute forcer :)

Code
#!/usr/bin/perl

# MD5 Hash Bruteforce
# by iX86 ([email protected])

$ver = "01";

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

if ($dbgtmr<=0){ die "Set dbgtmr to a value >=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<=$ARGV[2];$t++){
crack ($t);
}

sub usage{
print "\n\nMD5 Hash Bruteforce v_$ver\n";
print "by iX86 ([email protected])\n";
print "USAGE\n";

print "./md5crack <charset> <mincount> <maxcount> <yourMD5>\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 HASH\n";
print "./md5crack.pl ad 1 3 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with all lowercase Alphas and all digits.\n";
print " MD5 only tries combinations with a length from 1 and 3 characters.\n--\n";
print "./md5crack.pl aA 3 3 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with all lowercase Alphas and all uppercase Alphas.\n";
print " MD5 only tries passwords which length is exactly 3 characters.\n--\n";
print "./md5crack.pl aAdx 1 10 900150983cd24fb0d6963f7d28e17f72\n";
print " This example tries to crack the given MD5 with nearly every character.\n";
print " MD5 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<$CharSet;$i++){ $RawString[i] = 0;}

$Start = gettimeofday();
do{
  for (my $i =0;$i<$CharSet;$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<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
   $hash = md5_hex($ret);
   $cnt++;
   $Stop = gettimeofday();
   if ($Stop-$Start>$dbgtmr){
    $cnt = int($cnt/$dbgtmr);
    print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
    $cnt=0;
    $Start = gettimeofday();
   }
    print "$ARGV[3] != $hash ($ret)\n";
   if ($ARGV[3] eq $hash){
    die "\n**** Password Cracked! => $ret\n";
   }

##

  #checkhash($CharSet)."\n";

  $RawString[0]++;
}while($RawString[$CharSet-1]<length($alpha));
}

sub checkhash{
$CharSet = shift;
$ret = "";
for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
$hash = md5_hex($ret);
$cnt++;
$Stop = gettimeofday();
if ($Stop-$Start>$dbgtmr){
  $cnt = int($cnt/$dbgtmr);
  print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
  $cnt=0;
  $Start = gettimeofday();
}

if ($ARGV[3] eq $hash){
  die "\n**** Password Cracked! => $ret\n";
}

}
Anyway I have writen these so if ya need help just say it 😊
Amazing script! Did you really write it?
Where to add this script so I can use it?
Script uses a simple loop, nothing massively impressive - i used one to create hashhack.com a few years ago.

The script works in theory but it would take way to long too work through the full character space and your script shows no evidence of multi threading or even forking which is a feature of even basic local brute forcer's now.

Its a fun little script but anyone with any sense would be using a CUDA set up with a few GPU's if they were stupid enough to brute for an MD5 hash on a stand alone system.

Happy Hacking

PS - Leech By Any Chance ?

Code
# MD5 Hash Bruteforce
# by mali sale ([email protected])

http://www.svet-racunara.com/forum/archive/index.php/thread-24.html
(Dec 5, 2011 12:33 PM)get cha Wrote:  Where to add this script so I can use it?

It's perl, so you need to run it with perl.
Like: perl script.pl aA 1 7 47bce5c74f589f4867dbd57e9ca9f808

Great script BTW, but I don't think it will be effective with long passwords.

This is definitely a leech job.

http://ethical-hacking-tutor.blogspot.co...e-md5.html
Nice Script....

Thank you very much!!!
Nice script!
Thanks for the share.
It's works.
nice script thnkuu so much gud job dear


Possibly Related Threads...
Thread / Author Replies Views Last Post
by pythonthingApr 28, 2023 11:10 PM 3 218 Apr 28, 2023 11:10 PM
Last Post: Zgh600
by KriptikApr 1, 2021 07:10 AM 12 281 Apr 1, 2021 07:10 AM
Last Post: Kriptik
by wulkanNov 25, 2020 10:37 AM 5 317 Nov 25, 2020 10:37 AM
Last Post: wulkan