#!/usr/bin/perl
print q(
/---------------------------------------------------\
| MD5 Spider 1.0 |
| Mohammed CHERIFI - mohammed@mcherifi.org |
\---------------------------------------------------/
);
use IO::Socket;
sub findme()
{
my $md5 = $_[0];
my $host = $_[1];
my $uri = $_[2];
my $pdata = $_[3].$md5;
my $regexp = $_[4];
$datalen = length $pdata ;
syswrite STDOUT, "\n\n\tRecherche sur $host ";
my $sock = new IO::Socket::INET (
PeerAddr => "$host",
PeerPort => "80",
Proto => "tcp",
);
if(!$sock){
print " [!] Connection time out : $!\n";
return false;
}
else
{
print $sock "POST /$uri"."$md5"." HTTP/1.1\n";
print $sock "Host: $host\n";
print $sock "Referer: $host\n";
print $sock "Accept-Language: en-us\n";
print $sock "Content-Type: application/x-www-form-urlencoded\n";
print $sock "User-Agent: MoX-Zilla\n";
print $sock "Connection: Keep-Alive\n";
print $sock "Cache-Control: no-cache\n";
print $sock "Content-Length: $datalen\n\n";
print $sock "$pdata\n";
while ($answer = <$sock>)
{
if ($answer =~ /$regexp/ )
{
print "Cracked ! \n\n\n\t";
sleep(1);
print "Plaintext password is: ".$1."\n\n\t";
print "\t[+] Thank$host :P Enjoy ;) \n\n";
exit(0);
}
}
close($sock);
}
}
print q(
trez le hash MD5
ample : b2f3d1e0efcb5d60e259a34ecbbdbe00
sh MD5: );
$hash=;
chomp ($hash);
unless($hash =~ /[0-9a-fA-Z]{32}/) {die "n'est pas un md5 :-/ !\n"};
print "erche en cours ....\n";
@sites = (
["passcracking.ru","/index.php?xD=","datafromuser=","lor=#FF0000>(.*?)<\/td>.*?<\/td><\/"],
["md5.benramsey.com","/md5.php?hash=","","TA.(.*?)..><\/s"],
["md5.noisette.ch","/md5.php?hash=","","TA.(.*?)..><\/s"],
["gdataonline.com","qkhash.php?mode=xml&hash=","","t>(.*?)<\/re"],
["md52.altervista.org","index.php?md5=","","d: .*?ed\">[^\[](.*?)<\/font><\/b"]
);
$siteindex = 0;
foreach (@sites){
$site = $sites[$siteindex][0];
$uri = $sites[$siteindex][1];
$pdata = $sites[$siteindex][2];
$regex = $sites[$siteindex][3];
findme($hash,$site,$uri,$pdata,$regex);
$siteindex++;
}
print "\n\nash introuvable! John is your friend ;)\n\n";
MD5 Spider is a mini search engine that explore MD5RDB (MD5 Reversing Databases) to find corresponding plaintext password of the crypted hash, it's very useful for saving time before using john the ripper or a hash bruteforcer ;)
MD5Spider is under the GPL v2 Liscence, feel free to fork it ;)