EG Information
Training Missions
Knowledge Bank
|
|
Enigma Group's Code Bank
perl md5 bruteforcerBy: toast - Date Submitted: 2009-04-04 03:55:51 #!/usr/bin/perl # use strict; Sorry next time i'll use it ;) # MD5 Hash Bruteforce Kit # by Iman Karim (iman.karim@smail.inf.fh-bonn-rhein-sieg.de) # URL : http://home.inf.fh-rhein-sieg.de/~ikarim2s/ # Date : 11.02.2007 # Info[0] : This Cracker is by far not the fastest! But it helped me alot to find "lost" passwords ;) # Info[1] : Written under Kubuntu Linux # Info[2] : If you can code a bit perl, you can modify it to crack sha etc too... # Greets to: Invisible! $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 "nnMD5 Hash Bruteforce Kit v_$vern"; print "by Iman Karim (iman.karim@smail.inf.fh-bonn-rhein-sieg.de)n"; print "http://home.inf.fh-rhein-sieg.de/~ikarim2s/nn"; 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 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"; } sub crack{ @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; } $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! => $retn"; } ################################################### #checkhash($CharSet)."n"; $RawString[0]++; }while($RawString[$CharSet-1]<length($alpha)); } sub checkhash{ $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! => $retn"; } }
|
| Return to
perl category list |
|
|
Who's Online
484 Guests, 100 Users ckryptix, rabbidmind, asapong, Nasrudin, Diznablo, CollapsingWalls, mehtaparag, bitstrike, jnony, C, Nicid1, Nusquam-Redono-Sapientia, bazcrown, saifulfaizan, The End, Ultraminor, psychomarine, st3alth, themastersinner, pgmrlink, login, lionaneesh, ishkur88, mahraja, Mac, chekifr, gandalf88, Vap0r, t0ast, tantrum6226, BnE, Distorted, Psiber_Syn, Ausome1, invas10n, oldgoat, freedaysbecumei, BinaryShinigami, Rex_Mundi, Red_beard, Strobeflux, s0m3nak3dguy, Descent, teehee, machupicchu, Genetix, Anandarl, NotMyOwn, thegamerdude, Godzila, popo12341234, RedEvolution, velocity_b, myne17, teto111, aVoid, Central-Gsm, 1101, JackalReborn, InjectioN, h4lted, c0re, DisPater, markt4death, splatta, Jackowacko, saint556, Pyron2312, Azerion, howsens, white.hat.gone.bad, vazzilly, pwunkz, Ios, Inverted, QuarterCask, Infernoe11, deskata, cr4ck3rj4ck, Blizer, jasonmax, j0sh, gwenwavor, N4g4c3N, spizeyboy, Network X, Uino59, Jae Cee, ianFDK, saykov, medhaavee, zofy, demonkiller410, Stumble, SaMTHG, kishore, Raze, helasraizam, Venom1019, Jakabo |
| |
|
|
|
|
|