Laila MD5 Crack Search

Publicado por rafaelmspc (última atualização em 17/07/2011)

[ Hits: 8.042 ]

Homepage: http://rafaelmspc.cc

Download lailamd5cracksearch.pl

Download lailamd5cracksearchv1.1.pl (versão 2)




Esse script pega um hash MD5 e faz uma busca em vinte um sites procurando a palavra equivalente a esse hash, inclui também a opção de encriptar alguma string para md5.

Script  que usa os módulos LWP::UserAgent,HTTP::Response, Digest::MD5.

Inspirado no antigo md5crackmonster, esse script sempre foi privado, por isso nas próximas versões é que planejo dar uma arrumada no source.

  



Versões atualizadas deste script

Versão 2 - Enviado por rafaelmspc em 08/07/2011

Changelog: - Nova função de “mass search”, procura por vários hashs ao mesmo tempo, usando um arquivo de entrada.
- Melhorias em relação ao visual.
- Optimização do código,deixando o programa mais leve.
- Em vez de fazer a busca em 21 sites, o script agora faz a busca em apenas nos três melhores e maiores sites de hashs, levando em consideração que muitos dos outros sites apenas usam o banco de dados desses três.
- É usada a API própria de cada site.

Download lailamd5cracksearchv1.1.pl


Esconder código-fonte

#!/usr/bin/perl 
use warnings;
use LWP::UserAgent;
use HTTP::Response;
use Digest::MD5 qw(md5_hex);
system("clear");
print "------------------------------------------\n";
print "-\tLaila MD5 Crack Search V1.0\t -\n-\t\t\t\t\t -\n";
print "- Digite: 1 - Buscar Hash\t\t -\n-\t  2 - Encryptar String\t\t -\n-\t\t\t\t\t -\n";
print "-\t\tby PapaiSmurf\t\t - \n-\t\thttp://papaismurf.net\t -\n";
print "------------------------------------------\n";
$opcao=<STDIN>;
if ($opcao == 1){
&searchhash;
}
if ($opcao == 2){
print "Digite a String a ser encryptada:\n";
$string=<STDIN>;
chomp($string);
$hashstring=md5_hex($string);
print "$hashstring\n";
}
else {
print "Opcao invalida\n";}
sub  searchhash{
print "Digite o Hash para iniciar a busca:";
$hash=<STDIN>;
chomp($hash);
if (length($hash)==32)
{
print "http://www.hashchecker.com/\t";
$ua = LWP::UserAgent->new(); 
$ua->timeout( 60 );
$resp = $ua->post("http://www.hashchecker.com/index.php?_sls=search_hash",
      { "search_field"  => "$hash",
        "Submit"       => "search" });
if ($resp -> content =~ / <b>(.+)<\/b> used charl/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrada\n";
} 
print "http://md5crack.com/\t";
$ua = LWP::UserAgent->new(); 
$ua->timeout( 60 );
$resp = $ua->post("http://md5crack.com/crackmd5.php",
      { "term" => "$hash",
        "crackbtn" => "Crack that hash baby!" });
if ($resp -> content =~ /Found: md5\(\"(.*)\"\) = $hash/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://passcracking.com\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 );
$resp = $ua->post("http://passcracking.com/index.php",
       { "datafromuser" => "$hash",
         "DoIT" => "DoIT" });

if ($resp -> content =~ /<td bgcolor=#FF0000>(.*)<\/td><td>/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
}
print "http://rom-zone.alfahosting.org\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 ); 
$resp = $ua->post("http://rom-zone.alfahosting.org/index2.php?p=hashes",
      {  "typ"  => "md5",
         "list"  => "$hash",
         "Suchen / Eintragen"  => "Suchen / Eintragen" });
if ($resp -> content =~ /<td>MD5<\/td><td>$hash<\/td><td>Geknackt<\/td><td>(.*)<\/td>/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://md5pass.info/\t";
$ua = LWP::UserAgent->new(); 
$ua->timeout( 60 );
$resp = $ua->post("http://md5pass.info/",
      {  "hash"  => "$hash",
         "get_pass"  => "Get Pass" });
if ($resp -> content =~ /Password - <b>(.*)<\/b> /)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://hashcrack.com/\t";
$ua = LWP::UserAgent->new(); 
$ua->timeout( 60 );
$resp = $ua->post("http://hashcrack.com/index.php",
      {  "hash"  => "$hash",
         "Submit" => "Submit" });
if ($resp -> content =~ /<span class=hervorheb2>(.*)<\/span><\/div><\/TD>/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://md5decryption.com/\t";
$ua = LWP::UserAgent->new(); 
$ua->timeout( 60 );
$resp = $ua->post("http://md5decryption.com/",
      {  "hash"  => "$hash",
         "submit" => "Decrypt It!" });
if ($resp -> content =~ /Decrypted Text: <\/b>(.*)<\/font><br\/>/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://md5-db.de/\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 );
$resp = $ua->get("http://md5-db.de/$hash.html");
if ($resp -> content =~ /<li>(.*)<\/li>/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://md5online.net/\t";
$ua = LWP::UserAgent->new(); 
$ua->timeout( 60 );
$resp = $ua->post("http://md5online.net/",
      {  "pass"  => "$hash",
         "option" => "hash2text",
         "send"   => "Send" });
if ($resp -> content =~ /<br>pass : <b>(.*)<\/b><\/p><\/table>/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://www.netmd5crack.com\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 );
$resp = $ua->get("http://www.netmd5crack.com/cgi-bin/Crack.py?InputHash=$hash");
if (($resp -> content =~ /<tr><td class="border">$hash<\/td><td class="border">(.*)<\/td><\/tr><\/table>/) && ($1 =~ "Sorry, we don't have that hash in our database"))
{
print "Hash nao pode ser encontrado\n";
} else {
print "Encontrado: $1\n";
} 
print "http://md5-decrypter.com/\t";
$ua = LWP::UserAgent->new(); 
$ua->timeout( 60 );
$resp = $ua->post("http://md5-decrypter.com/",
      {  "data[Row][cripted]"  => "$hash",
         "Decrypt it" => "Decrypt it" });
if ($resp -> content =~ /<b class="bold">Decrypted text:<\/b>(.*)<\/p>/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://cracker.fox21.at/\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 );
$resp = $ua->get("http://cracker.fox21.at/api.php?a=check&h=$hash");
if ($resp -> content =~ /plaintext="(.*)" type="md5" /)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://hash.toolz.in/\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 );
$resp = $ua->get("http://hash.toolz.in/api/$hash");
if (($resp -> content =~ /(.*)/) && ($1 =~ "HASH_NOT_FOUND"))
{
print "Encontrado: Hash Não encontrado\n";
} else {
print "Encontrado: $1\n";
} 
print "http://isc.sans.edu/\t";
$ua = LWP::UserAgent->new(); 
$ua->timeout( 60 );
$resp = $ua->post("http://isc.sans.edu/tools/reversehash.html",
      {  "text"  => "$hash",
          "submit" => "Submit" });
if (($resp -> content =~ /md5 hash $hash = (.*)<\/p>/) && ($1 =~ "Sorry, no solution found."))
{
print "Encontrado: Hash não encontrado\n";
} else {
print "Encontrado: $1\n";
} 
print "http://www.stringfunction.com/\t";
$ua = LWP::UserAgent->new(); 
$ua->timeout( 60 );
$resp = $ua->post("http://www.stringfunction.com/md5-decrypter.html",
      {  "string"  => "$hash",
          "submit" => "Decrypt" });
if (($resp -> content =~ /id="textarea_md5_decrypter">(.*)<\/textarea>/) && ($1 eq ""))
{
print "Hash nao pode ser encontrado\n";
} else {
print "Encontrado: $1\n";
} 
print "http://md5.gromweb.com/\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 );
$resp = $ua->get("http://md5.gromweb.com/query/$hash");
if (($resp -> content =~ /(.*)/) && ($1 eq ""))
{
print "Hash nao pode ser encontrado\n";
} else {
print "Encontrado: $1\n";
} 
print "http://md5.noisette.ch/\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 );
$resp = $ua->get("http://md5.noisette.ch/md5.php?hash=$hash");
if ($resp->is_error) {
print "site nao responde";}
if ($resp -> content =~ /<string><!\[CDATA\[(.*)]]><\/string>/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://www.shell-storm.org\t";
$ua = LWP::UserAgent->new(); 
$ua->timeout( 60 );
$resp = $ua->post("http://www.shell-storm.org/md5/index.php",
      {  "summd5" => "$hash",
         "Submit" => "Decrypt" });
if (($resp -> content =~ /\[\+]Password  => (.*)<\/br> \[\+]Checksum/) && ($1 eq ""))
{
print "Hash nao pode ser encontrado\n";
} else {
print "Encontrado: $1\n";
} 
print "http://md5.hashcracking.com\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 );
$resp = $ua->get("http://md5.hashcracking.com/search.php?md5=$hash");
if ($resp -> content =~ /Cleartext of $hash is (.*)/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
print "http://www.md5.net/\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 ); 
$resp = $ua->post("http://www.md5.net/cracker.php",
      {  "hash"  => "$hash",
          "Crack" => "Crack" });
if (($resp -> content =~ /input type="text" id="hash" size="32" value="(.*)"\/>/) && ($1 =~ "Entry not found."))
{
print "Hash nao pode ser encontrado\n";
} else {
print "Encontrado: $1\n";
} 
print "http://xanadrel.99k.org/\t";
$ua = LWP::UserAgent->new();
$ua->timeout( 60 );
$resp = $ua->get("http://xanadrel.99k.org/hashes/api.php?hash=$hash");
if ($resp -> content =~ /<plain>(.*)<\/plain>/)
{
print "Encontrado: $1\n";
} else {
print "Hash nao pode ser encontrado\n";
} 
exit;
}
else {
 print "Isso não me parece um Hash md5, tente novamente.\n";
&searchhash;
}
}

Scripts recomendados

Crashing

Code que "brinca" com senhas

Multi Brute Force

script para encontrar verificar a vulnera bilidade RFI

Multi Security Scan


  

Comentários
[1] Comentário enviado por rainingblood em 16/09/2011 - 14:47h

Loco o Bagulho
legal pra testar se senhas pessoais já foram dicionarizadas


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts