[Perl Tk] MD5 Crack Tool

Iniciado por BigBear, Agosto 19, 2011, 11:28:03 PM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Agosto 19, 2011, 11:28:03 PM Ultima modificación: Marzo 14, 2015, 10:15:07 AM por Expermicid
Este es un simple crackeador de hashes MD5 en su nueva version grafica

Una imagen





El codigo es

Código: perl

#!usr/bin/perl
#MD5 Crack T00l (C) Doddy Hackman 2011

use Tk;
use Tk::FileSelect;
use Tk::PNG;
use LWP::UserAgent;


if ($^O eq 'MSWin32') {
use Win32::Console;
Win32::Console::Free();
}

my $nave = LWP::UserAgent->new;
$nave->agent("Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12");
$nave->timeout(5);

my $logo = MainWindow->new(-background=>"black",-foreground=>"cyan");
$logo->title("MD5 Crack T00l");
$logo->geometry("700x300+20+20");
$logo->resizable(0,0);

my $in = $logo->Photo(-file=>"total.png",-format=>"PNG");
$logo->Label(-image=>$in,-borderwidth=>0)->pack();


$logo->Label(-text=>"Options",-font=>"Impact1",-background=>"black",-foreground=>"cyan")->place(-x=>320,-y=>200);
$logo->Button(-text=>"Crack HAsh",-width=>20,-command=>\&single,-background=>"black",-foreground=>"cyan",-activebackground=>"cyan")->place(-y=>250,-x=>70);
$logo->Button(-text=>"Crack Wordlist",-width=>20,-command=>\&word,-background=>"black",-foreground=>"cyan",-activebackground=>"cyan")->place(-y=>250,-x=>210);
$logo->Button(-text=>"About",-width=>20,-command=>\&abot,-background=>"black",-foreground=>"cyan",-activebackground=>"cyan")->place(-y=>250,-x=>350);
$logo->Button(-text=>"Exit",-width=>20,-command=>\&chali,-background=>"black",-foreground=>"cyan",-activebackground=>"cyan")->place(-y=>250,-x=>490);


MainLoop;


sub abot {
msg("About","Coded By Doddy H");
}

sub chali {exit(1);}

sub single {

my $sin = MainWindow->new(-background=>"black");
$sin->title("MD5 Crack T00l (C) Doddy Hackman 2011");
$sin->geometry("650x80+20+20");
$sin->resizable(0,0);

$sin->Label(-text=>"MD5 : ",-font=>"Impact1",-background=>"black",-foreground=>"cyan")->place(-x=>30,-y=>20);
my $hash = $sin->Entry(-width=>32,-background=>"black",-foreground=>"cyan")->place(-y=>24,-x=>82);
$sin->Label(-text=>"Result : ",-font=>"Impact1",-background=>"black",-foreground=>"cyan")->place(-x=>290,-y=>20);
my $result = $sin->Entry(-width=>32,-background=>"black",-foreground=>"cyan")->place(-y=>24,-x=>350);
$sin->Button(-text=>"Crack",-command=>\&cracksingle,-width=>12,-background=>"black",-foreground=>"cyan",-activebackground=>"cyan")->place(-y=>22,-x=>555);

sub cracksingle {
my $target = $hash->get();
chomp $target;

if (ver_length($target)) {

$re = crackit($target);

if ($re ne "false01") {
$result->configure (-text =>$re);
} else {
$result->configure (-text =>"Not Found");
}
} else {
msg("MD5 Crack T00l","Hash incorrect");
}
}
}

sub word {

my $more = MainWindow->new(-background=>"black",-foreground=>"cyan");
$more->title("MD5 Crack T00l (C) Doddy Hackman 2011");
$more->geometry("450x280+50+50");
$more->resizable(0,0);

$more->Label(-text=>"File : ",-font=>"Impact1",-background=>"black",-foreground=>"cyan")->place(-y=>10,-x=>10);
my $filex = $more->Entry(-width=>40,-background=>"black",-foreground=>"cyan")->place(-y=>13,-x=>50);
$more->Button(-text=>"Crack",-width=>10,-command=>\&crackmulti,-background=>"black",-foreground=>"cyan",-activebackground=>"cyan")->place(-y=>12,-x=>300);
$more->Button(-text=>"Browse",-width=>10,-command=>\&bro,-background=>"black",-foreground=>"cyan",-activebackground=>"cyan")->place(-x=>370,-y=>12);

$more->Label(-text=>"MD5",-background=>"black",-foreground=>"cyan")->place(-y=>70,-x=>65);
my $hashes = $more->Listbox(-width=>32,-background=>"black",-foreground=>"cyan")->place(-y=>100,-x=>20);

$more->Label(-text=>"Result",-background=>"black",-foreground=>"cyan")->place(-y=>70,-x=>300);
my $resultados = $more->Listbox(-width=>32,-background=>"black",-foreground=>"cyan")->place(-y=>100,-x=>230);


sub bro {
$more->update;
$browse = $more->FileSelect(-directory => "/");
my $file = $browse->Show;
$filex->configure (-text =>$file);
}

sub crackmulti {

$hashes->delete(0.0,"end");
$resultados->delete(0.0,"end");

my $archivo = $filex->get();

open(FILE,$archivo);
@leer = <FILE>;
close FILE;

chomp @leer;

my @leera = repes(@leer);

for my $poco(@leera) {
chomp $poco;
if (ver_length($poco)) {
$hashes->insert("end",$poco);
$re = crackit($poco);
if ($re ne "false01") {
$resultados->insert("end",$re);
} else {
$resultados->insert("end","Not Found");
}
}
}
sub repes {
foreach $test(@_) {
push @limpio,$test unless $repe{$test}++;
}
return @limpio;
}
}
}

sub crackit {

my %hash = (
   
'http://passcracking.com/' => {
'tipo'  => 'post',
'variables'=>'{"datafromuser" => $_[0], "submit" => "DoIT"}',
'regex'=>'<\/td><td>md5 Database<\/td><td>$_[0]<\/td><td bgcolor=#FF0000>(.*)<\/td><td>',
},   
'http://md5.hashcracking.com/search.php?md5=' =>  {
'tipo' => 'get',
'regex' => 'Cleartext of $_[0] is (.*)',
},
'http://www.bigtrapeze.com/md5/' =>  {
'tipo' => 'post',
'variables'=>'{"query" => $_[0], "submit" => " Crack "}',
'regex' => 'The hash <strong>$_[0]<\/strong> has been deciphered to: <strong>(.+)<\/strong>',
},
'http://opencrack.hashkiller.com/' =>  {
'tipo' => 'post',
'variables'=>'{"oc_check_md5" => $_[0], "submit" => "Search MD5"}',
'regex' => qq(<\/div><div class="result">$_[0]:(.+)<br\/>),
},
'http://www.hashchecker.com/index.php?_sls=search_hash' =>  {
'tipo' => 'post',
'variables'=>'{"search_field" => $_[0], "Submit" => "search"}',
'regex' => '<td><li>Your md5 hash is :<br><li>$_[0] is <b>(.*)<\/b> used charl',
},
'http://victorov.su/md5/?md5e=&md5d=' =>  {
'tipo' => 'get',
'regex' => qq(MD5 ðàñøèôðîâàí: <b>(.*)<\/b><br><form action=\"\">),
}
);

for my $data(keys %hash) {
$logo->update; #
if ($hash{$data}{tipo} eq "get") {
$code = toma($data.$_[0]);
if ($code=~/$hash{$data}{regex}/ig) {
savefile("hashes-found.txt",$_[0].":".$1);
return $1;
}
} else {
$code = tomar($data,$hash{$data}{variables});
if ($code=~/$hash{$data}{regex}/ig) {
savefile("hashes-found.txt",$_[0].":".$1);
return $1;
}
}
}
return "false01";
}



sub msg {
my $color_fondo = "black"; #white
my $color_letra = "cyan"; #black
my ($titulo,$contenido) = @_;
my $mensaje = MainWindow->new(-background=>$color_fondo,-foreground=>$color_letra);$mensaje->title($titulo);
$mensaje->geometry("200x50+20+20");
$mensaje->resizable(0,0);
$mensaje->Label(-text=>$contenido,-font=>"Impact1",-background=>$color_fondo,-foreground=>$color_letra)->place(-y=>15,-x=>20);
}

sub ver_length {
return true if length($_[0]) == 32;
}

sub toma {
return $nave->get($_[0])->content;
}

sub savefile {
open (SAVE,">>logs/".$_[0]);
print SAVE $_[1]."\n";
close SAVE;
}

sub tomar {
my ($web,$var) = @_;
return $nave->post($web,[%{$var}])->content;
}

# ¿ The End ?


Para bajar el script con el logo lo pueden hacer de aca

Código: php

http://doddyhackman.webcindario.com/descargas/findpass.rar